k8s-03のバイナリインストール。すべてのサービスのkubeconfigファイルを生成します

k8s-03のバイナリインストール。すべてのサービスのkubeconfigファイルを生成します



kubectlが使用する管理者証明書署名要求を準備します

構成ファイルを作成する

[root @ master cert]
#pwd / data / k8s / cert
[root @ master cert] #vim admin-csr.json

{
    
    
  "CN": "admin",
  "hosts": [],
  "key": {
    
    
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
    
    
      "C": "CN",
      "ST": "SiChuan",
      "L": "ChengDu",
      "O": "system:masters",
      "OU": "Lswzw"
    }
  ]
}

注:
①署名:証明書が生成ca.pem証明書に他の証明書、CA = TRUEに署名するために使用することができることを示し、
②サーバー認証をクライアントがサーバにより提供される証明書を検証する証明書を使用できることを示している。
③ client auth:サーバーを示します。この証明書は、クライアントから提供された証明書を検証するために使用できます。

管理者証明書と秘密鍵を作成する
cfssl gencert \
  -ca=ca.pem \
  -ca-key=ca-key.pem \
  -config=ca-config.json \
  -profile=kubernetes admin-csr.json | cfssljson -bare admin
クラスターパラメーターの設定
kubectl config set-cluster kubernetes \
  --certificate-authority=ca.pem \
  --embed-certs=true \
  --server={
    
    {
    
     KUBE_APISERVER }} \
  --kubeconfig=/data/k8s/conf/kubectl.kubeconfig

私の{ {KUBE_APISERVER}}はhttps://192.168.100.59:6443です

クライアント認証パラメータを設定する
kubectl config set-credentials admin \
  --client-certificate=admin.pem \
  --client-key=admin-key.pem \
  --embed-certs=true \
  --kubeconfig=/data/k8s/conf/kubectl.kubeconfig
コンテキストパラメータを設定する
kubectl config set-context /data/k8s/conf/kubectl.kubeconfig \
  --cluster=kubernetes --user=admin
デフォルトのコンテキストを選択します
kubectl config use-context /data/k8s/conf/kubectl.kubeconfig




kube-proxy証明書署名要求を準備する

構成ファイルを作成する

[root @ master cert]
#pwd / data / k8s / cert
[root @ master cert] #vim kube-proxy-csr.json

{
    
    
  "CN": "system:kube-proxy",
  "hosts": [],
  "key": {
    
    
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
    
    
      "C": "CN",
      "ST": "SiChuan",
      "L": "ChengDu",
      "O": "k8s",
      "OU": "Lswzw"
    }
  ]
}

注:
①署名:証明書が生成ca.pem証明書に他の証明書、CA = TRUEに署名するために使用することができることを示し、
②サーバー認証をクライアントがサーバにより提供される証明書を検証する証明書を使用できることを示している。
③ client auth:サーバーを示します。この証明書は、クライアントから提供された証明書を検証するために使用できます。

kube-proxy証明書と秘密鍵を作成する
cfssl gencert \
  -ca=ca.pem \
  -ca-key=ca-key.pem \
  -config=ca-config.json \
  -profile=kubernetes kube-proxy-csr.json | cfssljson -bare kube-proxy
クラスターパラメーターの設定
kubectl config set-cluster kubernetes \
  --certificate-authority=ca.pem \
  --embed-certs=true \
  --server={
    
    {
    
     KUBE_APISERVER }} \
  --kubeconfig=/data/k8s/conf/kube-proxy.kubeconfig

私の{ {KUBE_APISERVER}}はhttps://192.168.100.59:6443です

クライアント認証パラメータを設定する
kubectl config set-credentials kube-proxy \
  --client-certificate=kube-proxy.pem \
  --client-key=kube-proxy-key.pem \
  --embed-certs=true \
  --kubeconfig=/data/k8s/conf/kube-proxy.kubeconfig
コンテキストパラメータを設定する
kubectl config set-context default \
  --cluster=kubernetes \
  --user=kube-proxy \
  --kubeconfig=/data/k8s/conf/kube-proxy.kubeconfig
デフォルトのコンテキストを選択します
kubectl config use-context default \
  --kubeconfig=/data/k8s/conf/kube-proxy.kubeconfig




kube-controller-manager証明書署名要求を準備します

構成ファイルを作成する

[root @ master cert]
#pwd / data / k8s / cert
[root @ master cert] #vim kube-controller-manager-csr.json

{
    
    
  "CN": "system:kube-controller-manager",
  "hosts": [],
  "key": {
    
    
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
    
    
      "C": "CN",
      "ST": "SiChuan",
      "L": "ChengDu",
      "O": "system:kube-controller-manager",
      "OU": "Lswzw"
    }
  ]
}

注:
①署名:証明書が生成ca.pem証明書に他の証明書、CA = TRUEに署名するために使用することができることを示し、
②サーバー認証をクライアントがサーバにより提供される証明書を検証する証明書を使用できることを示している。
③ client auth:サーバーを示します。この証明書は、クライアントから提供された証明書を検証するために使用できます。

