掌握如何安装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~

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