kubernetes集群安装指南:kube-proxy组件部署
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,kube-proxy组件是要是为集群内pod应用提供endpoint服务,当我们为一个pod定义了svc时,kube-proxy会自动生成pod与svc的映射关系,并代理到集群内部或宿主机上。1 安装
千家信息网最后更新 2025年12月02日kubernetes集群安装指南:kube-proxy组件部署
kube-proxy组件是要是为集群内pod应用提供endpoint服务,当我们为一个pod定义了svc时,kube-proxy会自动生成pod与svc的映射关系,并代理到集群内部或宿主机上。
1 安装准备
特别说明:这里所有的操作都是在devops这台机器上通过ansible工具执行;kube-proxy 需要使用kubeconfig认证文件安全访问kube-apiserver:它监听 apiserver 中 service 和 endpoint 的变化情况,创建路由规则以提供服务 IP 和负载均衡功能。
1.1 环境变量定义
#################### Variable parameter setting ######################KUBE_NAME=kube-proxyK8S_INSTALL_PATH=/data/apps/k8s/kubernetesK8S_BIN_PATH=${K8S_INSTALL_PATH}/sbinK8S_LOG_DIR=${K8S_INSTALL_PATH}/logsK8S_CONF_PATH=/etc/k8s/kubernetesKUBE_CONFIG_PATH=/etc/k8s/kubeconfigCA_DIR=/etc/k8s/sslSOFTWARE=/root/softwareHOSTNAME=`hostname`VERSION=v1.14.2PACKAGE=kubernetes-server-${VERSION}-linux-amd64.tar.gzDOWNLOAD_URL=https://github.com/devops-apps/download/raw/master/kubernetes/$PACKAGEETH_INTERFACE=eth2LISTEN_IP=$(ifconfig | grep -A 1 ${ETH_INTERFACE} |grep inet |awk '{print $2}')CLUSTER_PODS_CIDR=172.16.0.0/201.2 下载和分发 kubernetes 二进制文件
访问kubernetes github 官方地址下载稳定的 realease 包至本机;
wget $DOWNLOAD_URL -P $SOFTWARE将kubernetes 软件包分发到各个master节点服务器;
sudo ansible master_k8s_vgs -m copy -a "src=${SOFTWARE}/$PACKAGE dest=${SOFTWARE}/" -b2 部署kube-proxy集群
2.1 安装kube-proxy二进制文件
### 1.Check if the install directory exists.if [ ! -d "$K8S_BIN_PATH" ]; then mkdir -p $K8S_BIN_PATHfiif [ ! -d "$K8S_LOG_DIR/$KUBE_NAME" ]; then mkdir -p $K8S_LOG_DIR/$KUBE_NAMEfiif [ ! -d "$K8S_CONF_PATH" ]; then mkdir -p $K8S_CONF_PATHfiif [ ! -d "$KUBE_CONFIG_PATH" ]; then mkdir -p $KUBE_CONFIG_PATHfi### 2.Install kube-proxy binary of kubernetes.if [ ! -f "$SOFTWARE/kubernetes-server-${VERSION}-linux-amd64.tar.gz" ]; then wget $DOWNLOAD_URL -P $SOFTWARE >>/tmp/install.log 2>&1ficd $SOFTWARE && tar -xzf kubernetes-server-${VERSION}-linux-amd64.tar.gz -C ./cp -fp kubernetes/server/bin/$KUBE_NAME $K8S_BIN_PATHln -sf $K8S_BIN_PATH/${KUBE_NAME} /usr/local/binchmod -R 755 $K8S_INSTALL_PATH2.2 分发kubeconfig文件和证书文件
分发CA根证书
cd $CA_DIRansible worker_k8s_vgs -m copy -a "src=ca.pem dest=$CA_DIR" -b分发kubeconfig认证文件
kube-proxy使用 kubeconfig文件连接访问 apiserver服务,该文件提供了 apiserver 地址、嵌入的 CA 证书和 kube-proxy服务器证书以及私钥:
cd $KUBE_CONFIG_PATHansible worker_k8s_vgs -m copy -a "src= kube-proxy.kubeconfig dest=$KUBE_CONFIG_PATH" -b备注: 如果在前面小节已经同步过各组件kubeconfig和证书文件,此处可以不必执行此操作;
2.3 创建kube-proxy配置文件
cat >${K8S_CONF_PATH}/kube-proxy-config.yaml<- bindAddress: 监听地址;
- clientConnection.kubeconfig: 连接 apiserver 的 kubeconfig 文件;
- clusterCIDR: kube-proxy 根据 --cluster-cidr 判断集群内部和外部流量,指定 --cluster-cidr 或 --masquerade-all 选项后 kube-proxy 才会对访问 Service IP 的请求做 SNAT;
- hostnameOverride: 参数值必须与 kubelet 的值一致,否则 kube-proxy 启动后会找不到该 Node,从而不会创建任何 ipvs 规则;
- mode: 使用 ipvs 模式;
2.4 创建kube-proxy 启动服务
cat >/usr/lib/systemd/system/${KUBE_NAME}.service <2.5 检查服务运行状态
systemctl status kube-proxy|grep Active确保状态为 active (running),否则查看日志,确认原因:
sudo journalctl -u kube-proxy2.6 查看输出的 metrics
注意:以下命令在 kube-scheduler 节点上执行。kube-proxy 监听 10249 和 10256 端口:两个接口都对外提供 /metrics 和 /healthz 的访问。
sudo netstat -ntlp | grep kube-proxytcp 0 0 10.10.10.40:10249 0.0.0.0:* LISTEN 22604/kube-proxytcp 0 0 10.10.10.40:10256 0.0.0.0:* LISTEN 22604/kube-proxy2.7 查看查看 ipvs 路由规则
sudo ipvsadm -lnIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 192.168.20.40:8400 rr -> 172.16.3.2:8080 Masq 1 0 0 -> 172.16.3.3:8080 Masq 1 0 0 -> 172.16.3.4:8080 Masq 1 0 0 TCP 192.168.20.40:8497 rr -> 172.16.3.2:8500 Masq 1 0 0 -> 172.16.3.3:8500 Masq 1 0 0 -> 172.16.3.4:8500 Masq 1 0 0 TCP 10.10.10.40:8400 rr -> 172.16.3.2:8080 Masq 1 0 0 -> 172.16.3.3:8080 Masq 1 0 0 -> 172.16.3.4:8080 Masq 1 0 0 至此整个集群基本部署完成,关于kubernetes集群监控请参考:kubernetes集群安装指南:kubernetes集群插件部署。kube-proxy脚本可以从此处获取,
文件
集群
服务
证书
地址
规则
监听
组件
二进制
服务器
状态
节点
路由
认证
一致
均衡
两个
功能
原因
参数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
适合存稀疏表的数据库
注册服务器占用cpu
广州懿泰软件开发有限公司
宿豫区直销网络技术参考价格
软件开发部门业绩
争做网络安全宣传员征文
数据库的综训目的
腾讯云服务器开启smtp
oracle数据库故障
河南省商丘市网络安全检查
开县网络安全工程师
计算机数据库三级难么
浙江计算机网络技术题型
普陀区管理软件开发质量保障
鹤壁 网络技术有限公司招聘
传奇私服服务器下载
云呼科技互联网平台
如何加强防护远程桌面服务器
视频网络技术
摩拜单车 服务器
华为手机帐号无法连接服务器
远程服务器里面如何配置
数据库对象权限
wr720n硬改打印服务器
河南企业财务软件开发
云呼科技互联网平台
服务器配置与管理实训
公安科技 互联网
网络安全方案汇报演出
公安网络安全事故