AlmaLinux 9.5 Kubeadm多节点K8s部署指南

1. 加载内核模块和设置内核参数

cat <<EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOFmodprobe overlay
modprobe br_netfiltercat <<EOF | 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
EOFsysctl --system

2. 安装 Docker

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.iomkdir -p /etc/docker
cat <<EOF | tee /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"]
}
EOFsystemctl enable docker.service --now

3. 安装 cri-dockerd

wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.4/cri-dockerd-0.3.4.amd64.tgz
tar -xvf cri-dockerd-0.3.4.amd64.tgz
install -o root -g root -m 0755 cri-dockerd/cri-dockerd /usr/local/bin/wget https://raw.githubusercontent.com/Mirantis/cri-dockerd/master/packaging/systemd/cri-docker.service
wget https://raw.githubusercontent.com/Mirantis/cri-dockerd/master/packaging/systemd/cri-docker.socket
sed -i 's|/usr/bin/cri-dockerd|/usr/local/bin/cri-dockerd|' cri-docker.service
mv cri-docker.* /etc/systemd/system/systemctl daemon-reload
systemctl enable cri-docker.service --now

4. 安装 Kubernetes 工具

cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
EOFdnf install -y kubelet-1.28.0 kubeadm-1.28.0 kubectl-1.28.0
systemctl enable kubelet --now

解决报错问题:failed pulling image "registry.k8s.io/pause:3.6"

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
docker tag  registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 registry.k8s.io/pause:3.6
docker save registry.k8s.io/pause -o pause.tar
ctr images import pause.tar

5. 初始化主节点

kubeadm init \--kubernetes-version=v1.28.0 \--pod-network-cidr=10.244.0.0/16 \--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers \--cri-socket=unix:///var/run/cri-dockerd.sockmkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes

6. 安装网络插件

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
kubectl get nodes
kubectl get pods -n kube-system

7. 加入工作节点

kubeadm join 192.168.1.10:6443 \--token <token> \--discovery-token-ca-cert-hash sha256:<hash> \--cri-socket=unix:///var/run/cri-dockerd.sock

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/908070.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】网络排错思路总结

明人不说暗话,这篇文章我们来聊一个非常有用,同时也是程序员必备的技能,那就是网络排错思路大总结。 有了这个技能,如果以后发生领导、妹子电脑上不了网的情况,你上去就是一顿操作,稳稳的~~注意:一般一台电脑有多个网卡。一个是PCI网卡是用于插网线的, 另一个是WireLes…

【计算机网络】CDN内容分发网络

背景本来是为了深入了解 CDN 的,结果发现前置知识:IP、域名、DNS 都还不算特别熟,所以先写了他们 现在终于来聊一聊 CDN 啦 本文素材均出自:https://www.bilibili.com/video/BV12T4y1P7Fh,动画仍然满分如何打开一个网站 前面说过了浏览器访问域名 DNS 负责解析域名,找到域…

关于electron如何获取dropAndDrag的文件全路径

问题 当托放文件到窗口时,React应用无法获取文件的全路径,因为新版本去掉了“path”属性。那么如何在托放文件时,获取全路径呢? 参考链接 https://www.electronjs.org/docs/latest/api/web-utils 使用webUtils 如下图,preload.js里面把webUtils.getPathForFile暴露给渲染进…

Vue中 this.$emit() 方法详解, 帮助子组件向父组件传递事件

this.$emit()是 Vue.js 中一个很有用的方法,可以帮助子组件向父组件传递事件前言 在Vue中,this.$emit()方法用于触发自定义事件。它是Vue实例的一个方法,可以在组件内部使用。 使用 this.$emit() 方法,可以向父组件发送自定义事件,并传递数据给父组件。父组件可以通过监听这…

Unity 运用新输入方法进行移动 (input System)

首先在包管理器中添加 input System重启后进入编辑项目中 找到玩家-配置 将Api兼容级别 改成 .NET Framework 活动输出处理改成 输入系统包(新)创建瓦片地图矩形 添加调色板 为瓦片地图添加Tilemap Collider 2D组件以及Composite Collider 2D(会自动添加Rigidbody 2d组件)组…

C#之Bitmap

SetPixel和GetPixel private void btnC_Click(object sender, RoutedEventArgs e) {OpenFileDialog dia = new OpenFileDialog();dia.Filter = "图像文件|*.png;*.bmp;*.jpg|所有文件|*.*";dia.Multiselect = false;if (dia.ShowDialog() == true){var fileName=dia.…

DVWA靶场 - Command Injection

Low 代码审计: 从源码中可以看出,代码只是执行了一个ping 命令,并没有对后面的参数做限制因此我们可以分别使用 ;、 |、||、&、&&进行注入;,命令行可以使用whoami、ipconfig/ifconfig、ls/dir 等Medium 代码审计: 对比代码发现,;和&& 被加入了黑名…

Linux基本使用-2

用户权限操作 1.su和exit命令 su [-] [用户名] 和 exit ==> 切换用户,不写默认为root;可用exit或者快捷键(ctrl+d)退至上一个用户 -表示切换用户后加载环境变量,建议带上 2.sudo和visudo命令 sudo 其他命令 ==> 为该命令临时授root权限,需为该用户==配置sudo认证 v…

leetcode每日一题:向字符串添加空格

题目 2109. 向字符串添加空格 给你一个下标从 0 开始的字符串 s ,以及一个下标从 0 开始的整数数组 spaces 。 数组 spaces 描述原字符串中需要添加空格的下标。每个空格都应该插入到给定索引处的字符值 之前 。例如,s = "EnjoyYourCoffee" 且 spaces = [5, 9] ,那…

jmeter 压测过程

测试策略 1、基准测试,获取无压力情况下,系统的平均响应时间; 2、采用持续并发的策略,获取系统的在不同压力下平均响应时间,TPS ; 3、在现有硬件资源下,获取到最高TPS; 4、在现有硬件资源下,持续较高TPS运行,验证系统的稳定性; 5、资源增加时,最大TPS是否可以线性增…

BaseMultiTableInnerInterceptor源码解读

本文首发在我的博客:https://blog.liuzijian.com/post/mybatis-plus-source-multi-table-inner-interceptor.html 一、概述 BaseMultiTableInnerInterceptor是MyBatis-Plus中的一个抽象类,位于mybatis-plus-jsqlparser-4.9模块中com.baomidou.mybatisplus.extension.plugins.…