K8S环境安装部署

安装 kubeadm | Kubernetes

查看三台主机的uuid

第一台

root@server1:~# sudo cat /sys/class/dmi/id/product_uuid

第一台

第二台

第三台

注意:三台主机名要不同-

编辑配置文件

root@server1:~# vim /etc/hosts

添加:

拷贝配置文件到 server2 server3

root@server1:~# scp /etc/hosts server2:/etc

root@server1:~# scp /etc/hosts server3:/etc

因为要放行的端口太多 所以直接关闭防火墙

root@server1:~# systemctl stop ufw && systemctl disable ufw

 root@server2:~#  systemctl stop ufw && systemctl disable ufw

root@server3:~# systemctl stop ufw && systemctl disable ufw

关闭swap分区 (三台)

root@server1:~# vim /etc/sysctl.conf

添加修改:

root@server1:~# sysctl  –p

注释掉swap分区

root@server1:~# vim /etc/fstab

关闭swapoff (临时)

root@server1:~# swapoff –a

删掉docker引擎 (三台)

root@server1:~# apt remove docker*

root@server1:~# systemctl stop docker && systemctl disable docker

 

安装containerd(三台)

root@server1:~# apt install containerd.io

添加ipvs规则(三台)

root@server1:~# mkdir -p /etc/sysconfig/modules

root@server1:~# vim /etc/sysconfig/modules/ipvs.modules

添加:

modprobe -- ip_vs

modprobe -- ip_vs_rr

modprobe -- ip_vs_wrr

modprobe -- ip_vs_sh

modprobe -- nf_conntrack

root@server1:~# scp /etc/sysconfig/modules/ipvs.modules server2:/etc/sysconfig/modules/

root@server1:~# scp /etc/sysconfig/modules/ipvs.modules server3:/etc/sysconfig/modules/

root@server1:~# bash /etc/sysconfig/modules/ipvs.modules

查看加载模块

root@server1:~# lsmod | grep -e ip_vs -e nf_conntrack

root@server1:~# modprobe overlay

root@server1:~# modprobe br_netfilter

生成默认文件(三台)

root@server1:~# containerd config default

替换到刚刚生成的这个文件(三台)

root@server1:~# containerd config default | sudo tee /etc/containerd/config.toml

然后取修改配置文件(三台)

root@server1:~# vim /etc/containerd/config.toml

修改为阿里云地址

sandbox_image = "registry.aliyuncs.com/google-containers/pause:3.6"4

 

重启,查看一下containerd.service的状态

root@server1:~# systemctl restart containerd.service

root@server1:~# systemctl status containerd.service

root@server1:~#  systemctl enable containerd

root@server1:~# ss -anput | grep containerd

安装kubernetes(三台)

进入到阿里云镜像站 进行

kubernetes镜像-kubernetes下载地址-kubernetes安装教程-阿里巴巴开源镜像站 (aliyun.com)

root@server1:~# apt-get update && apt-get install -y apt-transport-https

root@server1:~# curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

root@server1:~# cat <<EOF >/etc/apt/sources.list.d/kubernetes.list

deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

EOF

root@server1:~# apt-get update

root@server1:~# apt-get install -y kubelet kubeadm kubectl

配置kubernetes(三台)

root@server1:~#  source <(kubeadm completion bash)

root@server1:~# source <(kubectl completion bash)

root@server1:~# source <(crictl completion bash)

配置永久生效(三台)

root@server1:~# vim .bashrc

最底部添加:

 

 root@server1:~#  ll /run/containerd/containerd.sock

root@server1:~# crictl config runtime-endpoint unix:///run/containerd/containerd.sock

修改配置文件

root@server1:~# vim /etc/crictl.yaml

修改:

runtime-endpoint: unix:///run/containerd/containerd.sock

image-endpoint: unix:///run/containerd/containerd.sock

timeout: 10

debug: false

pull-image-on-create: false

disable-pull-on-run: false

 root@server1:~# crictl config runtime-endpoint unix:///run/containerd/containerd.sock

以修改配置文件的方式初始化

root@server1:~# kubeadm config print init-defaults > init.yaml

root@server1:~# vim init.yaml

registry.aliyuncs.com/google_containers

进行初始化

root@server1:~# kubeadm init --config=init.yaml

root@server1:~# mkdir -p $HOME/.kube

root@server1:~#  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

root@server1:~#  sudo chown $(id -u):$(id -g) $HOME/.kube/config

root@server1:~#  export KUBECONFIG=/etc/kubernetes/admin.conf

下载一个网络

Install Calico networking and network policy for on-premises deployments (tigera.io)

root@server1:~# curl https://projectcalico.docs.tigera.io/manifests/calico.yaml -O

 root@server1:~# vim calico.yaml

root@server1:~# kubectl apply -f calico.yaml

 

(Ip地址换了,但是问题不大)

后两台加入群集:

root@server2:~# kubeadm join 192.168.0.143:6443 --token abcdef.0123456789abcdef \

>         --discovery-token-ca-cert-hash sha256:df70bd2121dac5b7badce8874a161f5becd71a5cd45ad60f91f2e2eee5c6b3de

root@server3:~# kubeadm join 192.168.0.143:6443 --token abcdef.0123456789abcdef \

>         --discovery-token-ca-cert-hash sha256:df70bd2121dac5b7badce8874a161f5becd71a5cd45ad60f91f2e2eee5c6b3de

 

查看namespaces下载

root@server1:~# kubectl get pod --all-namespaces

 root@server2:~# kubectl get nodes

猜你喜欢

转载自blog.csdn.net/weixin_53053517/article/details/129983073