成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何用 Kubeadm 在 Debian 11 上安裝 Kubernetes 集群

系統 Linux
你是否在尋找一份在 Debian 11(Bullseye)上安裝 Kubernetes 集群的簡易指南?來看一下吧。

這份分步指南將向你展示如何使用 Kubeadm 工具在 Debian 11 上安裝 Kubernetes 集群。

Kubernetes(k8s)集群包含主控節點和工作節點,用于運行容器化的應用程序。主控節點作為控制平面,工作節點為實際工作負載提供環境。

前置條件:

  • 已安裝 Debian 11
  • 2 CPU / vCPU
  • 2 GB RAM
  • 20 GB 空閑硬盤空間
  • 有管理員權限的 sudo 用戶
  • 穩定的網絡連接

實驗環境配置:

在本文中,我使用了 3 個 Debian 11 系統的節點,配置如下

  • 主控節點(??k8s-master??) – 192.168.1.236
  • 工作節點 1(??k8s-worker1??) – 192.168.1.237
  • 工作節點 2(??k8s-worker2??) – 192.168.1.238

事不宜遲,我們直接進入安裝步驟。

1、設置主機名和更新 /etc/hosts 文件

在主控節點和工作節點上使用 ??hostnamectl?? 命令來設置主機名:

$ sudo hostnamectl set-hostname "k8s-master"       // 在主控節點運行$ sudo hostnamectl set-hostname "k8s-worker1"      // 在工作節點 1 運行$ sudo hostnamectl set-hostname "k8s-worker2"      // 在工作節點 2 運行

在所有節點的 ??/etc/hosts?? 文件末尾添加下面幾行內容:

192.168.1.236       k8s-master192.168.1.237       k8s-worker1192.168.1.238       k8s-worker2

2、在所有節點上關閉交換分區

我推薦關閉交換分區,以便更絲滑地使用 ??kubelet??。在所有節點上執行以下命令來關閉交換分區:

$ sudo swapoff -a$ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

3、配置 Kubernetes 集群相關的防火墻規則

如果你的操作系統防火墻是打開的,請分別在主控節點和工作節點允許以下的端口。

在主控節點,執行:

$ sudo ufw allow 6443/tcp$ sudo ufw allow 2379/tcp$ sudo ufw allow 2380/tcp$ sudo ufw allow 10250/tcp$ sudo ufw allow 10251/tcp$ sudo ufw allow 10252/tcp$ sudo ufw allow 10255/tcp$ sudo ufw reload

在工作節點,執行:

$ sudo ufw allow 10250/tcp$ sudo ufw allow 30000:32767/tcp$ sudo ufw reload

注意:如果你的 Debian 11 系統防火墻是關閉的,可以跳過此步驟。

4、在所有節點安裝 Containerd 運行時

Containerd 是容器運行時的行業標準,所有節點必須安裝 Containerd。

先在所有節點上配置如下的核心參數,再安裝 Containerd。

$ cat <<EOF | sudo tee /etc/modules-load.d/containerd.confoverlaybr_netfilterEOF$ sudo modprobe overlay$ sudo modprobe br_netfilter$ cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-k8s.confnet.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1net.bridge.bridge-nf-call-ip6tables = 1EOF

運行如下命令,以使上面的更改生效:

$ sudo sysctl --system

現在,在所有節點上運行如下 ??apt?? 命令來安裝 Conatinerd。

$ sudo apt  update$ sudo apt -y install containerd

在所有節點上運行如下命令來配置 Containerd:

$ containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1

在所有節點上設置 ??cgroupdriver?? 為 ??systemd??,編輯 ??/etc/containerd/config.toml?? 文件,找到 ??[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]?? 部分,添加一行內容:??SystemdCgroup = true??:

$ sudo vi /etc/containerd/config.toml

systemdCgroup-true-containerd-config-toml

systemdCgroup-true-containerd-config-toml

保存并退出文件。

在所有節點上重啟并啟用 ??containerd?? 服務:

$ sudo systemctl restart containerd$ sudo systemctl enable containerd

5、添加 Kubernetes Apt 庫

執行以下命令,添加 Kubernetes Apt 庫:

$ sudo apt install gnupg gnupg2 curl software-properties-common -y$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/cgoogle.gpg$ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

6、在所有節點上安裝 kubelet、kubectl 和 kubeadm

在所有節點上執行以下 ??apt?? 命令,安裝 Kubernetes 集群組件,如 ??kubelet??、??kubectl?? 以及 ??kubeadm??。

$ sudo apt update$ sudo apt install kubelet kubeadm kubectl -y$ sudo apt-mark hold kubelet kubeadm kubectl

7、使用 Kubeadm 創建 Kubernetes 集群

現在我們可以創建 Kubernetes 集群了,在主控節點上執行以下命令:

$ sudo kubeadm init --control-plane-endpoint=k8s-master

命令輸出:

Kubernetes-Control-Plane-Initialization-Debian11

Kubernetes-Control-Plane-Initialization-Debian11

出現以上內容,說明控制平面初始化成功。在輸出中,有普通用戶與集群交互的命令,也有把任何工作節點加入到集群的命令。

要開始與集群進行交互,請在主控節點上運行以下命令:

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

執行以下 ??kubectl?? 命令來獲取節點和集群的信息:

$ kubectl get nodes$ kubectl cluster-info

以上命令的輸出:

Nodes-Cluster-Info-Kubectl

Nodes-Cluster-Info-Kubectl

通過執行 ??kubeadm join?? 命令來把兩個工作節點加入到集群。

注意:請從 ??kubeadm init?? 命令的輸出中復制完整的命令。在我的例子中,命令如下:

