三台都做

关闭防火墙(三台都改)

禁用swap

更改三台主机上的主机名为 master、node1、node2 并在hosts文件中加入

配置内核转发功能和网桥过滤

加载模块

配置永久生效

应用配置

sysctl  --system

安装ipvs并加载模块

apt install -y ipset ipvsadm

配置加载模块

vim /etc/modules-load.d/ipvs.conf

编写并加载模块脚本

vim ipvs.sh

运行脚本

bash ipvs.sh

验证脚本是否生效

lsmod | grep ip_vs

更新系统

apt update

apt upgrade

(如果更新不了,报错连接不上可以更改apt仓库源)

/etc/apt/sources.list.d

vim ubuntu.sources

将图中的地方更改为 aliyun 即可

安装必要环境组件

apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

为 docker 添加验证公钥

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

添加docker仓库

add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

再次更新

apt update

apt upgrade

安装docker

apt-get install docker-ce docker-ce-cli containerd.io

查看版本

docker  -v

添加镜像加速器

cd /etc/docker/

vim daemon.json

{

 "registry-mirrors": [

   "https://docker.1ms.run",

   "https://dockerproxy.com",

   "https://hub.rat.dev"

 ]

}

保存退出后启动服务

systemctl  daemon-reload

systemctl restart docker

systemctl enable docker

systemctl status docker

查看加速器是否添加成功

docker info

拉取镜像测试

docker  pull  nginx

安装cri-docker

下载压缩包

wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.16/cri-dockerd-0.3.16.amd64.tgz

并将压缩包传到其他两台主机上

解压

tar xf cri-dockerd-0.3.16.amd64.tgz

移动文件到 /usr/local/bin 下

mv cri-dockerd/cri-dockerd  /usr/local/bin/

查看版本

cri-dockerd --version

为 cri-docker 添加 service 和 socke 文件

cd /etc/systemd/system/

vim cri-dockerd.service

[Unit]

Description=CRI Interface for Docker Application Container Engine

Documentation=https://docs.mirantis.com

After=network-online.target firewalld.service docker.service

Wants=network-online.target

Requires=cri-docker.socket  

[Service]

Type=notify

ExecStart =/usr/local/bin/cri-dockerd --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.10

--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --container-runtime-endpoint=unix:///var/run/cri-dockerd.sock --cri-dockerd-root-directory=/var/lib/dockershim --docker-endpoint=unix:///var/run/docker.sock --cri-dockerd-root-directory=/var/lib/docker

ExecReload=/bin/kill -s HUP $MAINPID

TimeoutSec=0

RestartSec=2

Restart=always

StartLimitBurst=3

StartLimitInterval=60s

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

TasksMax=infinity

Delegate=yes

KillMode=process

[Install]

WantedBy=multi-user.target

vim cri-docker.socket

[Unit]

Description=CRI Docker Socket for the API

PartOf=cri-dockerd.service 

[Socket]

ListenStream=/var/run/cri-dockerd.sock

SocketMode=0660

SocketUser=root

SocketGroup=docker

[Install]

WantedBy=sockets.target

重启服务

systemctl daemon-reload

systemctl enable cri-dockerd.service

systemctl  restart cri-dockerd.service

验证

ls /var/run | grep docker

安装和部署k8s

apt-get  update

apt-get install -y apt-transport-https ca-certificates curl gpg

添加公共签名密钥

mkdir -p -m 755 /etc/apt/keyrings  (此处文件夹本身有 查看权限即可)

ls -ld /etc/apt/keyrings

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

查看

ls /etc/apt/sources.list.d/

更新源

apt update

安装相关软件

apt-get install -y kubelet kubeadm kubectl

配置 kubelet

vim /etc/default/kubelet

KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"

设置开机自启动

systemctl enable kubelet

查看版本

kubelet --version

在主机点上做

在主节点上初始化

kubeadm init \

--kubernetes-version=1.32.11 \

--apiserver-advertise-address=192.168.186.20 \

--pod-network-cidr=10.244.0.0/16 \

--service-cidr=10.96.0.0/12 \

--image-repository=registry.aliyuncs.com/google_containers \

--cri-socket=unix:///var/run/cri-dockerd.sock \

--upload-certs \

--v=9

如出现如下提示说明正确

安上面提示要求执行如下三条命令

  mkdir -p $HOME/.kube

  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  chown $(id -u):$(id -g) $HOME/.kube/config

  kubectl get nodes

在其他两台节点上输入命令加入集群

     kubeadm join 192.168.20.82:6443 --token yosnfq.lx91s1tlsm4wuk8o       --discovery-token-ca-cert-hash sha256:735ffb299d85f6a04dc85e4819ab2e918c430c7da1cbaee8a85811245ca1ab40  --cri-socket unix:///var/run/cri-dockerd.sock

注意: 最后背景有颜色的是固定要加的 上面是按照成功后的提示输入的

完成后正确的是在主节点上使用  

   kubectl get nodes

   在主节点上添加网络

    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

k8s 部署完毕。

更多推荐