centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)

这篇具有很好参考价值的文章主要介绍了centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

集群配置

节点名称 内存 硬盘 处理器内核总数 ip
master 6GB 40GB 6 192.168.67.166
node1 6GB 40GB 6 192.168.67.167
node2 6GB 40GB 6 192.168.67.168

一、所有节点更改镜像源

curl -o /etc/yum.repos.d/CentOS-Base.repo 

二、所有节点安装docker,注意:K8s在1.24以上版本将不再直接支持Docker,因此需要将Kubernetes的Runtime改为Containerd。(安装Docker时会自动安装Containerd)

-- Docker CE 的软件源信息添加到 YUM 软件包管理器的配置中,系统默认镜像不包含docker-ce
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

-- 卸载旧版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

-- 下载docker-ce
sudo yum install -y docker-ce-20.10.* docker-ce-cli-20.10.* 


-- 配置镜像加速https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://sfpt7y1n.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

三、所有节点对系统进行配置修改

-- 禁用selinux,让容器可以读取主机文件系统
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久

-- 关闭swap分区
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久
-- 重启生效
reboot

-- 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

-- 配置hosts
sudo tee -a /etc/hosts <<EOF
192.168.67.166 master
192.168.67.167 node1
192.168.67.168 node2
EOF

四、所有节点配置k8s的yum仓库

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
EOF

-- 导入密钥
rpm --import https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
rpm --import https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

五、所有节点安装kubelet,kubeadm,kubelet

yum install -y kubelet-1.25.1-0 kubeadm-1.25.1-0 kubectl-1.25.1-0

六、master节点执行

-- 生成kubeadm配置模板
kubeadm config print init-defaults > kubeadm-config.yaml

-- 编辑此配置文件
-- 修改advertiseAddress字段为本机地址
-- 检查criSocket地址是否为下图中所示
-- 检查kubernetesVersion,应与kubeadm version查询得到的版本一致
-- 将imageRepository字段改为registry.cn-hangzhou.aliyuncs.com/google_containers
-- 将name字段改为当前master节点的名字
vi kubeadm-config.yaml

centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)

 -- master节点执行`kubeadm config images list`查看所需下载镜像

centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)

 

-- 更改镜像地址,拉取每个镜像
systemctl start docker
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.25.16
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.25.16
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.25.16
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.25.16
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.8
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.4-0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.9.3

七、Containerd作为容器运行时(所有节点执行)

-- 所有节点配置Containerd所需模块,确保在系统启动时自动加载这两个内核模块
cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

-- 所有节点加载模块
modprobe -- overlay
modprobe -- br_netfilter

-- 所有节点配置Containerd所需内核,为 Kubernetes 的 CRI 和相关网络功能提供支持
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

-- 所有节点加载内核
sysctl --system

-- 所有节点配置Containerd的配置文件
mkdir  -p  /etc/containerd
containerd config default | tee /etc/containerd/config.toml
-- 将containerd.runtimes.runc.options中的SystemdCgroup字段修改为true
-- tips:进入vi编辑器,按下Esc,底部栏输入 /SystemdCgroup 即可快速定位
-- 接下来将sandbox_image的Pause镜像修改为适合自己版本的地址,可参考第6步中Pause的地址
-- 修改完这两处后保存退出
vi /etc/containerd/config.toml

-- 所有节点设置Containerd开机启动
systemctl daemon-reload
systemctl enable --now containerd
systemctl restart containerd

-- 所有节点配置crictl客户端连接的Runtime位置
cat > /etc/crictl.yaml <<EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint:unix:///run/containerd/containerd.sock
timeout:10
debug:false
EOF

centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)

 八、初始化集群(master节点执行)

-- containerd作为runtime,设置开机自启
systemctl enable --now kubelet

kubeadm init --config kubeadm-config.yaml

-- 若初始化失败,需要检查各项配置是否正确,之后再次初始化,清理命令如下
kubeadm reset -f ; ipvsadm --clear ; rm -rf ~/.kube

初始化成功后如下所示:(注意框出的部分)

centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)

 

-- 在master节点执行上图框出的第一部分:
    mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

-- 在其余node节点执行框出的第二部分:
kubeadm join 192.168.67.166:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:4f35a9073247215976789e99c5f274e8bac36b88b8264252daf60dfd85c16b4b

在master节点输入kubectl get node,显示如下

centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)

 现在配置网络,以calico为例(https://docs.tigera.io/calico/3.25/getting-started/kubernetes/self-managed-onprem/onpremises

-- 获取官方模板,在master节点执行
curl https://raw.githubusercontent.com/projectcalico/calico/v3.25.2/manifests/calico.yaml -O
kubectl apply -f calico.yaml

等一小会,再次执行kubectl get node

centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)

 至此集群搭建成功


 参考资料:

