一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Kubeadm命令在PetaExpress Ubuntu系統(tǒng)上安裝Kubernetes集群

jf_57681485 ? 來源:jf_57681485 ? 作者:jf_57681485 ? 2024-07-15 13:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Kubernetes,通??s寫為K8s,是一個(gè)開源的容器編排平臺(tái),旨在自動(dòng)化容器化應(yīng)用的部署、擴(kuò)展和管理。有了Kubernetes,您可以輕松地部署、更新和擴(kuò)展應(yīng)用,而無需擔(dān)心底層基礎(chǔ)設(shè)施。

一個(gè)Kubernetes集群由控制平面節(jié)點(diǎn)(master節(jié)點(diǎn))和工作節(jié)點(diǎn)(worker節(jié)點(diǎn))組成。確保集群的高效運(yùn)行和管理的順暢進(jìn)行。我們通常在工作節(jié)點(diǎn)上運(yùn)行應(yīng)用工作負(fù)載,而控制平面節(jié)點(diǎn)作為控制平面,用于管理集群中的工作節(jié)點(diǎn)和Pod。

前提條件

首先我們需要準(zhǔn)備一臺(tái)云服務(wù)器,我是在PetaExpress領(lǐng)了一臺(tái)免費(fèi)的云服務(wù)器,https://cn.petaexpress.com,文章結(jié)尾告訴你申請(qǐng)步驟。

在本指南中,我們使用一臺(tái)控制平面節(jié)點(diǎn)和兩臺(tái)工作節(jié)點(diǎn)。以下是每個(gè)節(jié)點(diǎn)的系統(tǒng)要求:

· 安裝了最小化的Ubuntu 22.04

· 最少2GB內(nèi)存或更多

· 至少2個(gè)CPU核心或2個(gè)vCPU

· /var上至少有20GB的可用磁盤空間

· 具有管理員權(quán)限的Sudo用戶

· 每個(gè)節(jié)點(diǎn)都有可以互通

·

wKgaomaUsqyADbxmAAETUApXpYI091.pngwKgZomaUtB2ARGMAAAGLA5565QQ577.jpg

實(shí)驗(yàn)設(shè)置

· 控制平面節(jié)點(diǎn):172.20.0.2– k8smaster.example.net

· 第一工作節(jié)點(diǎn):172.20.0.3 – k8sworker1.example.net

· 第二工作節(jié)點(diǎn):172.20.0.4 – k8sworker2.example.net

1)設(shè)置每個(gè)節(jié)點(diǎn)的主機(jī)名

登錄到PetaExpress控制平面節(jié)點(diǎn)并通過hostnamectl命令設(shè)置主機(jī)名:

$ sudo hostnamectl set-hostname "k8smaster.example.net"

$ exec bash

在工作節(jié)點(diǎn)上,運(yùn)行:

$ sudo hostnamectl set-hostname "k8sworker1.example.net" // 第一工作節(jié)點(diǎn)

$ sudo hostnamectl set-hostname "k8sworker2.example.net" // 第二工作節(jié)點(diǎn)

$ exec bash

在每個(gè)節(jié)點(diǎn)的 /etc/hosts 文件中添加以下行:

172.20.0.2 k8smaster.example.net k8smaster

172.20.0.3 k8sworker1.example.net k8sworker1

172.20.0.4 k8sworker2.example.net k8sworker2

2)禁用交換分區(qū)并添加內(nèi)核參數(shù)

執(zhí)行以下swapoff和sed命令以禁用交換分區(qū)。確保在所有節(jié)點(diǎn)上運(yùn)行以下命令:

$ sudo swapoff -a

$ sudo sed -i '/ swap / s/^.?.?$/#1/g' /etc/fstab

在所有節(jié)點(diǎn)上加載以下內(nèi)核模塊:

$ sudo tee /etc/modules-load.d/containerd.conf <

overlay

br_netfilter

