(3)kubectl工具

创建相关目录

mkdir -p ~/.kube

kubectl二进制文件

cd /opt/k8s-playbook
cp kubernetes/server/bin/kubectl /opt/k8s/bin/
chmod +x /opt/k8s/bin/kubectl

前提是已将相关安装包解压到了/opt/k8s-playbook

创建admin证书

创建配置文件

cd /opt/k8s-playbook/ssl
vim admin-csr.json
###########################
{
  "CN": "admin",
  "hosts": [],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "CN",
      "ST": "Shezhen",
      "L": "Shenzhen",
      "O": "system:masters",
      "OU": "magina"
    }
  ]
}
###########################

生成证书

cfssl gencert -ca=ca.pem \
  -ca-key=ca-key.pem \
  -config=ca-config.json \
  -profile=kubernetes admin-csr.json | cfssljson -bare admin

创建kubectl.kubeconfig

设置集群参数

kubectl config set-cluster kubernetes \
  --certificate-authority=/etc/k8s/cert/ca.pem \
  --embed-certs=true \
  --server=192.168.104.61:8443 \
  --kubeconfig=kubectl.kubeconfig

192.168.104.61:8443: VIP地址, 这里以master-01的IP为VIP

设置客户端认证参数

kubectl config set-credentials admin \
  --client-certificate=admin.pem \
  --client-key=admin-key.pem \
  --embed-certs=true \
  --kubeconfig=kubectl.kubeconfig

设置上下文参数

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

设置默认上下文

kubectl config use-context kubernetes --kubeconfig=kubectl.kubeconfig

复制到用户目录

cp kubectl.kubeconfig ~/.kube/config

如果其他主机也想使用kubectl命令, 也可以将配置文件复制到相关用户目录下

展示评论