K8S-Demo集群实践05:安装kubectl并配置集群管理员账户

  • kubectl是一个命令行工具,通过访问apiserver的接口,对集群进行操作管理
  • k8s-demo有3个master节点和3个node节点,为了方便操作kubectl部署在3个master节点上
  • 可以只部署在master1上,也可以部署在所有节点上,根据实际需要部署

一、下载kubectl

[root@master1 ~]# cd /opt/install/soft
[root@master1 ~]# wget https://dl.k8s.io/v1.18.5/kubernetes-client-linux-amd64.tar.gz
[root@master1 ~]# tar -xzvf kubernetes-client-linux-amd64.tar.gz
[root@master1 ~]# cd kubernetes/client/bin/
[root@master1 bin]# mv kubectl /opt/k8s/bin/
  • 下载地址 https://kubernetes.io/docs/setup/release/notes
  • k8s-demo使用 v1.18.5,后续会写一篇更新到最新版本的文章(挖个坑先~)

二、把kubectl分发到3个master节点

[root@master1 ~]# cd /opt/k8s/bin/
[root@master1 bin]# for node_ip in ${MASTER_IPS[@]}
  do
    echo ">>> ${node_ip}"
    scp kubectl root@${node_ip}:/opt/k8s/bin/
    ssh root@${node_ip} "chmod +x /opt/k8s/bin/*"
  done

三、配置集群管理员账户 kubeconfig

[root@master1 ~]# cd /opt/install/kubeconfig

## 设置集群参数
[root@master1 kubeconfig]# kubectl config set-cluster k8s-demo \
  --certificate-authority=/opt/install/cert/ca.pem \
  --embed-certs=true \
  --server=${KUBE_APISERVER} \
  --kubeconfig=kubectl.kubeconfig

## 设置客户端认证参数
[root@master1 kubeconfig]# kubectl config set-credentials k8s-demo-admin \
  --client-certificate=/opt/install/cert/kubectl-admin.pem \
  --client-key=/opt/install/cert/kubectl-admin-key.pem \
  --embed-certs=true \
  --kubeconfig=kubectl.kubeconfig

## 设置上下文参数  用户名 k8s-demo-admin
[root@master1 kubeconfig]# kubectl config set-context k8s-demo-admin-ctx \
  --cluster=k8s-demo \
  --user=k8s-demo-admin \
  --kubeconfig=kubectl.kubeconfig

## 设置默认上下文
[root@master1 kubeconfig]# kubectl config use-context k8s-demo-admin-ctx --kubeconfig=kubectl.kubeconfig
  • /opt/install/kubeconfig 是临时存放目录
  • –embed-certs=true:将 ca.pem 和 admin.pem 证书内容嵌入到生成的 kubectl.kubeconfig 文件中,否则写入的是证书文件路径后续拷贝 kubeconfig 到其它机器时,还需要单独拷贝证书文件,有点不方便

四、把kubeconfig分发到3个master节点

[root@master1 ~]# cd /opt/install/kubeconfig
[root@master1 kubeconfig]# for node_ip in ${MASTER_IPS[@]}
  do
    echo ">>> ${node_ip}"
    ssh root@${node_ip} "mkdir -p ~/.kube"
    scp kubectl.kubeconfig root@${node_ip}:~/.kube/config
  done

五、kubectl命令行简介

1、查看资源缩写

[root@master1 ~]# kubectl api-resources 
NAME                              SHORTNAMES   APIGROUP                       NAMESPACED   KIND
bindings                                                                      true         Binding
componentstatuses                 cs                                          false        ComponentStatus
configmaps                        cm                                          true         ConfigMap
endpoints                         ep                                          true         Endpoints
events                            ev                                          true         Event
limitranges                       limits                          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值