美文网首页kubernetes本地部署
3. kubectl部署以及基本使用

3. kubectl部署以及基本使用

作者: 一瓶多先生 | 来源:发表于2020-11-10 08:31 被阅读0次

    目录

    本文档介绍下载和配置 kubernetes 集群命令行工具 kubectl 的步骤。

    01.下载 kubectl

    注意请下载对应的Kubernetes版本的安装包。

    DOWNURL='https://storage.googleapis.com/kubernetes-release/release'
    #获取最新版本的kubrnetes
    GETVERSION=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)
    #下载kubectl
    curl -L ${DOWNURL}/${GETVERSION}/bin/linux/amd64/kube-apiserver -o /srv/kubernetes/bin/kubectl
    
    cd /srv/kubernetes/bin
    chmod +x kubectl
    

    02.kubectl 客户端凭证

    创建 admin client 凭证签发请求文件:

    cat > admin-csr.json <<EOF
    {
      "CN": "admin",
      "key": {
        "algo": "rsa",
        "size": 2048
      },
      "names": [
        {
          "C": "CN",
          "L": "BeiJing",
          "O": "system:masters",
          "OU": "gxd-test",
          "ST": "BeiJing"
        }
      ]
    }
    EOF
    

    创建 admin client 凭证和私钥:

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

    结果将生成以下两个文件

    admin-key.pem
    admin.pem
    

    03.创建kubeconfig文件

    export KUBE_APISERVER="https://apiserver-p001.svc.gxd88.cn:6443"
    
    • 设置集群参数
    kubectl config set-cluster kubernetes \
      --certificate-authority=ca.pem \
      --embed-certs=true \
      --server=${KUBE_APISERVER}
    
    • 设置客户端认证参数
    kubectl config set-credentials admin \
      --client-certificate=admin.pem \
      --embed-certs=true \
      --client-key=admin-key.pem
    
    • 设置上下文参数
    kubectl config set-context kubernetes \
      --cluster=kubernetes \
      --user=admin
    
    • 设置默认上下文
    kubectl config use-context kubernetes
    
    • admin.pem 证书 OU 字段值为 system:masters,kube-apiserver 预定义的 RoleBinding cluster-admin 将 Group system:masters 与 Role cluster-admin 绑定,该 Role 授予了调用kube-apiserver 相关 API 的权限;
    • 生成的 kubeconfig 被保存到 ~/.kube/config 文件;

      注意:~/.kube/config文件拥有对该集群的最高权限,请妥善保管。

    04.设置kubectl 自动补全

    通过以上方法进行配置了,便实现了kubectl的自动补全。

    k8s 命令自动补全

    yum install -y bash-completion
    source /usr/share/bash-completion/bash_completion
    source <(kubectl completion bash)
    echo "source <(kubectl completion bash)" >> ~/.bashrc
    

    相关文章

      网友评论

        本文标题:3. kubectl部署以及基本使用

        本文链接:https://www.haomeiwen.com/subject/ymfqbktx.html