Centos 7 上基于 containerd 安装 Kubernetes 1.27 集群

这篇具有很好参考价值的文章主要介绍了Centos 7 上基于 containerd 安装 Kubernetes 1.27 集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0. 安装 “Development Tools”

sudo yum groupinstall -y "Development Tools"
sudo yum install -y gperf

1. 禁用swap

sudo swapoff -a

2. 禁用防火墙

sudo systemctl stop firewalld
sudo systemctl disable firewalld

3. 将SELinux设置为permissive模式

sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

4. 安装 ipset 和 ipvsadm

sudo yum install -y ipset ipvsadm

5. 添加网桥过滤及内核转发配置文件

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
vm.swappiness = 0
EOF

应用 sysctl 参数,无需重启,

sysctl --system

6. 加载 overlay、br_netfilter、ip_tables、iptable_filter 模块

sudo modprobe overlay
sudo modprobe br_netfilter
sudo modprobe ip_tables
sudo modprobe iptable_filter
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
ip_tables
iptable_filter
EOF

7. 安装 containerd 1.17.0

cd /tmp
wget https://github.com/containerd/containerd/releases/download/v1.7.0/cri-containerd-cni-1.7.0-linux-amd64.tar.gz
tar zxvf cri-containerd-cni-1.7.0-linux-amd64.tar.gz -C /

8. 安装 libseccomp 2.5.4

cd /tmp
wget https://github.com/opencontainers/runc/releases/download/v1.1.6/libseccomp-2.5.4.tar.gz
tar zxvf libseccomp-2.5.4.tar.gz; cd libseccomp-2.5.4
./configure
make & make install

9. 安装 runc 1.1.6

cd /tmp
wget https://github.com/opencontainers/runc/releases/download/v1.1.6/runc.amd64
chmod +x runc.amd64
mv runc.amd64 /usr/local/sbin/runc
runc --version

--- output
runc version 1.1.6
commit: v1.1.6-0-g0f48801a
spec: 1.0.2-dev
go: go1.20.3
libseccomp: 2.5.4
---

10. 配置 containerd

mkdir /etc/containerd
containerd config default > /etc/containerd/config.toml
vi /etc/containerd/config.toml

--- from
sandbox_image = "registry.k8s.io/pause:3.8"
---

--- to
sandbox_image = "registry.k8s.io/pause:3.9"
---

11. 启动 containerd

systemctl enable --now containerd
containerd --version

--- output
containerd github.com/containerd/containerd v1.7.0 1fbd70374134b891f97ce19c70b6e50c7b9f4e0d
---

12. 安装kubelet kubeadm kubectl

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF

sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet

13. 初始化Kubernetes集群

export PUBLIC_IP=YOUR_PUBLIC_IP
export HOST=`hostname`

cat <<EOF > kubeadm-config.yaml
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
cgroupDriver: systemd
---
apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: $PUBLIC_IP
  bindPort: 6443
nodeRegistration:
  criSocket: unix:///var/run/containerd/containerd.sock
  imagePullPolicy: IfNotPresent
  name: $HOST
  taints: null
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.k8s.io
kind: ClusterConfiguration
kubernetesVersion: 1.27.1
networking:
  dnsDomain: cluster.local
  podSubnet: 10.244.0.0/16
  serviceSubnet: 10.96.0.0/12
scheduler: {}
EOF

kubeadm init --config kubeadm-config.yaml

14. 配置集群访问

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

kubectl taint nodes --all node-role.kubernetes.io/control-plane-

kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc

15. 安装网络插件 Calico

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.1/manifests/tigera-operator.yaml
wget https://raw.githubusercontent.com/projectcalico/calico/v3.25.1/manifests/custom-resources.yaml

vi custom-resources.yaml
--- from
cidr: 192.168.0.0/16
---

--- to
cidr: 10.244.0.0/16
---

kubectl create -f custom-resources.yaml

16. 确认集群

kubectl get nodes
kubectl get pods -A -o wide

Centos 7 上基于 containerd 安装 Kubernetes 1.27 集群

17. 其他,crictl 命令体验

crictl images

Centos 7 上基于 containerd 安装 Kubernetes 1.27 集群

完结!文章来源地址https://www.toymoban.com/news/detail-446331.html

