k8s集群的安装采坑记
k8s集群安装及踩坑记
掌握如何安装k8s集群
k8s集群作为云原生的基石。安装过程中也有着很多的坑。此次安装k8s分别为一个master节点和node1节点。
master节点的安装与配置
master节点是整个k8s集群中的核心,一般由一个主节点和两个从节点组成,以确保集群的高可用性。为了简单起见此次就采用一个节点安装。
安装所需环境
1.安装k8s集群需要修改本地解析hosts文件。并用scp传送到node1上。
2.关闭iptables,selinux,以及swap,
systemctl stop iptables setenforce 0 swapoff -a
也可以用如下方法关闭iptables并打开核心转发
#编辑文件 vim /etc/sysctl.conf #添加以下行 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 #立即生效 执行以下指令 sysctl -p
3.关闭swap
安装docker和k8s
因为Google在国内被墙的原因所以安装k8s要用国内的镜像源推荐使用阿里云家的网速快也可以用清华大学开源镜像站或者中科大的。
阿里云的开源镜像站链接:阿里云开源镜像站
找到docker和k8s的repo文件
然后yum安装docker和k8s
yum install docker-ce kubelet kubeadm kubectl -y
初始化配置k8s
因为k8s手动安装及其复杂,以此可以用kubeadm init 命令配置所需参数。
1.设置docker和k8s开机自启
systemctl enable docker kubelet
2.修改文件 /etc/sysconfig/kubelet
#编辑文件 vim /etc/sysconfig/kubelet #在后面添加 "--fail-swap-on=false"参数 KUBELET_EXTRA_ARGS="--fail-swap-on=false"
该选项用来忽略swap报警,关闭swap后也可以不用修改。
3.执行以下命令,配置k8s。因为无法访问Google的仓库所以我们访问的是阿里云在国内的仓库【registry.aliyuncs.com/google_containers】也可以访问【registry.cn-hangzhou.aliyuncs.com/google_containers】
kubeadm init --image-repository registry.aliyuncs.com/google_containers --ignore-preflight-errors=Swap
执行成功会出现success回显。复制kubeadm这串代码保存好。后续将node1节点加入k8s集群中会用到。官方推荐用一个非root账号启动k8s以此可以创建一个系统账户执行下列命令。
官方推荐用一个非root账号启动k8s以此可以创建一个系统账户执行下列命令。
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
执行如下命令:
kubectl get nodes
至此k8s集群master就安装好了!
4.报错处理
该命令会自动从仓库中pull我们所需要的镜像
如果初始化出错可以执行该命令重新拉取。
kubeadm reset rm -rf /var/lib/cni/ $HOME/.kube/config
这是pull后的镜像文件。其中flannel还要通过执行以下命令pull。
pull flannel 镜像。因为是国外网站速度极慢。慢慢等待。
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
node节点安装
环境准备
1.关闭selinux,iptables,swap。
yum安装docker和k8s
yum install docker-ce kubelet kubeadm -y
2.scp复制master上的文件kubelet
scp /etc/sysconfig/kubelet root@node1:/etc/sysconfig/
3.启动docker并设置为开机自启
systemctl start docker systemctl enable docker kubelet
4.将node节点添加到k8s集群中。
kubeadm join 192.168.2.50:6443 --token 9u6kdm.nwhzsmvbl60thjvu --discovery-token-ca-cert-hash sha256:b58cc2e25f9605637343a7f123cea218e272e6b6c58a402a18da14cfbc2ed056
这段代码随机生成。应该按照你生成的代码为例。
5.执行docker images
执行成功会显示:
6.在master节点上执行:
kubectl get nodes
总结
k8s作为云原生的基石掌握k8s集群的安装及故障处理是云计算运维工程师必备的。安装的复杂度也是比较高的。其中还有很多很多的坑等着你去踩。
难度 #####5颗星
Author logn
biu~
- [k8s]kubespray(ansible)自动化安装k8s集群
- 从零开始搭建k8s集群(一)虚拟机集群的安装
- 二进制安装Kubernetes(K8s)集群(踩的一个坑)
- 超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!
- k8s技术预研3--使用kubeadm安装、配置Kubernetes集群以及进行故障排查的方法
- [k8s]kubespray(ansible)自动化安装k8s集群
- 使用kubeadm安装k8s集群故障处理三则
- k8s学习(二)虚拟机centos7的k8s集群的dashboard安装(主节点中操作)
- centos7 下google Kubernetes(k8s)集群安装部署
- 跟Marko学习k8s--[3.2.1]安装配置Kubernetes集群单节点
- 在centos 7中安装配置k8s集群的步骤详解
- kubeadm快速安装k8s集群(1master+2node)
- Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)
- k8s集群使用kubeadm安装报错 v1.15.1
- k8s入门和集群安装
- kubernetes集群的学习——单节点k8s安装