EOF

$ sudo modprobe overlay

$ sudo modprobe br_netfilter

為Kubernetes設(shè)置以下內(nèi)核參數(shù),運(yùn)行以下tee命令:

$ sudo tee /etc/sysctl.d/kubernetes.conf <

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

EOT

重新加載上述更改,運(yùn)行:

$ sudo sysctl --system

3)安裝Containerd run time

在本指南中,我們使用Containerd作為Kubernetes集群的run time。因此,要安裝Containerd,首先安裝其依賴項(xiàng):

$ sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates

啟用Docker倉庫:

$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg

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

現(xiàn)在,運(yùn)行以下apt命令以安裝Containerd:

$ sudo apt update

$ sudo apt install -y containerd.io

配置Containerd以便其使用systemd作為cgroup:

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

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

重啟并啟用Containerd服務(wù):

$ sudo systemctl restart containerd

$ sudo systemctl enable containerd

4)添加Kubernetes的Apt倉庫

Kubernetes包在默認(rèn)的Ubuntu 20.04包倉庫中不可用。因此,我們需要添加Kubernetes倉庫。運(yùn)行以下命令以下載公共簽名密鑰:

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

接下來,運(yùn)行以下echo命令以添加Kubernetes apt倉庫:

$ echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list

5)安裝Kubectl、Kubeadm和Kubelet

添加倉庫后,在所有節(jié)點(diǎn)上安裝Kubernetes組件,如kubectl、kubelet和kubeadm工具。執(zhí)行以下命令:

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

6)在Ubuntu 22.04上安裝Kubernetes集群

現(xiàn)在,我們已經(jīng)準(zhǔn)備好初始化Kubernetes集群。僅在控制平面節(jié)點(diǎn)上運(yùn)行以下kubeadm命令:

$ sudo apt update

$ sudo apt install -y kubelet kubeadm kubectl

$ sudo apt-mark hold kubelet kubeadm kubectl

上述命令的輸出:

wKgaomaUsraATggMAACbUoPIiPE657.pngwKgaomaUtB6AJ4QRAACIk33xXCk520.jpg

初始化完成后,您將看到一條包含如何將工作節(jié)點(diǎn)加入集群的指令的信息。請(qǐng)記錄下kubeadm join命令以供將來參考。

因此,要開始與集群交互,請(qǐng)?jiān)诳刂破矫婀?jié)點(diǎn)上運(yùn)行以下命令:

$ mkdir -p $HOME/.kube

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

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

接下來,嘗試運(yùn)行以下kubectl命令以查看集群和節(jié)點(diǎn)狀態(tài):

$ kubectl cluster-info

$ kubectl get nodes

輸出:

wKgZomaUsr2AKKWrAAA8bJZq1mE937.png


wKgZomaUtB-AB89LAABeJQZMxfg534.jpg

7)將工作節(jié)點(diǎn)加入集群

在每個(gè)工作節(jié)點(diǎn)上,使用您在第6步中初始化控制平面節(jié)點(diǎn)后記下的kubeadm join命令。命令應(yīng)類似于:

kubeadm join k8smaster.example.net:6443 --token af4qe1.4mn5nt3v5vk0oai5

--discovery-token-ca-cert-hash sha256:c62c1826f8188f0fab5b4de07c76c41b46b5ed51cd369bdd998788ed0ade957d

來自兩個(gè)工作節(jié)點(diǎn)的輸出:

wKgaomaUstOAbZm_AADGnY7eiBY034.pngwKgZomaUtCOADPjSAAC0MSqz2as903.jpg

上述工作節(jié)點(diǎn)的輸出確認(rèn)了這兩個(gè)節(jié)點(diǎn)已加入集群。使用kubectl命令從控制平面節(jié)點(diǎn)檢查節(jié)點(diǎn)狀態(tài):

$ kubectl get nodes

命令在工作節(jié)點(diǎn)加入后的輸出:

