k8s的部署
三台都做
关闭防火墙(三台都改)
![]()
![]()
![]()
禁用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": [
]
}
保存退出后启动服务
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 部署完毕。
更多推荐
所有评论(0)