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

二进制安装k8s集群(12)-安装kubelet

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

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

copy二进制文件:

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

创建配置目录:

kubelet和kube-apiserver会相互通讯,相互作为client端与server端。这里kubelet作为server端的时候开启ssl,请提前制作好相应的ssl证书并copy到配置目录里。

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

创建配置文件:

kubelet需要和kube-apiserver交互,这个交互可以利用kubeconfig文件做为配置文件。所以与kube-controller-manager一样,我们可以利用在kubectl安装过程中我们创建的kubeconfig文件。同时kubelet负责创建销毁pod,要为pod配置基础镜像,这里设置为私有repo的public项目中的

172.20.11.41:1034/infra-pub/registry.access.redhat.com-rhel7-pod-infrastructure:latest(已经在以前文章里我们push到private repo中)。

代码语言:javascript
复制
cat >  /etc/kubernetes/kubelet/k8s-kubelet.conf<<EOF
KUBELET_ADDRESS="--address=0.0.0.0 --port=10250"
KUBELET_TLS="--tls-cert-file=/etc/kubernetes/kubelet/cert/k8skubelet-server.crt --tls-private-key-file=/etc/kubernetes/kubelet/cert/k8skubelet-server.key"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=172.20.11.41:1034/infra-pub/registry.access.redhat.com-rhel7-pod-infrastructure:latest"
KUBELET_KUBE_CONFIG="--kubeconfig=/etc/kubernetes/kubeconfig/config"
KUBELET_CLUSTER="--cluster-dns=10.254.10.2 --cluster-domain=cluster.local"
KUBELET_ARGS="--fail-swap-on=false --hostname-override=172.20.11.43"
EOF

source /etc/kubernetes/kubelet/k8s-kubelet.conf

创建systemd unit文件:

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

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

[Service]
Type=simple
EnvironmentFile=-/etc/kubernetes/kubelet/k8s-kubelet.conf
ExecStartPre=-source /etc/kubernetes/kubelet/k8s-kubelet.conf
ExecStart=/usr/bin/kubelet \
${KUBELET_ADDRESS} \
${KUBELET_TLS} \
${KUBELET_POD_INFRA_CONTAINER} \
${KUBELET_KUBE_CONFIG} \
${KUBELET_CLUSTER} \
${KUBELET_ARGS}

Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

source /etc/kubernetes/kubelet/k8s-kubelet.conf
cat /usr/lib/systemd/system/kubelet.service

reload服务并设置开机启动:

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

启动服务并检查状态:

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档