《云原生Kubernetes全栈架构师》-杜宽文章来源地址https://www.toymoban.com/news/detail-760064.html

到了这里,关于centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 高可用containerd搭建K8s集群【v1.25】

    [toc] 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器,操作系统 CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多 集群中所有机器之间网络互通 可以访问外网,需要拉取镜像 禁止swap分区 角色 IP k8s-master1 192.168.4.114 k8s-master2

    2024年02月09日
    浏览(24)
  • Centos 7 上基于 containerd 安装 Kubernetes 1.27 集群

    应用 sysctl 参数,无需重启, 完结!

    2024年02月05日
    浏览(16)
  • Containerd+Kubernetes搭建k8s集群

    视频教程地址:https://space.bilibili.com/3461573834180825/channel/seriesdetail?sid=3316691 之前写了一篇基于docker安装kubernetes的文章,这篇文档我们来使用containerd来安装kubernetes,相较于docker,containerd运行容器的时候效率更高,并且可以兼容docker镜像。基于docker安装kubernetes的文章地址:ht

    2024年02月07日
    浏览(23)
  • 使用containerd从0搭建k8s(kubernetes)集群

    准备两台服务器节点,如果需要安装虚拟机,可以参考《wmware和centos安装过程》 机器名 IP 角色 CPU 内存 centos01 192.168.109.130 master 4核 2G centos02 192.168.109.131 node 4核 2G 设置主机名,所有节点都执行 关闭防火墙,所有节点都执行 关闭swap内存,所有节点都执行 配置网桥,所有节点

    2024年02月08日
    浏览(32)
  • Kubernetes - CentOS7搭建k8s_v1.18集群高可用(kubeadm/二进制包部署方式)实测配置验证手册

    一、Kubernetes—k8s是什么 Kubernetes 这个名字源于希腊语,意为“舵手“或”飞行员\\\"。 Kubernetes,简称K8s,中间有8个字符用8代替缩写。 Google于2014年开源项目,为容器化应用提供集群和管理的开源工具,Kubernetes目标是让部署容器化的应用简单并且高效,提供了应用部署,规划,更

    2024年04月27日
    浏览(23)
  • Centos7 安装部署 Kubernetes(k8s) 高可用集群

    宿主机系统 集群角色 服务器IP 主机名称 容器 centos7.6 master 192.168.2.150 ks-m1 docker centos7.6 master 192.168.2.151 ks-n1 docker centos7.6 master 192.168.2.152 ks-n2 docker 1.1 服务器初始化及网络配置 VMware安装Centos7并初始化网络使外部可以访问** 注意事项:请一定要看完上面这篇文章再执行下面的操

    2024年02月03日
    浏览(35)
  • 云原生|kubernetes|kubernetes集群部署神器kubekey的初步使用(centos7下的kubekey使用)

    kubernetes集群的安装部署是学习kubernetes所需要面对的第一个难关,确实是非常不好部署的,尤其是二进制方式,虽然有minikube,kubeadm大大的简化了kubernetes的部署难度,那么,针对我们的学习环境或者测试环境,我们应该如何能够快速的,简单的,非常优雅的部署一个学习或者

    2024年02月16日
    浏览(19)
  • Kubernetes ≥ 1.25 Containerd配置Harbor私有镜像仓库

    containerd 实现了 kubernetes 的 Container Runtime Interface (CRI) 接口,提供容器运行时核心功能,如镜像管理、容器管理等,相比 dockerd 更加简单、健壮和可移植。 从docker过度还是需要一点时间慢慢习惯的,今天来探讨containerd 如何从无域名与权威证书的私有仓库harbor,下载镜像! c

    2024年01月15日
    浏览(24)
  • CentOS7搭建hadoop集群

    说明:         1.准备三台虚拟机,参考:CentOS7集群环境搭建(以3台为例)         2.配置虚拟机间免密登陆:参考:CentOS7集群配置免密登录         3.虚拟机分别安装jdk:参考:CentOS7集群安装JDK1.8         4.hadoop安装包下载,下载地址 准备开始搭建hadoop集群,以下操作在第

    2024年02月09日
    浏览(37)
  • Zookeeper集群搭建记录 | 云计算[CentOS7] | Zookeeper集群搭建

    本系列文章索引以及一些默认好的条件在 传送门 在配置Zookeeper之前,建议先配置Hadoop集群,具体的操作流程博主已更新完成,链接 Zookeeper的安装包版本不太相同,大致分为有编译过的和没有编译过的(如有错请留言指正 一般情况下对于我们在解压配置就能使用的情况下,我

    2024年02月01日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包