wKgaomaUstiAIbxjAAAqD83k9pE112.pngwKgaomaUtCSANcvOAAAi2GAU0X4202.jpg

正如我們所見,節(jié)點(diǎn)狀態(tài)是'NotReady',因此為了使其激活,我們必須安裝CNI(容器網(wǎng)絡(luò)接口)或網(wǎng)絡(luò)插件,如Calico、Flannel和Weave-net。

8)安裝Calico網(wǎng)絡(luò)插件

需要一個(gè)網(wǎng)絡(luò)插件來啟用集群中Pod之間的通信。在控制平面節(jié)點(diǎn)上運(yùn)行以下kubectl命令以安裝Calico網(wǎng)絡(luò)插件:

$ kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.0/manifests/calico.yaml

上述命令的輸出如下所示:

wKgZomaUsuKACFKxAADCMO1eZ4I403.pngwKgZomaUtCWAedP4AACpfr_622E230.jpg

驗(yàn)證kube-system命名空間中Pod的狀態(tài):

$ kubectl get pods -n kube-system

輸出:

wKgaomaUsuqAZr8-AABfmr-veSE086.png

wKgaomaUtCaADWF1AABOTgUpGBw778.jpg

完美,檢查節(jié)點(diǎn)狀態(tài):

$ kubectl get nodes

Calico安裝后節(jié)點(diǎn)的狀態(tài):

wKgaomaUs2uAWSg2AAANZIP1cuE055.pngwKgaomaUtCeAXb3sAAANXMiMZjg297.jpg

現(xiàn)在,我們可以說我們的Kubernetes集群是功能正常的。

憑此文章可以去PetaExpress發(fā)工單可以搞一臺(tái)2核2G的免費(fèi)云服務(wù)器/月

