Kubernetes集群安装(kubeadm方式)
一、环境准备:
至少需要2台服务器,操作系统Centos7.6及以上版本,具体规划表如下:
序号 | 用途 | IP |
---|---|---|
1 | 管理节点 | 10.100.10.101 |
2 | 应用节点 | 10.100.10.201 |
二、服务器参数优化
1、关闭防火墙
临时停止:
# systemctl stop firewalld
禁用启动:
# systemctl disable firewalld
2、关闭selinux
临时关闭:
# setenforce 0
永久关闭 (/etc/sysconfig/selinux、/etc/selinux/config):
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
3、禁用交换分区
临时关闭:
# swapoff -a
修改配置永久禁用(/etc/fstab):
# sed -i 's/.*swap.*/#&/' /etc/fstab
4、内核参数优化
tcp连接/网桥过滤:
# cat <<EOF >>/etc/sysctl.conf
vm.swappiness = 0
kernel.sysrq = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
实时生效:
# sysctl -p
资源参数:
# cat <<EOF >>/etc/security/limits.conf
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
EOF
# sed -i "s|4096|unlimited|g" /etc/security/limits.d/20-nproc.conf
****** 以上修改完毕后最好重启服务器 ******
三、安装Docker(所有服务器)
1、yum管理工具安装
# yum install -y yum-utils
2、LVM逻辑卷支持
# yum install -y device-mapper-persistent-data lvm2
3、安装指定版本Docker
设置yum镜像源(使用阿里源):
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker(18.09)
# yum install -y docker-ce-18.09.9-3.el7
设置开机启动,并启动:
# systemctl enable docker && systemctl start docker
四、管理节点(10.100.10.101)安装
1、设置yum镜像源(使用阿里源):
# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
2、安装kubeadm、kubectl、kubelet
# yum install -y kubectl-1.16.0-0 kubeadm-1.16.0-0 kubelet-1.16.0-0
3、启动kubelet服务
# systemctl enable kubelet && systemctl start kubelet
4、kubeadm 初始化管理节点(记录初始化完成后加入集群token)
# kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.0 --apiserver-advertise-address 10.100.10.101 --pod-network-cidr=10.244.0.0/16 --token-ttl 0
需修改参数说明
–apiserver-advertise-address apiserver地址,指向管理节点IP,端口默认6443
–pod-network-cidr 集群中pod子网网段
–token-ttl 创建token,0表示创建永久token
5、系统用户配置集群权限(直接使用集群管理员用户):
# mkdir -p $HOME/.kube
# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
6、安装flannel组件(kube-flannel.yml文件):
# kubectl apply -f kube-flannel.yml
五、应用节点安装(10.100.10.201)
1、设置yum镜像源(使用阿里源):
# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
2、安装kubeadm、kubelet
# yum install -y kubeadm-1.16.0-0 kubelet-1.16.0-0
3、启动kubelet服务
# systemctl enable kubelet && systemctl start kubelet
4、加入集群
加入集群(此处token为管理节点初始化集群后生成的token):
# kubeadm join 10.100.10.101:6443 --token s7q889.j3lsi3i2n2h5v8kc --discovery-token-ca-cert-hash sha256:ba71effd5fe3fdd4efb66aebad01e0f3c8b38493c5a2d7ac4d4866c5be08216f
检查集群状态:
# kubectl get node