久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么搭建一個集成了containerd的k8s集群

151次閱讀
沒有評論

共計 3324 個字符,預計需要花費 9 分鐘才能閱讀完成。

這篇文章主要講解了“怎么搭建一個集成了 containerd 的 k8s 集群”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“怎么搭建一個集成了 containerd 的 k8s 集群”吧!

概念介紹

cri (Container runtime interface)

cri is a containerd plugin implementation of Kubernetes container runtime interface (CRI).

cri 是 kubernetes 的容器運行時接口的容器插件實現。

!–more–

containerd

containerd is an industry-standard container runtime with an emphasis on simplicity, robustness and portability.

containerd 完全支持運行容器的的 CRI 運行時規范。

cri 在 containerd1.1 以上的版本的原生插件。它內置于 containerd 并默認啟用。

cri-o

OCI-based implementation of Kubernetes Container Runtime Interface.

kubernetes 為了兼容 cri 和 oci 孵化了項目 cri-o。為了架設在 cri 和 oci 之間的一座橋梁。由此 cri- o 既兼容 cri 插件實現又兼容 oci 的容器運行時標準。

oci (Open Container Initiative)

oci 是由多家公司成立的項目, 并由 linux 基金會進行管理, 致力于 container runtime 的標準的制定和 runc 的開發等工作。

runc

runc is a CLI tool for spawning and running containers according to the OCI specification.

runc,是對于 OCI 標準的一個參考實現,是一個可以用于創建和運行容器的 CLI(command-line interface) 工具。

概述

由于 docker 嵌入了太多自身內容, 為了減輕容器負擔。此次選用 containerd 作為 kubernetes 的容器實現方案。

環境準備

下載 containerd 二進制包。我這里已經編譯并打包了好了,內含 containerd、runc、crictl、ctr 等。

runc 版本:1.0.1-dev

containerd 版本:v1.2.4

安裝安裝 containerd

解壓二進制包并生成默認文件

tar -C /usr/local/bin -xzf containerd-v1.2.4.tar.gz
chmod a+x /usr/local/bin/*
containerd config default   /etc/containerd/config.toml

生成的默認配置文件注意 [grpc] 的 address 字段默認為 /run/containerd/containerd.sock

配置文件其他參數含義參照 github 地址:https://github.com/containerd/containerd/blob/master/docs/man/containerd-config.toml.5.md

在 /etc/systemd/system 目錄下編寫文件 containerd.service 內容如下

[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target
[Service]
ExecStartPre=/sbin/modprobe overlay
ExecStart=/usr/local/bin/containerd
Restart=always
RestartSec=5
Delegate=yes
KillMode=process
OOMScoreAdjust=-999
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
[Install]
WantedBy=multi-user.target

啟動 containerd

systemctl enable containerd
systemctl restart containerd
systemctl status containerd

看 containerd 啟動狀態如果是 running 就沒有問題。下面我們測試拉取一下 hub 的鏡像。

測試 containerd

ctr images pull docker.io/library/nginx:alpine

看到輸出 done,說明 containerd 運行一切正常。

使用 crictl 連接 containerd

下一步我們使用 crictl 連接 containerd。

修改 crictl 的配置文件, 在 /etc/crictl.yaml 寫入以下內容:

runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false

這里注意 runtime-endpoint 和 image-endpoint 必須與 /etc/containerd/config.toml 中配置保持一致。

驗證一下 cri 插件是否可用

crictl pull nginx:alpine
crictl rmi nginx:alpine
crictl images

其中 crictl images 會列出所有的 cri 容器鏡像。

到此我們的 cri + containerd 已經完成整合了。下一步我們需要修改 kubeadm 配置進行安裝。

導入 kubenetes 離線鏡像包

這里我們就需要導入 k8s 的離線鏡像包了。這里需要注意一下,kubernetes 是調用的 cri 接口, 所以導入時也需要從 cri 插件導入鏡像。

cri 導入鏡像命令 (cri 導入鏡像):

 ctr cri load images.tar

containerd 導入鏡像命令 (containerd 導入鏡像):

 ctr images import images.tar

修改 kubelet 配置和 kubeadm 安裝時配置

在 kubelet 配置文件 10-kubeadm.conf 的 [Service] 結點加入以下配置:

Environment= KUBELET_EXTRA_ARGS=--container-runtime=remote --runtime-request-timeout=15m --container-runtime-endpoint=unix:///run/containerd/containerd.sock

在 kubeadm 配置文件 kubeadm.yaml 中加入

apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
nodeRegistration:
 criSocket: /run/containerd/containerd.sock
 name: containerd

到此 containerd 和 kubernetes 的集成就完成了。下面可以直接安裝即可。

感謝各位的閱讀,以上就是“怎么搭建一個集成了 containerd 的 k8s 集群”的內容了,經過本文的學習后,相信大家對怎么搭建一個集成了 containerd 的 k8s 集群這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計3324字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 会同县| 安仁县| 江川县| 新巴尔虎右旗| 政和县| 上犹县| 廉江市| 衡东县| 常熟市| 葫芦岛市| 定结县| 扶沟县| 祥云县| 赣榆县| 沙河市| 远安县| 搜索| 紫云| 高密市| 会理县| 梅河口市| 苏尼特左旗| 湄潭县| 扶沟县| 济南市| 赣榆县| 南投县| 海兴县| 刚察县| 荣昌县| 大竹县| 宁远县| 满洲里市| 大宁县| 庄浪县| 建始县| 南通市| 黑水县| 建瓯市| 黔南| 东光县|