PetaExpress 獎(jiǎng)品的申領(lǐng)步驟:注冊→登錄→發(fā)工單 回復(fù)“文章網(wǎng)址+文章標(biāo)題+申請(qǐng)獎(jiǎng)勵(lì)”

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    590

    瀏覽量

    31042
  • 云服務(wù)器
    +關(guān)注

    關(guān)注

    0

    文章

    805

    瀏覽量

    13799
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    243

    瀏覽量

    9017
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    阿里云Kubernetes集群聯(lián)邦

    的控制平面。并配置好本地的kubeconfig。通過運(yùn)行kubefed init命令來初始化主集群。具體步驟如下:安裝kubefedhangzhou
    發(fā)表于 03-12 17:10

    kubernetes集群配置

    基于v1104版本手動(dòng)搭建高可用kubernetes 集群
    發(fā)表于 08-19 08:07

    Ubuntu安裝Hadoop單機(jī)版的方法

    Ubuntu安裝Hadoop集群
    發(fā)表于 03-24 11:09

    如何在Arm利用Istio搭建一個(gè)基于Kubernetes的Service Mesh平臺(tái)

    我們的自己的kubernetes cluster。搭建Kubernetes環(huán)境安裝配置kubeadm,kubelet,kubectl具體請(qǐng)參考kub
    發(fā)表于 03-30 10:59

    請(qǐng)問鴻蒙系統(tǒng)可以部署kubernetes集群嗎?

    鴻蒙系統(tǒng)可以部署kubernetes集群
    發(fā)表于 06-08 11:16

    基于Ubuntu的Hadoop集群安裝與配置

    基于Ubuntu的Hadoop集群安裝與配置
    發(fā)表于 09-08 14:20 ?8次下載
    基于<b class='flag-5'>Ubuntu</b>的Hadoop<b class='flag-5'>集群</b><b class='flag-5'>安裝</b>與配置

    如何部署基于Mesos的Kubernetes集群

    kubernetes是一個(gè)跨多個(gè)計(jì)算節(jié)點(diǎn)的管理容器化應(yīng)用的系統(tǒng),它提供了一系列基本的功能,如應(yīng)用的自動(dòng)化部署,維護(hù)和擴(kuò)展等。Mesos是Apache下的開源分布式資源管理框架,它被稱為是分布式系統(tǒng)
    發(fā)表于 10-09 18:04 ?0次下載
    如何部署基于Mesos的<b class='flag-5'>Kubernetes</b><b class='flag-5'>集群</b>

    Kubernetes集群發(fā)生網(wǎng)絡(luò)異常時(shí)如何排查

    本文將引入一個(gè)思路:“ Kubernetes 集群發(fā)生網(wǎng)絡(luò)異常時(shí)如何排查”。文章將引入 Kubernetes 集群中網(wǎng)絡(luò)排查的思路,包含網(wǎng)
    的頭像 發(fā)表于 09-02 09:45 ?7612次閱讀

    Kubernetes集群的關(guān)閉與重啟

    日常對(duì) Kubernetes 集群運(yùn)行維護(hù)的過程中,您可能需要臨時(shí)的關(guān)閉或者是重啟 Kubernetes 集群對(duì)
    的頭像 發(fā)表于 11-07 09:50 ?1w次閱讀

    Kubernetes集群部署

    Kubeadm是一種Kubernetes集群部署工具,通過kubeadm init命令創(chuàng)建master節(jié)點(diǎn),通過
    的頭像 發(fā)表于 02-15 10:35 ?2033次閱讀

    Ubuntu編譯安裝pcl教程

    編譯安裝PCL(Point Cloud Library)是Ubuntu使用自定義選項(xiàng)進(jìn)行安裝的一種方式。
    的頭像 發(fā)表于 10-26 09:36 ?1745次閱讀

     K8S學(xué)習(xí)教程一:使用PetaExpress云服務(wù)器安裝Minikube 集群

    使得開發(fā)人員能夠本地機(jī)器輕松創(chuàng)建一個(gè)單節(jié)點(diǎn)的 Kubernetes 集群,從而方便開發(fā)、測試和學(xué)習(xí) Kubernetes。 我們看下如
    的頭像 發(fā)表于 07-01 15:41 ?603次閱讀
     K8S學(xué)習(xí)教程一:使用<b class='flag-5'>PetaExpress</b>云服務(wù)器<b class='flag-5'>安裝</b>Minikube <b class='flag-5'>集群</b>

    K8S學(xué)習(xí)教程(二): PetaExpress KubeSphere容器平臺(tái)部署高可用 Redis 集群

    并且需要手動(dòng)重啟節(jié)點(diǎn),相較之下,使用 PetaExpress 提供的 Kubernetes(k8s) 服務(wù) 進(jìn)行 Redis 集群的部署,則展現(xiàn)出了顯著的優(yōu)勢: 1、安裝便捷:使用鏡像
    的頭像 發(fā)表于 07-03 15:30 ?1194次閱讀
    K8S學(xué)習(xí)教程(二):<b class='flag-5'>在</b> <b class='flag-5'>PetaExpress</b> KubeSphere容器平臺(tái)部署高可用 Redis <b class='flag-5'>集群</b>

    Ubuntu系統(tǒng)的虛擬機(jī)安裝步驟 如何在Ubuntu系統(tǒng)編譯軟件

    Ubuntu系統(tǒng)安裝虛擬機(jī)的步驟 Ubuntu系統(tǒng)
    的頭像 發(fā)表于 12-12 14:36 ?1179次閱讀

    Kubernetes:構(gòu)建高效的容器化應(yīng)用平臺(tái)

    Kubernetes 作為容器編排的事實(shí)標(biāo)準(zhǔn),容器化應(yīng)用部署中發(fā)揮著關(guān)鍵作用。 搭建 Kubernetes 集群是應(yīng)用的基礎(chǔ)。可以使用kubead
    的頭像 發(fā)表于 01-23 15:22 ?303次閱讀