Kubernetes集群1.26.2部署

1)機(jī)器準(zhǔn)備

機(jī)器配置建議:
環(huán)境 2C4G 50G


table.png
準(zhǔn)備工作(三臺(tái)機(jī)器都操作)

關(guān)閉防火墻
systemctl stop firewalld
systemctl disable firewalld

關(guān)閉SeLinux
setenforce 0 當(dāng)次有效
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 永久生效

關(guān)閉swap
swapoff -a 當(dāng)次有效
yes | cp /etc/fstab /etc/fstab_bak

vi /etc/fstab #注釋下面這swap一行就,永久生效

#/dev/mapper/centos-swap swap

設(shè)置主機(jī)名
nmtui或vi /etc/hostname

設(shè)置/etc/hosts
vi /etc/hosts
192.168.222.101 aminglinux01
192.168.222.102 aminglinux02
192.168.222.103 aminglinux03

將橋接的ipv4流量傳遞到iptables鏈

modprobe br_netfilter   ##生成bridge相關(guān)內(nèi)核參數(shù)

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system # 生效

打開(kāi)端口轉(zhuǎn)發(fā)
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

時(shí)間同步
yum install -y chrony;
systemctl start chronyd;
systemctl enable chronyd

2)安裝containerd(三個(gè)節(jié)點(diǎn)上操作)

先安裝yum-utils工具
yum install -y yum-utils

配置Docker官方的yum倉(cāng)庫(kù),如果做過(guò),可以跳過(guò)

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安裝containerd
yum install containerd.io -y

啟動(dòng)服務(wù)
systemctl enable containerd
systemctl start containerd

生成默認(rèn)配置
containerd config default > /etc/containerd/config.toml

修改配置
vi /etc/containerd/config.toml

sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.8"   # 修改為阿里云鏡像地址
SystemdCgroup = true                                                              # 使用systemd cgroup

重啟containerd服務(wù)
systemctl restart containerd

3)配置kubernetes倉(cāng)庫(kù)(三個(gè)節(jié)點(diǎn)都操作)

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
說(shuō)明:kubernetes用的是RHEL7的源,和8是通用的

4)安裝kubeadm和kubelet(三個(gè)節(jié)點(diǎn)都操作)

查看所有版本
yum --showduplicates list kubeadm
安裝1.26.2版本
yum install -y kubelet-1.26.2 kubeadm-1.26.2 kubectl-1.26.2

啟動(dòng)kubelet服務(wù)
systemctl start kubelet.service
systemctl enable kubelet.service

5)設(shè)置crictl連接 containerd(三個(gè)節(jié)點(diǎn)都操作)

crictl config --set runtime-endpoint=unix:///run/containerd/containerd.sock

6)初始化(master上)

kubeadm init --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --apiserver-advertise-address=192.168.222.101 --kubernetes-version=v1.26.2  --service-cidr=10.15.0.0/16  --pod-network-cidr=10.18.0.0/16

7)創(chuàng)建目錄(master)

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

獲取節(jié)點(diǎn)信息:
kubectl get node
kubectl get pod --all-namespaces

8)node節(jié)點(diǎn)上加入master(兩個(gè)都執(zhí)行)

kubeadm join 192.168.222.101:6443 --token 2p7l35.z78ulkjyqbpckkx5 --discovery-token-ca-cert-hash sha256:4b2b7f20e32055fd8ab034ce3f6bbe90afcd248f438a8ce3745cba2463aba3b5

9)安裝calico網(wǎng)絡(luò)(master節(jié)點(diǎn)上)

curl https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml -O

下載完后還需要修改??定義 Pod ?絡(luò)(CALICO_IPV4POOL_CIDR),與前? kubeadm init 的 --podnetwork-cidr 指定的?樣
vi calico.yaml
vim calico.yaml

# - name: CALICO_IPV4POOL_CIDR
# value: "192.168.0.0/16"
# 修改為:
- name: CALICO_IPV4POOL_CIDR
  value: "10.18.0.0/16"

部署
kubectl apply -f calico.yaml

查看
kubectl get pods -n kube-system

10) 在K8s里快速部署一個(gè)應(yīng)用

1)創(chuàng)建deployment
kubectl create deployment testdp --image=nginx:1.23.2 ##deploymnet名字為testdp 鏡像為nginx:1.23.2

2)查看deployment
kubectl get deployment

3)查看pod
kubectl get pods

4)查看pod詳情
kubectl describe pod testdp-786fdb4647-pbm7b

5)創(chuàng)建service,暴漏pod端口到node節(jié)點(diǎn)上
kubectl expose deployment testdp --port=80 --type=NodePort --target-port=80 --name=testsvc

6)查看service
kubectl get svc

testsvc NodePort 10.15.232.70 <none> 80:32503/TCP
可以看到暴漏端口為一個(gè)大于30000的隨機(jī)端口,瀏覽器里訪問(wèn) 192.168.222.101:32503


image.png

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容