• 对于注定会优秀的人来说,他所需要的,只是时间----博主
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 本站开启了防爆破关小黑屋机制,如果您是正常登录但被关进小黑屋,请联系站长解除!

<四>安装kubectl-kubernetes-1.8.6集群搭建

kubernetes eryajf 2个月前 (10-05) 24°C 已收录 0个评论
本文预计阅读时间 5 分钟

*系列汇总*

这将会是一个系列文章在本站,如果你也想学习 k8s-1.8 版本的安装,那么可以根据这个教程进行搭建以及学习,同时也欢迎提出在搭建过程中遇到的任何问题,与博主一起探讨,毕竟我个人在搭建的时候也遇到过许许多多的坑,不过好在心态还不错,一点一点倒是也走出来了。一句话,世上无难事,只怕有心人。

汇总地址如右所示:k8s 系列汇总。

部署 kubectl 工具,创建 kubeconfig 文件。

kubectl 是 kubernetes 的集群管理工具,任一集群中的节点都可以通过 kubetcl 被管理。

本文是在 master 节点 部署,部署成功后会生成 /root/.kube/config 文件,kubectl 就是通过这个获取 kube-apiserver 地址、证书、用户名等信息,所以这个文件需要保管好。

1,下载安装包

# cd

# wget https://dl.k8s.io/v1.8.6/kubernetes-client-linux-amd64.tar.gz

# tar -xzvf kubernetes-client-linux-amd64.tar.gz

# sudo cp kubernetes/client/bin/kube* /usr/local/bin/

# chmod a+x /usr/local/bin/kube*

# export PATH=/root/local/bin:$PATH

2,创建/root/.kube/config

1,设置集群参数,–server 指定 Master 节点 ip

kubectl config set-cluster kubernetes \
  --certificate-authority=/etc/kubernetes/ssl/ca.pem \
  --embed-certs=true \
  --server=https://192.168.106.3:6443

2,设置客户端认证参数

kubectl config set-credentials admin \
  --client-certificate=/etc/kubernetes/ssl/admin.pem \
  --embed-certs=true \
  --client-key=/etc/kubernetes/ssl/admin-key.pem

3,设置上下文参数

kubectl config set-context kubernetes \
  --cluster=kubernetes \
  --user=admin

4,设置默认上下文

kubectl config use-context kubernetes
admin.pem 证书 O 字段值为 system:masters,kube-apiserver 预定义的 RoleBinding cluster-admin 将 Group system:masters 与 Role cluster-admin 绑定,该 Role 授予了调用 kube-apiserver 相关 API 的权限。

3,创建 bootstrap.kubeconfig

kubelet 访问 kube-apiserver 的时候是通过 bootstrap.kubeconfig 进行用户验证。

1,生成 token 变量

# export BOOTSTRAP_TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ')

# cat > token.csv <<EOF
${BOOTSTRAP_TOKEN},kubelet-bootstrap,10001,"system:kubelet-bootstrap"
EOF

# mv token.csv /etc/kubernetes/

2,设置集群参数–server 为 master 节点 ip

kubectl config set-cluster kubernetes \
  --certificate-authority=/etc/kubernetes/ssl/ca.pem \
  --embed-certs=true \
  --server=https://192.168.106.3:6443 \
  --kubeconfig=bootstrap.kubeconfig

3,设置客户端认证参数

kubectl config set-credentials kubelet-bootstrap \
  --token=${BOOTSTRAP_TOKEN} \
  --kubeconfig=bootstrap.kubeconfig

4,设置上下文参数

# kubectl config set-context default \
  --cluster=kubernetes \
  --user=kubelet-bootstrap \
  --kubeconfig=bootstrap.kubeconfig

5,设置默认上下文

# kubectl config use-context default --kubeconfig=bootstrap.kubeconfig

# mv bootstrap.kubeconfig /etc/kubernetes/

4,创建 kube-proxy.kubeconfig

1,设置集群参数 –server 参数为 master ip

kubectl config set-cluster kubernetes \
  --certificate-authority=/etc/kubernetes/ssl/ca.pem \
  --embed-certs=true \
  --server=https://192.168.106.3:6443 \
  --kubeconfig=kube-proxy.kubeconfig

2,设置客户端认证参数

kubectl config set-credentials kube-proxy \
  --client-certificate=/etc/kubernetes/ssl/kube-proxy.pem \
  --client-key=/etc/kubernetes/ssl/kube-proxy-key.pem \
  --embed-certs=true \
  --kubeconfig=kube-proxy.kubeconfig

3,设置上下文参数

kubectl config set-context default \
  --cluster=kubernetes \
  --user=kube-proxy \
  --kubeconfig=kube-proxy.kubeconfig

4,设置默认上下文

# kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig

# mv kube-proxy.kubeconfig /etc/kubernetes/
设置集群参数和客户端认证参数时 –embed-certs 都为 true,这会将 certificate-authority、client-certificate 和 client-key 指向的证书文件内容写入到生成的 kube-proxy.kubeconfig 文件中;

kube-proxy.pem 证书中 CN 为 system:kube-proxy,kube-apiserver 预定义的 RoleBinding cluster-admin 将 User system:kube-proxy 与 Role system:node-proxier 绑定,该 Role 授予了调用 kube-apiserver Proxy 相关 API 的权限;

5,同步配置文件。

生成的 bootstrap.kubeconfig,kube-proxy.kubeconfig 文件拷贝到其它 node 节点的/etc/kubernetes 目录下。

# scp /etc/kubernetes/kube-proxy.kubeconfig node01:/etc/kubernetes/
# scp /etc/kubernetes/bootstrap.kubeconfig  node01:/etc/kubernetes/

# scp /etc/kubernetes/kube-proxy.kubeconfig node02:/etc/kubernetes/
# scp /etc/kubernetes/bootstrap.kubeconfig  node02:/etc/kubernetes/

weinxin
扫码订阅,第一时间获得更新
微信扫码二维码,订阅我们网站的动态,另外不定时发送 WordPress 小技巧,你可以随时退订,欢迎订阅哦~

二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明<四>安装kubectl-kubernetes-1.8.6集群搭建
喜欢 (0)
[如果想支持本站,可支付宝赞助]
分享 (0)
eryajf
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址