当前位置: 首页 > news >正文

安装kubernetes v1.35

安装kubernetes
master
# 临时关闭当前已启用的swap
sudo swapoff -a
# 永久禁用,注释掉fstab中swap相关的行
sudo sed -i '/swap/s/^/#/' /etc/fstab
# 加载br_netfilter模块
sudo modprobe br_netfilter
# 设置内核参数
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
EOF
# 应用配置
sudo sysctl --system
# 关闭防火墙
sudo systemctl stop firewalld //有没有安装的省略
sudo systemctl disable firewalld
# 将SELinux设置为permissive模式(宽松模式,仅生成警告而不拦截)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
上一步配置了外网原需要配置代理 #export
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 生成默认配置文件
sudo containerd config default | sudo tee /etc/containerd/config.toml
# 将配置文件中的SystemdCgroup设置为true
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
# 重启并设置开机自启
sudo systemctl restart containerd
sudo systemctl enable containerd
添加安装原
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.35/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.35/rpm/repodata/repomd.xml.key
EOF
查看kubernets的安装包
yum list available kubelet kubeadm kubectl --showduplicates
安装软件
sudo yum install -y kubelet-1.35.0-150500.1.1 kubeadm-1.35.0-150500.1.1 kubectl-1.35.0-150500.1.1
# 启动kubelet服务
sudo systemctl enable --now kubelet
配置安装kubernetes的yaml文件
[root@master createk8s]# cat test.yaml
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
localAPIEndpoint:
advertiseAddress: 192.168.3.252
bindPort: 6443
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
kubernetesVersion: v1.35.0
networking:
podSubnet: 10.244.0.0/16
timeoutForControlPlane: "10m0s"
apiServer:
extraArgs:
runtime-config: "rbac.authorization.k8s.io/v1=true"
controllerManager:
extraArgs:
kube-api-qps: "100"
scheduler:
extraArgs:
kube-api-qps: "100"
etcd:
local:
extraArgs:
heartbeat-interval: "500"
election-timeout: "5000"
curl 直接读取终端的 http_proxy 变量,但 kubeadm 是通过 CRI 接口 调用 containerd 拉镜像(而非 ctr 命令),需要给 containerd 的 CRI 组件单独配置代理(之前的配置可能只针对 ctr 命令,没覆盖 CRI 接口)。
所以需要拉取国外镜像需要配置contianerd
# 1. 创建 systemd 配置目录
sudo mkdir -p /etc/systemd/system/containerd.service.d

# 2. 创建代理配置文件 (请确保代理地址 192.168.3.77:20171 是正确的)
sudo tee /etc/systemd/system/containerd.service.d/http-proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=http://192.168.3.77:20171/"
Environment="HTTPS_PROXY=http://192.168.3.77:20171/"
# 非常重要:将集群内网地址和域名加入 NO_PROXY,避免代理干扰内部通信
Environment="NO_PROXY=localhost,127.0.0.1,192.168.3.252,192.168.0.0/16,10.0.0.0/8,.cluster.local,.svc,.default"
EOF

# 3. 重新加载 systemd 配置并重启 containerd
sudo systemctl daemon-reload
sudo systemctl restart containerd

# 4. 验证代理环境变量是否已加载到服务中
sudo systemctl show containerd --property Environment
初始化
kubeadm init --config=test.yaml --ignore-preflight-errors=SystemVerification #省略不重要的报错
授权用户
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安装网络插件
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

安装kuberentes
node
安装kubernetes
master
# 临时关闭当前已启用的swap
sudo swapoff -a
# 永久禁用,注释掉fstab中swap相关的行
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
# 加载br_netfilter模块
sudo modprobe br_netfilter
# 设置内核参数
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
EOF
# 应用配置
sudo sysctl --system
# 关闭防火墙
sudo systemctl stop firewalld //有没有安装的省略
sudo systemctl disable firewalld
# 将SELinux设置为permissive模式(宽松模式,仅生成警告而不拦截)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
上一步配置了外网原需要配置代理 #export
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 生成默认配置文件
sudo containerd config default | sudo tee /etc/containerd/config.toml
# 将配置文件中的SystemdCgroup设置为true
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
# 重启并设置开机自启
sudo systemctl restart containerd
sudo systemctl enable containerd
添加安装原
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.35/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.35/rpm/repodata/repomd.xml.key
EOF
查看kubernets的安装包
yum list available kubelet kubeadm kubectl --showduplicates
安装软件
sudo yum install -y kubelet-1.35.0-150500.1.1 kubeadm-1.35.0-150500.1.1 kubectl-1.35.0-150500.1.1
# 启动kubelet服务
sudo systemctl enable --now kubelet
# 1. 创建 systemd 配置目录
sudo mkdir -p /etc/systemd/system/containerd.service.d

