Kubernets初始环境安装
一、关闭Selinux,打开文件/etc/sysconfig/selinux,找到SELINUX=xxxxxx,如下图红框所示,将其改为SELINUX=disabled二、设置:iptablescat <<EOF >/etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.br...
一、关闭Selinux,打开文件/etc/sysconfig/selinux,找到SELINUX=xxxxxx,如下图红框所示,将其改为SELINUX=disabled
二、设置:iptables
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
三、关闭swap
执行如下命令关闭当前swap
swapoff -a
然后再打开文件/etc/fstab,用#注释掉swap有关的一行。
四、开放端口(或者直接关闭防火墙)
Master node 开放端口
firewall-cmd --add-masquerade --permanent
firewall-cmd --zone=public --add-port=6443/tcp --permanent
firewall-cmd --zone=public --add-port=2379-2380/tcp --permanent
firewall-cmd --zone=public --add-port=10250-10252/tcp --permanent
firewall-cmd --zone=public --add-port=8285/udp --permanent
firewall-cmd --zone=public --add-port=8472/udp --permanent
firewall-cmd --reload
Worker node开放端口
firewall-cmd --add-masquerade --permanent
firewall-cmd --zone=public --add-port=10250/tcp --permanent
firewall-cmd --zone=public --add-port=30000-32767/tcp --permanent
firewall-cmd --zone=public --add-port=8285/udp --permanent
firewall-cmd --zone=public --add-port=8472/udp --permanent
firewall-cmd --reload
最后可以查看下端口开放状态
firewall-cmd --zone=public --list-ports
五、安装Docker(这里要删除旧版本Docker)
yum remove docker*
yum install yum-utils device-mapper-persistent-data lvm2
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce-18.06.2.ce
systemctl enable docker && systemctl start docker
如果是旧的Docker使用过再升级,docker-ce有可能会启动不了,需要删除旧的Docker文件,再重新启动就好了。
rm /etc/docker/key.json
rm -rf /var/lib/docker/
六、安装Kubernets
首先安装ipvs支持
yum install ipset ipvsadm conntrack-tools.x86_64 -y
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe ip_vs
lsmod | grep ip_vs
cat <<EOF > /etc/sysconfig/modules/ipvs.modules
#!/bin/sh
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe ip_vs
EOF
添加仓库 /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
安装
yum install -y kubelet kubeadm kubectl && systemctl enable kubelet && systemctl start kubelet
七、初始化Master及安装Pod Network(只在master节点执行)
kubeadm init \
--kubernetes-version=v1.15.2 \
--pod-network-cidr=10.244.0.0/16
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
初始化完成后需要执行如下命令配置环境
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
并且记录下join命令用于添加node
kubeadm join 192.168.1.61:6443 --token sbhvha.2k21emm2n2i4yhmj \
--discovery-token-ca-cert-hash sha256:d8a8217eeb0bc465ef755174f5a6e16b41e426bd2ba95be921d847788af06567
如果忘记Token和Hash,可以使用以下命令重新获取
kubeadm token list
kubeadm token create
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
常用命令和操作
1、删除Node
Master节点
kubectl drain k8s-node-a --delete-local-data --force --ignore-daemonsets
kubectl delete node k8s-node-a
Node节点
kubeadm reset
查看相关日志
journalctl -f -u kubelet
kubectl --namespace kube-system logs kube-flannel-ds-amd64-r69nb
注意事项和“坑”
1、由于要使用Google的仓库,所以上述安装需要科学上网条件(或使用国内节点),所有节点机器都如上安装Docker、kubelet、 kuberadm和kubectl 。
2、我所使用的系统是yum -y upgrade后的最新系统(CentOS Linux release 7.5.1804 (Core)),说明新系统是支持的。
3、使用的Docker-CE完成了kubeadm init,默认Docker 1.13.1不能完成初始化,不知道是否兼容问题或者说是1.13使用systemd作CgroupDriver(确认两边同时用systemd也不行),未验证。init过程中journalctl -fu kubelet输出各种错误是正常的,init成功后错误输出就没了,这个问题开始不知道,init不成功总想从输出中找出问题所在,看了很多资料都没解决,白白耽误了2天,最后根据K8s官网的CRI安装指南安装了Docker-CE,就没问题了。
4、还有一个比较奇怪的问题,切换到Docker-CE后,reset、init了两次才成功,其中未作任何修改。
5、Kubernetes官网安装文档需要创建以下配置文件,但是创建后无法启动Docker,可能这个配置不适合我的系统,不能用systemd。
/etc/docker/daemon.json
参考:
Installing kubeadm | Kubernetes
CentOS7环境部署kubenetes1.12版本五部曲之一:标准化机器_程序员欣宸的博客-CSDN博客
以上为实际操作记录,用于备忘和与大家共享,有问题请留言讨论。
最后更新日期:2019-10-11
更多推荐
所有评论(0)