バイナリインストールk8s-02。バイナリファイルのダウンロードと証明書の生成
バイナリファイルのダウンロード
----download k8s binary at:
https://dl.k8s.io/v1.15.6/kubernetes-server-linux-amd64.tar.gz
----download etcd binary at:
https://storage.googleapis.com/etcd/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz
----download docker binary at:
https://download.docker.com/linux/static/stable/x86_64/docker-18.09.8.tgz
----download ca tools at:
https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
----download cni plugins at:
https://github.com/containernetworking/plugins/releases/download/v0.8.5/cni-plugins-linux-amd64-v0.8.5.tgz
作業ディレクトリを作成し、必要なバイナリファイルを解凍します
[root@master data]# mkdir -p /data/k8s/{bin,cert}
# master 节点须要文件
证书:cfssl 、 cfssl-certinfo 、 cfssljson
K8S: kube-apiserver 、 kube-controller-manager 、 kube-scheduler 、 kubectl
# etcd 节点须要文件
ETCD文件:etcd 、 etcdctl
# node 节点须要文件
网络:bridge 、
docker: containerd 、 containerd-shim 、 ctr 、 docker 、 dockerd 、docker-init 、 docker-proxy 、 runc
证书:cfssl 、 cfssl-certinfo 、 cfssljson
K8S: kubelet 、 kube-proxy
環境変数を追加する
[root@master /]# echo export PATH=/data/k8s/bin:$PATH >> /etc/profile
[root@master /]# source /etc/profile
CA証明書を生成する
構成ファイルを作成する
[root @ master cert]
#pwd / data / k8s / cert
[root @ master cert] #vim ca-config.json
{
"signing": {
"default": {
"expiry": "876000h"
},
"profiles": {
"kubernetes": {
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
],
"expiry": "876000h"
}
}
}
}
注:
①署名:証明書が生成ca.pem証明書に他の証明書、CA = TRUEに署名するために使用することができることを示し、
②サーバー認証をクライアントがサーバにより提供される証明書を検証する証明書を使用できることを示している。
③ client auth:サーバーを示します。この証明書は、クライアントから提供された証明書を検証するために使用できます。
証明書署名要求ファイルを作成します
[root @ master cert]
#pwd / data / k8s / cert
[root @ master cert] #vim ca-csr.json
{
"CN": "kubernetes",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "SiChuan",
"L": "ChengDu",
"O": "k8s",
"OU": "Lswzw"
}
],
"ca": {
"expiry": "876000h"
}
}
証明書を生成する
[root@master cert]# cfssl gencert -initca ca-csr.json | cfssljson -bare ca
2020/05/13 13:52:43 [INFO] generating a new CA key and certificate from CSR
2020/05/13 13:52:43 [INFO] generate received request
2020/05/13 13:52:43 [INFO] received CSR
2020/05/13 13:52:43 [INFO] generating key: rsa-2048
2020/05/13 13:52:43 [INFO] encoded CSR
2020/05/13 13:52:43 [INFO] signed certificate with serial number 674406950913508030822972235238493814155570887590
[root@master cert]# ls
ca-config.json ca.csr ca-csr.json ca-key.pem ca.pem
kubeconfigファイルストレージディレクトリを作成します
mkdir /data/k8s/conf