五分钟带你玩转k8sk8s傻瓜式安装搭建nodes

Posted 小黄鸡1992

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五分钟带你玩转k8sk8s傻瓜式安装搭建nodes相关的知识,希望对你有一定的参考价值。

1.更改linux环境,关闭selinux等

swapoff -a  //关闭swap
setenforce 0 //临时关闭selinux

每台机器的以下内容不能相同

sudo cat /sys/class/dmi/id/product_uuid        //每台机器的uuid不能相同
ifconfig -a   //ip不能相同

端口不能占用  且需要开启 10250,8080,8443端口

sudo netstat -ntlp |grep -E '6443|23[79,80]|1025[0,1,2]'

如果你执行上述命令时,提示 command not found,请执行 sudo yum install net-tools

2.下载安装

首页可以来到github上查询自己想要的版本 官网地址;https://github.com/kubernetes/kubernetes/releases

这里楼主选择

//选择一个文件夹下载包
wget -q https://dl.k8s.io/v1.21.0/kubernetes-server-linux-amd64.tar.gz
//解压上面下载gz包
tar -zxf kubernetes-server-linux-amd64.tar.gz 
ls kubernetes
ls kubernetes/server/bin/ | grep -E 'kubeadm|kubelet|kubectl'
//将kubeadm kubectl kubelet 移动至 /usr/bin
mv kubernetes/server/bin/kube{adm,ctl,let} /usr/bin/
//查看文件
ls /usr/bin/kube*
//查看是否安装成功
kubeadm version
kubectl version --client
kubelet --version

3.新增配置

//新增kubelet.service文件并写入以下配置 直接复制粘贴即可
cat <<'EOF' > /etc/systemd/system/kubelet.service
[Unit]
Description=kubelet: The Kubernetes Agent
Documentation=http://kubernetes.io/docs/
 
[Service]
ExecStart=/usr/bin/kubelet
Restart=always
StartLimitInterval=0
RestartSec=10
 
[Install]
WantedBy=multi-user.target
EOF

//新增文件夹并新增文件
mkdir -p /etc/systemd/system/kubelet.service.d
cat <<'EOF' > /etc/systemd/system/kubelet.service.d/kubeadm.conf
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
EnvironmentFile=-/etc/default/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
EOF

4.kubelet开机启动

systemctl enable kubelet

5.修改启动组

修改docker启动组为systemd

cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF
systemctl restart docker

6.加入master

执行 以下命令是master init时候提供的 

kubeadm join 192.168.18.15:6443 --token ry0rwa.oly8kisb7ruceenx   --discovery-token-ca-cert-hash sha256:16928607989901f182d2f835fb12f450de6bd9e7571b84bf7a93408af917d5e3

修改kubelet启动组为systemd

vi /var/lib/kubelet/config.yaml

如果卡住情况为token失效

获取新token

kubeadm token create

执行以下命令

 export KUBECONFIG=/etc/kubernetes/kubelet.conf

7.安装flannel

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

如果出现Connecting to raw.githubusercontent.com refused,可以执行vi /etc/hosts 在后面添加199.232.96.133 raw.githubusercontent.com

 

这里楼主没有成功 出现以下错误

楼主的办法是将master的/opt/cni/bin/文件复制过来 放在nodes里面

如果看日志还有出现以下问题

楼主的办法是在此文件夹建立一个空的文件夹 就不会出现这个错误了

7.成功

执行

kubectl get nodes

出现

备注:如果systemctl启动失败可以使用以下命令查询错误信息

journalctl -xefu kubelet

 

以上是关于五分钟带你玩转k8sk8s傻瓜式安装搭建nodes的主要内容,如果未能解决你的问题,请参考以下文章

五分钟带你玩转k8s可视化界面Dashboard创建傻瓜式安装

五分钟带你玩转k8s搭建harbor

五分钟带你玩转k8s全网最全最新安装nodes方式,楼主亲测好用

五分钟带你玩转docker实战elk环境——kibana搭建

五分钟带你玩转docker实战elk环境——kibana搭建

五分钟带你玩转docker(十三)实战elk环境——logstash搭建