$ sudo kubeadm join k8s-master:6443 --token ta622t.enl212euq7z87mgj \   --discovery-token-ca-cert-hash sha256:2be58f54458d0e788c96b8841f811069019161f9a3dd8502a38c773e5c6ead17

在工作節點 1 上的輸出如下:

Worker-Node1-Join-Kunernetes-Cluster

Worker-Node1-Join-Kunernetes-Cluster

在工作節點 2 上的輸出如下:

Worker-Node2-Join-Kubernetes-Cluster

Worker-Node2-Join-Kubernetes-Cluster

在主控節點上執行以下命令,檢查節點的狀態:

$ kubectl get nodesNAME          STATUS     ROLES           AGE     VERSIONk8s-master    NotReady   control-plane   23m     v1.25.0k8s-worker1   NotReady   <none>          9m27s   v1.25.0k8s-worker2   NotReady   <none>          2m19s   v1.25.0$

為了使節點狀態變為 ??ready??,我們需要安裝容器莢Pod網絡插件,如 Calico 或 flannel。

8、安裝 Calico Pod 網絡插件

在主控節點上執行以下命令安裝 Calico:

$ kubectl apply -f https://projectcalico.docs.tigera.io/manifests/calico.yaml

輸出:

Install-calico-pod-network-addon-debian11

Install-calico-pod-network-addon-debian11

在所有節點上執行以下命令,配置防火墻允許 Calico 的端口:

$ sudo ufw allow 179/tcp$ sudo ufw allow 4789/udp$ sudo ufw allow 51820/udp$ sudo ufw allow 51821/udp$ sudo ufw allow 4789/udp$ sudo ufw reload

執行以下命令檢查下 Calico 的狀態:

$ kubectl get pods -n kube-system

Calico-Pods-Status-Kuberenetes-Debian11

Calico-Pods-Status-Kuberenetes-Debian11

完美!現在再檢查下節點狀態:

Nodes-status-after-calico-Installation

Nodes-status-after-calico-Installation

非常棒!上面的輸出說明主控節點和工作節點的狀態都是 ??ready??。現在這個集群可以正常工作了。

9、檢查 Kubernetes 集群安裝是否正確

我們嘗試通過 ??deployment?? 命令來部署基于 Nginx 的應用程序,來驗證 Kubernetes 集群的安裝是否正確。執行以下命令:

$ kubectl create deployment nginx-app --image=nginx --replicas 2$ kubectl expose deployment nginx-app --name=nginx-web-svc --type NodePort --port 80 --target-port 80$ kubectl describe svc nginx-web-svc

以上命令的輸出:

Nginx-Based-App-Kubernetes-Cluster-Debian11

Nginx-Based-App-Kubernetes-Cluster-Debian11

使用以下的 ??curl?? 命令通過節點端口 30036 來訪問基于 nginx 的應用程序。

注意:在 ??curl?? 命令中,可以使用兩個工作節點任一的主機名。

$ curl http://k8s-worker1:30036

Access-Nginx-Based-App-via-NodePort-Kubernetes-Debian11

Access-Nginx-Based-App-via-NodePort-Kubernetes-Debian11

以上的輸出說明我們可以正常訪問基于 nginx 的應用程序了。

以上為全部內容。希望本文對你有用,參照本文可以在 Debian 11 上正常安裝 Kubernetes 集群。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2022-03-17 14:56:26

KubernetesMinikubeLinux

2022-12-27 08:51:31

WebDebian 11

2023-06-25 18:53:03

2024-03-01 19:03:14

kubernetesLinuxk8s

2019-09-08 17:04:00

DebianLinuxAnsible

2022-06-02 14:18:44

kubeadm云原生

2023-11-02 09:00:00

Kubernetes集群

2017-03-09 17:40:50

DebianUbuntuMariaDB

2022-03-24 14:11:25

KubernetesCitusPostgreSQL

2022-08-10 10:46:13

?CrossplanKubernete插件

2022-08-11 08:41:31

CrossplaneVCluster

2021-09-15 08:00:00

Windows 11Windows微軟

2023-03-30 09:17:42

KubesprayKubernetesLinux

2015-04-20 08:58:25

DHCPISC DHCP Se

2021-12-21 15:17:53

Kubernetes緩存Linux

2023-11-03 13:20:13

Kubernetes

2019-04-23 09:48:21

KubernetesPostgreSQL

2022-12-29 14:25:22

2011-09-07 11:07:03

ubuntuAnibg動態墻紙

2009-07-27 17:57:51

NovellSLESWindows
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99成人 | 成人国产精品久久 | 中文在线视频 | 密色视频 | 国产精品久久久久久久久免费相片 | 亚洲综合色视频在线观看 | 亚洲美乳中文字幕 | 成人免费激情视频 | 亚洲精品一区二区网址 | 国产视频在线观看一区二区三区 | 久久精品一区二 | 亚洲精品一区二区 | 日韩一区二区av | 一区二区三区在线播放视频 | 国产美女免费视频 | 99久久久久久99国产精品免 | 99久久夜色精品国产亚洲96 | 成年人视频在线免费观看 | 国产在线观看一区二区 | 欧美日韩中文字幕 | 日本人和亚洲人zjzjhd | 亚洲第一成人av | 特一级黄色毛片 | aa级毛片毛片免费观看久 | 亚洲www啪成人一区二区 | 国产在线精品一区二区三区 | 欧美中国少妇xxx性高请视频 | 亚洲精品福利视频 | 欧美一二三 | 成人免费淫片aa视频免费 | 午夜在线影院 | 伊人久久大香线 | 播放一级毛片 | 天堂亚洲网 | 亚洲品质自拍视频 | 国产黄色av网站 | 成人在线观看免费视频 | 黄色毛片一级 | 91精品国产91久久久久久不卞 | 成人天堂噜噜噜 | 日韩欧美视频免费在线观看 |