Ubuntu 安裝 Kubernetes(v1.24.*) 使用 containerd

提前準(zhǔn)備

臨時(shí)關(guān)閉 swap。持久關(guān)閉,請(qǐng)百度。

$ sudo swapoff -a

一各吨、安裝 containerd

依據(jù)官方教程排苍,即 Docker 安裝教程沦寂。
使用阿里云鏡像進(jìn)行安裝。

1. 安裝必要依賴

$ sudo apt-get update
$ sudo apt-get install -y ca-certificates curl gnupg lsb-release

2. 添加 GPG 密鑰

$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3. 設(shè)置 apt 倉庫

$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. 安裝 containerd

$ sudo apt-get update
$ sudo apt-get install -y containerd.io
# 鎖定 containerd.io 版本
$ sudo apt-mark hold containerd.io

5. 啟用 cri 和 systemd

$ containerd config default | sudo tee /etc/containerd/config.toml

找到下面的配置項(xiàng)并修改淘衙。

[plugins."io.containerd.grpc.v1.cri"]
  sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.7"
  ...
  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
    ...
    [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
        SystemdCgroup = true

重啟 containerd 并設(shè)置 containerd 自啟動(dòng)传藏。

$ sudo systemctl restart containerd.service
$ sudo systemctl enable containerd.service

二、安裝 Kubeadm

依據(jù)官方教程進(jìn)行安裝彤守。
使用阿里云鏡像進(jìn)行安裝毯侦。

1. 允許 iptables 檢查橋接流量

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

2. 安裝必要依賴

$ sudo apt-get update
$ sudo apt-get install -y apt-transport-https ca-certificates curl

3. 添加 GPG 密鑰

$ sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg

4. 設(shè)置 apt 倉庫

$ echo \
  "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://mirrors.aliyun.com/kubernetes/apt/ \
  kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

5. 安裝 kubelet、kubeadm 和 kubectl具垫,并鎖定其版本

$ sudo apt-get update
$ sudo apt-get install -y kubelet kubeadm kubectl
# 鎖定 kubelet kubeadm kubectl 版本
$ sudo apt-mark hold kubelet kubeadm kubectl

三侈离、安裝 Kubernetes

1. 初始化控制平面節(jié)點(diǎn)

$ sudo kubeadm init \
  # 設(shè)置控制平面端點(diǎn),子節(jié)點(diǎn)通過這個(gè) host/ip 訪問控制平面
  --control-plane-endpoint=<control-plane-host-or-ip> \
  # 設(shè)置 pod 的網(wǎng)絡(luò)的無類別域間路由 ip 段
  --pod-network-cidr=10.244.0.0/16 \
  # 設(shè)置容器運(yùn)行時(shí)
  --cri-socket=unix:/run/containerd/containerd.sock \
  # 設(shè)置鏡像拉取的倉庫地址筝蚕,采用阿里云鏡像
  --image-repository=registry.aliyuncs.com/google_containers

成功之后卦碾,會(huì)有如下輸出:

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

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

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

You can now join any number of control-plane nodes by copying certificate authorities
and service account keys on each node and then running the following as root:

  kubeadm join <control-plane-host>:<control-plane-port> --token <token> \
    --discovery-token-ca-cert-hash sha256:<hash> \
    --control-plane 

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join <control-plane-host>:<control-plane-port> --token <token> \
    --discovery-token-ca-cert-hash sha256:<hash>

2. 配置 kubectl 的配置文件

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

3. 子節(jié)點(diǎn)創(chuàng)建

子節(jié)點(diǎn)也需要安裝 kubelet kubeadm kubectl。
重復(fù)上面的安裝步驟即可起宽。

4. 子節(jié)點(diǎn)加入控制平面節(jié)點(diǎn)

sudo kubeadm join <control-plane-host>:<control-plane-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash> --cri-socket=unix:/run/containerd/containerd.sock

成功之后洲胖,會(huì)有如下輸出:

This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.

Run 'kubectl get nodes' on the control-plane to see this node join the cluster.

四、安裝 Pod 網(wǎng)絡(luò)附加組件

集群已經(jīng)搭建起來了坯沪,然后我們會(huì)發(fā)現(xiàn) coredns 停滯在 Pending 狀態(tài)绿映。
還記得我們?cè)诔跏蓟刂破矫鏁r(shí),傳的 --pod-network-cidr=10.244.0.0/16 參數(shù)么腐晾?
就是為這一步準(zhǔn)備的叉弦,讓我們開始吧。

1. 安裝 flannel

點(diǎn)擊下載 最新的穩(wěn)定版本 赴魁。
下載完成后卸奉,確保每個(gè)服務(wù)器的 /opt/bin 文件夾內(nèi)都有 flanneld 二進(jìn)制文件。

2. 啟動(dòng) flannel

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末颖御,一起剝皮案震驚了整個(gè)濱河市榄棵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌潘拱,老刑警劉巖疹鳄,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異芦岂,居然都是意外死亡瘪弓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門禽最,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腺怯,“玉大人袱饭,你說我怎么就攤上這事∏赫迹” “怎么了虑乖?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)晾虑。 經(jīng)常有香客問我疹味,道長(zhǎng),這世上最難降的妖魔是什么帜篇? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任糙捺,我火速辦了婚禮,結(jié)果婚禮上笙隙,老公的妹妹穿的比我還像新娘洪灯。我一直安慰自己,他們只是感情好逃沿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布婴渡。 她就那樣靜靜地躺著幻锁,像睡著了一般凯亮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哄尔,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天假消,我揣著相機(jī)與錄音,去河邊找鬼岭接。 笑死富拗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鸣戴。 我是一名探鬼主播啃沪,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼窄锅!你這毒婦竟也來了创千?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤入偷,失蹤者是張志新(化名)和其女友劉穎追驴,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疏之,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡殿雪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锋爪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丙曙。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡爸业,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亏镰,到底是詐尸還是另有隱情沃呢,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布拆挥,位于F島的核電站薄霜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏纸兔。R本人自食惡果不足惜惰瓜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望汉矿。 院中可真熱鬧崎坊,春花似錦、人聲如沸洲拇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赋续。三九已至男翰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纽乱,已是汗流浹背蛾绎。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鸦列,地道東北人租冠。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像薯嗤,于是被迫代替她去往敵國(guó)和親顽爹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容