前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >二进制安装k8s集群(13)-安装kube-proxy

二进制安装k8s集群(13)-安装kube-proxy

作者头像
TA码字
发布2020-04-01 11:19:23
1.6K0
发布2020-04-01 11:19:23
举报
文章被收录于专栏:TA码字

上一篇文章里我们主要介绍worker组件kubelet的安装,这里我们开始介绍安装另一个worker组件kube-proxy,这里我们采用下载二进制binary制作linux systemd的方式安装。这个组件也在下载的kubenetes包里(1.15.1版本),在以前文章里已经下载过,这里就不再重复。另外kube-proxy与kube-apiserver交互我们开启ssl,所以请提前制作好相关ssl证书(可以参考以前文章里制作docker的证书),并copy到配置目录里。

copy二进制文件:

代码语言:javascript
复制
cp /opt/sw/kubernetes/install/kubernetes/server/bin/kube-proxy /usr/bin/
whereis kube-proxy

创建配置目录:

代码语言:javascript
复制
mkdir -p /etc/kubernetes/kube-proxy
touch  /etc/kubernetes/kube-proxy/k8s-kube-proxy.conf

创建配置文件:

kube-proxy需要和kube-apiserver交互,这个交互可以利用kubeconfig文件做为配置文件。所以与kube-controller-manager一样,我们可以利用在kubectl安装过程中我们创建的kubeconfig文件。另外kube-proxy负责从kube-apiserver读取service和endpoints的信息,在host上创建iptable规则来实现k8s集群内部的负载均衡。对于kube-proxy的工作模式有iptable模式和ipvs模式,这里我们配置采用iptable模式。当然ipvs模式对于k8s内部service非常多的时候效率更高,对于实际应用具体选用那种模式请根据实际需求来定。对这块感兴趣的同学可以多了解一下iptable,ipvs(LVS负载均衡就是用的这个),以及在k8s里创建的相应规则,这里就不展开细节,扩展起来也可以写一个系列了。

代码语言:javascript
复制
cat >  /etc/kubernetes/kube-proxy/k8s-kube-proxy.conf<<EOF
KUBE_CONFIG_FILE="--kubeconfig=/etc/kubernetes/kubeconfig/config"
KUBE_PROXY_ARGS=""
EOF

source /etc/kubernetes/kube-proxy/k8s-kube-proxy.conf

创建systemd unit文件:

代码语言:javascript
复制
touch /usr/lib/systemd/system/kube-proxy.service

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

[Service]
Type=simple
EnvironmentFile=-/etc/kubernetes/kube-proxy/k8s-kube-proxy.conf
ExecStartPre=-source /etc/kubernetes/kube-proxy/k8s-kube-proxy.conf
ExecStart=/usr/bin/kube-proxy ${KUBE_CONFIG_FILE} ${KUBE_PROXY_ARGS}

Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

cat /usr/lib/systemd/system/kube-proxy.service

reload服务并设置开机启动:

代码语言:javascript
复制
systemctl daemon-reload
systemctl enable kube-proxy

启动服务并检查状态:

代码语言:javascript
复制
systemctl start kube-proxy
systemctl status kube-proxy
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TA码字 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档