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

【9】搭建k8s集群系列(二进制部署)之安装work-node节点组件(kube-proxy)和网络组件calico

承接上一篇文章,继续安装工作节点的第二个组件:kube-proxy

一、创建配置文件

cat > /opt/kubernetes/cfg/kube-proxy.conf << EOF
KUBE_PROXY_OPTS="--logtostderr=false \\
--v=2 \\
--log-dir=/opt/kubernetes/logs \\
--config=/opt/kubernetes/cfg/kube-proxy-config.yml"
EOF

二、配置参数文件

cat > /opt/kubernetes/cfg/kube-proxy-config.yml << EOF
kind: KubeProxyConfiguration
apiVersion: kubeproxy.config.k8s.io/v1alpha1
bindAddress: 0.0.0.0
metricsBindAddress: 0.0.0.0:10249
clientConnection:
  kubeconfig: /opt/kubernetes/cfg/kube-proxy.kubeconfig
hostnameOverride: k8s-master1
clusterCIDR: 10.244.0.0/16
EOF

三、生成kube-proxy.kubeconfig文件

3.1 生成kube-proxy.kubeconfig文件需要的证书(到master节点生成)

切换工作目录

cd /root/TLS/k8s

# 创建证书请求文件
cat > kube-proxy-csr.json << EOF
{
  "CN": "system:kube-proxy",
  "hosts": [],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "CN",
      "L": "BeiJing",
      "ST": "BeiJing",
      "O": "k8s",
      "OU": "System"
    }
  ]
}
EOF

# 生成证书
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes kube-proxy-csr.json | cfssljson -bare kube-proxy

3.2 生成kubeconfig文件

KUBE_CONFIG="/opt/kubernetes/cfg/kube-proxy.kubeconfig"
# master节点的apiserver服务地址
KUBE_APISERVER="https://192.168.1.20:6443"

kubectl config set-cluster kubernetes \
  --certificate-authority=/opt/kubernetes/ssl/ca.pem \
  --embed-certs=true \
  --server=${KUBE_APISERVER} \
  --kubeconfig=${KUBE_CONFIG}
kubectl config set-credentials kube-proxy \
  --client-certificate=/opt/kubernetes/ssl/kube-proxy.pem \
  --client-key=/opt/kubernetes/ssl/kube-proxy-key.pem \
  --embed-certs=true \
  --kubeconfig=${KUBE_CONFIG}
kubectl config set-context default \
  --cluster=kubernetes \
  --user=kube-proxy \
  --kubeconfig=${KUBE_CONFIG}
kubectl config use-context default --kubeconfig=${KUBE_CONFIG}

四、systemd管理kube-proxy

cat > /usr/lib/systemd/system/kube-proxy.service << EOF
[Unit]
Description=Kubernetes Proxy
After=network.target

[Service]
EnvironmentFile=/opt/kubernetes/cfg/kube-proxy.conf
ExecStart=/opt/kubernetes/bin/kube-proxy \$KUBE_PROXY_OPTS
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

五、启动并设置开机启动

systemctl daemon-reload
systemctl start kube-proxy
systemctl enable kube-proxy

六、安装k8s网络组件(Calico)

Calico是一个纯三层的数据中心网络方案,是目前Kubernetes主流的网络方案。

kubectl apply -f calico.yaml
kubectl get pods -n kube-system

等Calico Pod都Running,节点也会准备就绪:
在这里插入图片描述

http://www.dtcms.com/a/118156.html

相关文章:

  • QT ARM开发板调试
  • 《从零搭建Vue3项目实战》(AI辅助搭建Vue3+ElemntPlus后台管理项目)零基础入门系列第二篇:项目创建和初始化
  • Linux时间函数3-strftime时间格式转换、asctime时间固定格式、asctime_r线程安全、strftime/asctime/ctime区别
  • 组合与括号生成(回溯)
  • 开源模型应用落地-Qwen2.5-Omni-7B模型-Gradio-部署 “光速” 指南(二)
  • 2012年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析
  • React-04React组件状态(state),构造器初始化state以及数据读取,添加点击事件并更改state状态值
  • 深度学习篇---Prophet时间序列预测工具
  • 使用stm32cubeide stm32f407 lan8720a freertos lwip 实现udp client网络数据转串口数据过程详解
  • Scala相关知识学习总结5
  • 简述Unity对多线程的支持限制和注意事项
  • 【橘子大模型】使用streamlit来构建自己的聊天机器人(下)
  • echarts生成3D立体地图react组件
  • T-SQL语言的压力测试
  • Redis 面经
  • 基础算法篇(4)(蓝桥杯常考点)—数据结构(进阶)
  • (三)深入了解AVFoundation-播放:AVPlayer 进阶 播放状态 进度监听全解析
  • Spring Boot 自动装配原理
  • 前端如何检测项目中新版本的发布?
  • 聊聊Spring AI的RedisVectorStore
  • Lua 第5部分 表
  • 图的储存+图的遍历
  • Spring Boot 整合 Servlet三大组件(Servlet / Filter / Listene)
  • 开源大语言模型智能体应用开发平台——Dify
  • 项目复杂业务的数据流解耦处理方案整理
  • Java命令模式详解
  • Java面试39-Zookeeper中的Watch机制的原理
  • 前端服务配置详解:从入门到实战
  • 鸿蒙版小红书如何让图库访问完全由“你”掌控
  • 2025.04.07【数据科学新工具】| dynverse:数据标准化、排序、模拟与可视化的综合解决方案