# 2. 创建代理配置文件 (请确保代理地址 192.168.3.77:20171 是正确的)
sudo tee /etc/systemd/system/containerd.service.d/http-proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=http://192.168.3.77:20171/"
Environment="HTTPS_PROXY=http://192.168.3.77:20171/"
Environment="NO_PROXY=localhost,127.0.0.1,192.168.3.252,192.168.0.0/16,10.0.0.0/8,.cluster.local,.svc,.default"
EOF

# 3. 重新加载 systemd 配置并重启 containerd
sudo systemctl daemon-reload
sudo systemctl restart containerd

# 4. 验证代理环境变量是否已加载到服务中
sudo systemctl show containerd --property Environment
加入集群
sudo kubeadm join 192.168.3.252:6443 --token ypgrum.3oqps1o303pptyiq --discovery-token-ca-cert-hash sha256:2c25daa7d476390b374236c759cc4142724c8855bbcefd76e9919e21c957d352 --ignore-preflight-errors=SystemVerification

##配置了shell代理要先取消再加入集群有时候contained的配置文件会被重新占用(作者也只装过几次)重新执行# 生成默认配置文件
sudo containerd config default | sudo tee /etc/containerd/config.toml
# 将配置文件中的SystemdCgroup设置为true
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml

http://www.jsqmd.com/news/493070/

相关文章:

  • ccmusic-database/music_genre惊艳效果:不同压缩率MP3文件的流派识别稳定性
  • Passport-Local Mongoose异步操作指南:Async/Await与Promise应用实例
  • 【笔记】n8n Docker 容器时间与时区同步记录(二)
  • 百川2-13B-Chat WebUI v1.0 多轮对话深度测试:跨话题记忆保持、上下文混淆边界验证
  • 深度学习项目训练环境企业认证:通过华为云ModelArts兼容性认证与性能基准测试
  • [特殊字符] Jimeng LoRA Streamlit测试台详解:侧边栏控制+实时挂载+缓存锁定操作手册
  • CogVideoX-2b惊艳效果展示:连贯运镜+自然光影的10秒实拍级视频
  • 机器学习算法之TF-idf
  • EVA-01多场景落地:农业技术站用EVA-01识别病虫害叶片图并生成防治方案
  • Calamari高级应用:跨折叠训练与模型集成的最佳实践
  • EagleEye金融安防:ATM遮挡/贴膜/加装针孔摄像头三类风险实时识别
  • LiuJuan20260223Zimage实操手册:导出Gradio生成图、批量保存及元数据提取方法
  • Janus-Pro-7B镜像免配置部署:start.sh脚本原理与后台服务管理
  • Docker-镜像-命令清单
  • HY-Motion 1.0效果实测:十亿参数模型动作流畅度对比分析
  • StructBERT文本相似度模型部署教程:Windows本地快速体验指南
  • AudioSeal镜像启动脚本深度解析:start.sh/stop.sh/restart.sh逻辑拆解
  • Nano-Banana Studio多场景落地:服装碳足迹报告配套材料分解可视化图
  • DCT-Net人像卡通化部署教程:Docker镜像构建与自定义配置
  • Youtu-VL-4B-Instruct新手指南:WebUI上传图片+提问+参数调节全流程
  • Qwen3-VL-8B-Instruct-GGUF惊艳效果:上传招聘JD截图→自动提取岗位要求+技能关键词+薪资区间
  • Qwen3-ForcedAligner-0.6B部署案例:中小企业私有化部署保障语音数据不出域
  • ClearerVoice-Studio实操手册:大文件分段处理+日志排查+端口冲突解决全攻略
  • 丹青幻境效果实测:Z-Image对‘青衣倚楼听雨’类诗意提示的语义解码准确率
  • 万象熔炉 | Anything XL入门教程:Streamlit热重载开发与界面迭代技巧
  • Stable Yogi Leather-Dress-Collection生产环境:低配GPU(4GB)稳定运行实测报告
  • 图图的嗨丝造相-Z-Image-TurboGPU算力适配:支持FP8量化推理,显存占用再降35%
  • FLUX.小红书极致真实V2效果展示:多肤色人像生成一致性与细节还原度
  • Phi-4-reasoning-vision-15B实战教程:使用curl发送带图请求并解析JSON格式响应
  • Hunyuan-MT-7B镜像部署教程:AWS EC2 g5.xlarge实例低成本运行FP8量化版