到了这里,关于Centos 7 上基于 containerd 安装 Kubernetes 1.27 集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • jenkins发布Kubernetes(K8s)集群(基于containerd)

    上一篇文章 Jenkins入门与安装 1、k8s环境 版本 v1.26.5 ,容器为containerd 二进制安装Kubernetes(K8s)集群(基于containerd)—从零安装教程(带证书) 主机名 IP 系统版本 安装服务 master01 10.10.10.21 rhel7.5 nginx、etcd、api-server、scheduler、controller-manager、kubelet、proxy master02 10.10.10.22 rhel7.5 ngin

    2024年02月09日
    浏览(91)
  • [kubernetes]二进制部署k8s集群-基于containerd

    k8s从1.24版本开始不再直接支持docker,但可以自行调整相关配置,实现1.24版本后的k8s还能调用docker。其实docker自身也是调用containerd,与其k8s通过docker再调用containerd,不如k8s直接调用containerd,以减少性能损耗。 除了containerd,比较流行的容器运行时还有podman,但是podman官方安装

    2024年02月12日
    浏览(53)
  • 通过kubeadm部署k8s 1.27高可有集群

    本次部署使用外部etcd集群+LB+K8S集群方案。如下图: 软件列表及软件版本:CentOS7U9, Linux kernel 5.4,docker-ce 23.0.6,cri-dockerd v0.3.1,k8s集群为1.27.1 所有主机均需要操作。 所有主机均需要操作。 所有主机均需要操作。 修改完成后需要重启操作系统,如不重启,可临时关闭,命令为s

    2024年02月13日
    浏览(40)
  • Prometheus+Grafana(外)监控Kubernetes(K8s)集群(基于containerd)

    1、k8s环境 版本 v1.26.5 二进制安装Kubernetes(K8s)集群(基于containerd)—从零安装教程(带证书) 主机名 IP 系统版本 安装服务 master01 10.10.10.21 rhel7.5 nginx、etcd、api-server、scheduler、controller-manager、kubelet、proxy master02 10.10.10.22 rhel7.5 nginx、etcd、api-server、scheduler、controller-manager、kubel

    2024年02月16日
    浏览(49)
  • Loki+Grafana(外)采集Kubernetes(K8s)集群(基于containerd)

    1、简介 Loki是一个开源、分布式的日志聚合系统,由Grafana Labs推出。Loki的设计目标是为了高效地处理大规模的日志数据,并具有良好的可扩展性。Loki的最大优点是它具有低资源占用和高效的查询速度。这是因为Loki不需要在处理日志数据时进行索引,而是将数据存储在类似于

    2024年02月10日
    浏览(43)
  • K8s集群1.27最新版二进制高可用部署

    二进制方式安装Kubernetes高可用集群,虽然安装过程较为复杂,但这也是每个技术人员必须要掌握的内容。同时,在安装过程中,也可以更加深刻地理解每个组件的工作原理。 一、系统环境配置 (1)主机名配置 (2)所有节点修改yum源 (3)所有节点安装常用软件   (4)将master01节点配

    2024年02月07日
    浏览(49)
  • 【Kubernetes部署篇】Ansible自动化工具离线部署K8s 1.27版本

    一、前提须知 采用kubeadm方式,目前只支持 单Master,多Node部署架构 需要主机网络互通,没有网络限制 需要使用root用户权限进行部署 二、使用Ansible部署K8S集群步骤 第一步:获取离线安装包 百度网盘获取 MD5:97d1f48bff3a345429b551b877c7c53d 第二步:安装ansible命令,压缩包中提供

    2024年02月14日
    浏览(54)
  • 《Kubernetes部署篇:Ubuntu20.04基于containerd部署kubernetes1.24.12单master集群》

    如下图所示: 主机名 K8S版本 系统版本 内核版本 IP地址 备注 k8s-master-62 1.24.12 Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.62 master节点 k8s-worker-63 1.24.12 Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.63 worker节点 k8s-worker-64 1.24.12 Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.64 worker节点 说明:分别在对应的

    2023年04月25日
    浏览(46)
  • 【云原生 | Kubernetes 系列】— 部署K8S 1.28版本集群部署(基于Containerd容器运行)

    主机名 IP地址 备注 k8s-master01 192.168.0.109 master k8s-node1 192.168.0.108 node1 k8s-node2 192.168.0.107 node1 k8s-node3 192.168.0.105 node1 1、主机配置 2、升级内核 3、配置内核转发以及过滤 4、安装ipset ipvsadm,IPVS(IP Virtual Server)是一个用于负载均衡的 Linux 内核模块,它可以用来替代 kube-proxy 默认的

    2024年02月20日
    浏览(76)
  • Centos7安装Kubernetes 1.27.2

    目录 一、准备工作 二、容器运行时 三、安装kubelet 、kubeadm、 kubectl 四、配置CNI 五、安装nginx 1、更新yum源安装 vim、net-tools等工具(每个节点都执行) 2、 配置每个节点的网络,然后能互相ping通(每个节点上都要执行) 3、 安装时间插件,保证每个节点时间一致(每个节点上

    2024年02月13日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包