kube-controller-manager証明書と秘密鍵を作成します
cfssl gencert \
  -ca=ca.pem \
  -ca-key=ca-key.pem \
  -config=ca-config.json \
  -profile=kubernetes kube-controller-manager-csr.json | cfssljson -bare kube-controller-manager
クラスターパラメーターの設定
kubectl config set-cluster kubernetes \
  --certificate-authority=ca.pem \
  --embed-certs=true \
  --server={
    
    {
    
     KUBE_APISERVER }} \
  --kubeconfig=/data/k8s/conf/kube-controller-manager.kubeconfig

私の{ {KUBE_APISERVER}}はhttps://192.168.100.59:6443です

クライアント認証パラメータを設定する
kubectl config set-credentials system:kube-controller-manager \
  --client-certificate=kube-controller-manager.pem \
  --client-key=kube-controller-manager-key.pem \
  --embed-certs=true \
  --kubeconfig=/data/k8s/conf/kube-controller-manager.kubeconfig
コンテキストパラメータを設定する
kubectl config set-context default \
  --cluster=kubernetes \
  --user=system:kube-controller-manager \
  --kubeconfig=/data/k8s/conf/kube-controller-manager.kubeconfig
デフォルトのコンテキストを選択します
kubectl config use-context default \
  --kubeconfig=/data/k8s/conf/kube-controller-manager.kubeconfig




kube-scheduler証明書署名要求を準備します

構成ファイルを作成する

[root @ master cert]
#pwd / data / k8s / cert
[root @ master cert] #vim kube-scheduler-csr.json

{
    
    
  "CN": "system:kube-scheduler",
  "hosts": [],
  "key": {
    
    
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
    
    
      "C": "CN",
      "ST": "HangZhou",
      "L": "XS",
      "O": "system:kube-scheduler",
      "OU": "System"
    }
  ]
}

注:
①署名:証明書が生成ca.pem証明書に他の証明書、CA = TRUEに署名するために使用することができることを示し、
②サーバー認証をクライアントがサーバにより提供される証明書を検証する証明書を使用できることを示している。
③ client auth:サーバーを示します。この証明書は、クライアントから提供された証明書を検証するために使用できます。

kube-scheduler証明書と秘密鍵を作成する
cfssl gencert \
  -ca=ca.pem \
  -ca-key=ca-key.pem \
  -config=ca-config.json \
  -profile=kubernetes kube-scheduler-csr.json  | cfssljson -bare kube-scheduler
クラスターパラメーターの設定
kubectl config set-cluster kubernetes \
  --certificate-authority=ca.pem \
  --embed-certs=true \
  --server={
    
    {
    
     KUBE_APISERVER }} \
  --kubeconfig=/data/k8s/conf/kube-scheduler.kubeconfig

私の{ {KUBE_APISERVER}}はhttps://192.168.100.59:6443です

クライアント認証パラメータを設定する
kubectl config set-credentials system:kube-scheduler \
  --client-certificate=kube-scheduler.pem \
  --client-key=kube-scheduler-key.pem \
  --embed-certs=true \
  --kubeconfig=/data/k8s/conf/kube-scheduler.kubeconfig
コンテキストパラメータを設定する
kubectl config set-context default \
  --cluster=kubernetes \
  --user=system:kube-scheduler \
  --kubeconfig=/data/k8s/conf/kube-scheduler.kubeconfig
デフォルトのコンテキストを選択します
kubectl config use-context default \
  --kubeconfig=/data/k8s/conf/kube-scheduler.kubeconfig




最終的なディレクトリ構造

[root@master k8s]# tree 
.
├── bin
│   ├── bridge
│   ├── cfssl
│   ├── cfssl-certinfo
│   ├── cfssljson
│   ├── containerd
│   ├── containerd-shim
│   ├── ctr
│   ├── docker
│   ├── dockerd
│   ├── docker-init
│   ├── docker-proxy
│   ├── etcd
│   ├── etcdctl
│   ├── kubeadm
│   ├── kube-apiserver
│   ├── kube-controller-manager
│   ├── kubectl
│   ├── kubelet
│   ├── kube-proxy
│   ├── kube-scheduler
│   └── runc
├── cert
│   ├── admin.csr
│   ├── admin-csr.json
│   ├── admin-key.pem
│   ├── admin.pem
│   ├── ca-config.json
│   ├── ca.csr
│   ├── ca-csr.json
│   ├── ca-key.pem
│   ├── ca.pem
│   ├── kube-controller-manager.csr
│   ├── kube-controller-manager-csr.json
│   ├── kube-controller-manager-key.pem
│   ├── kube-controller-manager.pem
│   ├── kube-proxy.csr
│   ├── kube-proxy-csr.json
│   ├── kube-proxy-key.pem
│   ├── kube-proxy.pem
│   ├── kube-scheduler.csr
│   ├── kube-scheduler-csr.json
│   ├── kube-scheduler-key.pem
│   └── kube-scheduler.pem
└── conf
    ├── kube-controller-manager.kubeconfig
    ├── kubectl.kubeconfig
    ├── kube-proxy.kubeconfig
    └── kube-scheduler.kubeconfig

おすすめ

転載: blog.csdn.net/lswzw/article/details/106125809