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

二进制安装k8s集群(10)-安装kube-controller-manager

作者头像
TA码字
发布2020-04-01 11:03:59
6340
发布2020-04-01 11:03:59
举报
文章被收录于专栏:TA码字TA码字

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

copy二进制文件

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

配置kubeconfig文件:

kube-controller-manager需要和kube-apiserver交互,这个交互可以利用kubeconfig文件做为配置文件。在上一篇的kubectl里安装里我们已经创建了kubeconfig文件,所以这里可以重复利用这个文件。

代码语言:javascript
复制
cp ~/.kube/config /etc/kubernetes/kubeconfig/

创建配置目录:

这里会把ca.crt和k8sapiserver-server.key两个文件放到配置目录里,ca.crt是用于kube-controller-managerservice生成 service-account的,k8sapiserver-server.key是kube-controller-manager用于给service-account的token签名的。

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

创建配置文件

代码语言:javascript
复制
cat > /etc/kubernetes/controller-manager/k8s-controller-manager.conf<<EOF
IN_SECURE_ACCESS="--address=127.0.0.1 --port=10252"
CLUSTER_IP_RANGE="--service-cluster-ip-range=10.254.0.0/16"
SERVICE_ACCOUNT_ARGS="--root-ca-file=/etc/kubernetes/controller-manager/ca.crt --service-account-private-key-file=/etc/kubernetes/controller-manager/k8sapiserver-server.key"
KUBE_CONFIG_FILE="--kubeconfig=/etc/kubernetes/kubeconfig/config"
EOF

source /etc/kubernetes/controller-manager/k8s-controller-manager.conf

创建systemd unit文件

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

cat > /usr/lib/systemd/system/kube-controller-manager.service<<EOF
[Unit]
Description=Kubernetes Controller Manger Service
After=network.target network-online.target kube-apiserver.service
Wants=network-online.target kube-apiserver.service

[Service]
Type=simple
EnvironmentFile=-/etc/kubernetes/controller-manager/k8s-controller-manager.conf
ExecStartPre=-source /etc/kubernetes/controller-manager/k8s-controller-manager.conf
ExecStart=/usr/bin/kube-controller-manager \
${IN_SECURE_ACCESS} \
${CLUSTER_IP_RANGE} \
${SERVICE_ACCOUNT_ARGS} \
${KUBE_CONFIG_FILE}

Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

cat /usr/lib/systemd/system/kube-controller-manager.service

reload服务并设置开机启动

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

启动服务并检查状态

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

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

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

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

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