1. Master主服务器配置
1.1 主服务器配置
kubeadm init --kubernetes-version=v1.14.1 --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
注意:复制
init
命令里 最后的join
命令,在子节点加入主节点集群时会被用到
1.2 设置全局变量
安装flannel网络组件
kubectl create -f kube-flannel.yml
1.3 配置开机启动
systemctl enable kubelet
1.4 排产问题节点
kubectl get nodes
#查看存在问题的pod
kubectl get pod --all-namespaces
注意:
coredns-xxx 长时间为 pending (请安装flannel网络组件)
长时间为 CrashLoopBackOff (可考虑以下两种问题)
1. 由于里面存在本地回环 如127.0.0.1或者127.0.0.53造成死循环
可删除对应IP 重启k8s服务 /etc/resolv.conf /run/systemd/resolve/resolv.conf /etc/systemd/resolved.conf
2. 由iptables规则的错乱或者缓存导致的,可以依次执行以下命令解决
systemctl stop kubelet
systemctl stop docker
iptables --flush
iptables -tnat --flush
systemctl start kubelet
systemctl start docker
kube-controller-manager-k8s-master 如长时间反复出现CrashLoopBackOff代表硬件不够,增加CPU与内存资源即可
2. 加入Node节点
获得 1.1 执行结果的
join
命令
kubeadm join 10.0.0.53:6443 --token ygqqxy.bixa44k4ye1bd7jp \
--discovery-token-ca-cert-hash sha256:61fe166b2fbe42fefc55a0910bfdf8d5cceb4d00a6302af01157e7e585c2c2b0
如果忘记 在Master 上执行
kubeadm token list
查看 ,在node上运行
kubeadm join 10.0.0.53:6443 --token aoeout.9k0ybvrfy09q1jf6 --discovery-token-unsafe-skip-ca-verification
kubectl get nodes
3. Master开启仪表盘
这里配置文件关闭了k8s认证系统,需要单独对32000端口进行防护
或者修改之前的配置文件开启防护
kubectl apply -f kubernetes-dashboard.yaml
kubectl apply -f admin-role.yaml
kubectl apply -f kubernetes-dashboard-admin.rbac.yaml
kubectl -n kube-system get svc
http://10.0.0.53:32000 访问