分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

kubernetes集群安装部署

发布时间:2023-09-06 02:03责任编辑:胡小海关键词:kubernetes
部署环境说明:

        1、CENTOS 7.4

        2、Docker version 17.05.0

        3、etcd Version: 3.3.8

        4、flannel-v0.10.0

node节点上运行:

Kubelet

kube-proxy

Docker

flannel

MASTER节点上运行:

Etcd

flannel

kube-apiserver

kube-controller-manager

kube-scheduler

IP    Address

Role

CPU

Memory

192.168.1.10

K8s-Master1

2C

2G

192.168.1.20

K8s-node1

2C

2G

192.168.1.30

K8s-node2

2C

2G

修改各主机的hosts文件: 


1、安装操作系统,选择最小化安装,安装完成后yum相关包如下:

yum -y install wget ntpdate bind-utils iptables-services

关闭firewall

# systemctl stop firewalld.service #停止firewall

# systemctl disable firewalld.service #禁止firewall开机启动

# systemctl start iptables.service #重启防火墙

# systemctl enable iptables.service #设置防火墙开机启动

#iptables -A INPUT -p tcp --dport 4001 -m state --state new -j ACCEPT

#iptables -A INPUT -p tcp --dport 2379 -m state --state new -j ACCEPT

#iptables -A INPUT -p tcp --dport 2380 -m state --state new -j ACCEPT

关闭selinux

#setenforce 0

[root@localhost ~]# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config

2、安装etcd 

git地址:https://github.com/coreos/etcd/releases/

etcd中文文档:http://etcd.doczh.cn/documentation/

下载安装包:https://github.com/coreos/etcd/releases/download/v3.3.8/etcd-v3.3.8-linux-amd64.tar.gz

#tar -zxvf etcd-v3.3.8-linux-amd64.tar.gz

#ln -s etcd-v3.3.8-linux-amd64 etcd

#cd etcd

#cp etcd* /bin/

#etcd --version #确认是否可以使用

#mkdir /etc/etcd # 创建etcd配置文件目录

编辑etcd配置文件:vim /etc/etcd/etcd.conf修改下面的内容,nodes节点上按照IP地址进行相应修改,

Node2节点,相应的修改node3节点

检查集群健康状态:etcdctl –endpoints http://192.168.1.10:2379 cluster-health

检查etcd集群的节点情况以及查看那台是leader节点

Etcdctl –endpoints http://192.168.1.10:2379 member list

3、安装kubernetes    yum install kubernetes     (master、nodes都需要安装)

        安装完成后可以修改配置文件:

        配置文件在/etc/kubernetes目录下,MASTER上需要修改apiserver  config两个配置文件,如果多个集群还需要修改controller-manager:

        Config配置中可以定义日志以及是否有特权访问主机上的硬件 --allow-privileged 主要设置KUBE_MASTER 以及KUBE_ETCD_SERVERS

KUBE_LOGTOSTDERR定义将错误日志记录到stderr或者在文件中记录

KUBE_LOG_LEVEL定义日志级别

KUBE_ALLOW_PRIV是否允许运行特权容器。

apiserver配置文件如下,其中KUBE_API_ARGS项,可配置安全证书,没有可忽略

apiserver中配置KUBE_API_ADDRESS、KUBE_API_PORT、KUBE_SERVICE_ADDRESSES

在node节点上主要配置kubelet配置文件 KUBELET_ADDRESS、KUBELET_PORT、KU证忽略书BELET_HOSTNAME、KUBELET_API_SERVER

5、安装、配置flannel  下载地址 https://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd64.tar.gz

下载解压后主要有flanneld、mk-docker-opts.sh这两个文件,其中flanneld为主要的执行文件,sh脚本用于生成Docker启动参数。

需要将flanneld拷贝到/usr/bin 目录下,启动时调用。

所有服务器上配置vim /usr/lib/systemd/system/flanneld.service

所有服务器编辑配置文件/etc/sysconfig/flanneld,并且设置etcd的地址。

在etcd中添加一条网络配置记录,这个配置将用于flanneld分配给每个docker的虚拟IP地址段,根据需要修改DOCKER的网络地址段。

etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }' 

注意:flanneld将覆盖docker0网桥,如果docker服务已经启动,需要停止docker服务。

启动flanneld服务

systemctl restart flannel

设置docker0网桥的ip地址

source /run/flannel/subnet.env

ifconfig docker0 ${FLANNEL_SUBNET}

完成后确认网络接口docker0的IP地址属于flannel0的子网

[root@kubernets-node2 ~]# ip a

6、启动kubernetes\etcd\flannel\docker

        master节点上启动 etcd(也可以单独部署) flannel  systemctl start kube-apiserver 、kube-controller-manager、kube-scheduler

        也可以写成脚本来启动:

        for master in etcd flanneld kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $master; done

      node节点上启动 systemctl start flannel kube-proxt 、 systemctl start kubelet、 systemctl start docker

        for node in etcd flanneld kube-proxy kubelet docker;do systemctl restart $node;done

7、验证kubernetes集群是否正常

        kubectl get nodes  获取所有节点信息

       

        [root@localhost kubernetes]# kubectl cluster-info 

kubectl describe node d8s-node1  获取详细的节点信息,包括该节点的系统配置、CPU、内存、可以创建的pods数量

    kubectl get namespace

       


kubernetes集群安装部署

原文地址:http://blog.51cto.com/333324/2140091

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved