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