Kubernetes-安装

初始化

hostnamectl set-hostname k8s-node

modprobe overlay
modprobe br_netfilter

cat <<EOF> /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

cat <<EOF> /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

cat <<EOF>> /etc/hosts
192.168.10.242 k8s-master
192.168.10.245 k8s-node1
192.168.10.246 k8s-node2
192.168.10.247 k8s-node3
EOF

sysctl --system

systemctl stop firewalld
systemctl disable firewalld
systemctl unmask firewalld

安装Containerd

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf update
dnf install -y containerd

配置Containerd

mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml

重启containerd

systemctl daemon-reload
systemctl restart containerd
systemctl enable --now containerd
systemctl status containerd

安装kubeadm

cat <<EOF>/etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF

dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

systemctl enable --now kubelet

master节点执行

kubeadm init \
--apiserver-advertise-address=192.168.10.242 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16

执行成功

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf

将其他node加入集群

在其他节点执行

kubeadm join 192.168.10.242:6443 --token ijblbd.bmnaf8xcl38iwxbz \
	--discovery-token-ca-cert-hash sha256:1d76ad35d2d95c6b381ada3d03b15f230201e9e0af41db4db33700d7de604e1d

部署CNI网络组件

wget https://docs.projectcalico.org/manifests/calico.yaml

- 修改IPV4POOL地址

kubectl create -f calico.yaml