1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| sudo wget -O /usr/bin/cfssl https://github.com/cloudflare/cfssl/releases/download/v1.6.5/cfssl_1.6.5_linux_arm64 sudo wget -O /usr/bin/cfssljson https://github.com/cloudflare/cfssl/releases/download/v1.6.5/cfssljson_1.6.5_linux_arm64 sudo wget -O /usr/bin/cfssl-certinfo https://github.com/cloudflare/cfssl/releases/download/v1.6.5/cfssl-certinfo_1.6.5_linux_arm64 chmod +x /usr/bin/cfssl*
$ mkdir -p /etc/kubernetes/pki/etcd $ cd /etc/kubernetes/pki/etcd
$ echo '{"CN":"CA","key":{"algo":"rsa","size":2048}, "ca": {"expiry": "438000h"}}' | cfssl gencert -initca - | cfssljson -bare ./ca - echo '{"signing":{"default":{"expiry":"438000h","usages":["signing","key encipherment","server auth","client auth"]}}}' > ./ca-config.json
echo '{"CN":"'etcd-server'","hosts":[""],"key":{"algo":"rsa","size":2048}}' | cfssl gencert -config=./ca-config.json -ca=./ca.pem -ca-key=./ca-key.pem -hostname="localhost,orangepizero3,192.168.1.200,127.0.0.1" - | cfssljson -bare etcd-server
echo '{"CN":"'etcd-peer'","hosts":[""],"key":{"algo":"rsa","size":2048}}' | cfssl gencert -config=./ca-config.json -ca=./ca.pem -ca-key=./ca-key.pem -hostname="localhost,orangepizero3,192.168.1.200,127.0.0.1" - | cfssljson -bare etcd-peer
echo '{"CN": "kube-apiserver-etcd-client","hosts":[""],"key": { "algo": "rsa","size": 2048},"names": [{"CN": "kube-apiserver-etcd-client","O": "system:masters"}]}' | cfssl gencert -config=./ca-config.json -ca=./ca.pem -ca-key=./ca-key.pem - | cfssljson -bare kube-apiserver-etcd-client
$ mkdir -p /etc/kubernetes/pki $ cd /etc/kubernetes/pki
echo '{"CN":"kubernetes CA","key":{"algo":"rsa","size":2048}, "ca": {"expiry": "438000h"}}' | cfssl gencert -initca - | cfssljson -bare ./ca - echo '{"signing":{"default":{"expiry":"438000h","usages":["signing","key encipherment","server auth","client auth"]}}}' > ./ca-config.json
echo '{"CN":"'kube-apiserver'","hosts":[""],"key":{"algo":"rsa","size":2048}}' | cfssl gencert -config=./ca-config.json -ca=./ca.pem -ca-key=./ca-key.pem -hostname="apiserver.cluster.local,kubernetes,kubernetes.default,kubernetes.default.svc,kubernetes.default.svc.cluster.local,localhost,orangepizero3,192.168.1.200,127.0.0.1,172.30.0.1" - | cfssljson -bare apiserver
echo '{"CN": "apiserver-kubelet-client","hosts":[""],"key": { "algo": "rsa","size": 2048},"names": [{"CN": "kube-apiserver-kubelet-client","O": "system:masters"}]}' | cfssl gencert -config=./ca-config.json -ca=./ca.pem -ca-key=./ca-key.pem - | cfssljson -bare apiserver-kubelet-client
echo '{"CN": "system:kube-scheduler","hosts":[""],"key": { "algo": "rsa","size": 2048},"names": [{"CN": "system:kube-scheduler"}]}' | cfssl gencert -config=./ca-config.json -ca=./ca.pem -ca-key=./ca-key.pem - | cfssljson -bare kube-scheduler
echo '{"CN": "system:kube-controller-manager","hosts":[""],"key": { "algo": "rsa","size": 2048},"names": [{"CN": "system:kube-controller-manager"}]}' | cfssl gencert -config=./ca-config.json -ca=./ca.pem -ca-key=./ca-key.pem - | cfssljson -bare kube-controller-manager
echo '{"CN": "kubernetes-admin","hosts":[""],"key": { "algo": "rsa","size": 2048},"names": [{"CN": "kubernetes-admin","O": "system:masters"}]}' | cfssl gencert -config=./ca-config.json -ca=./ca.pem -ca-key=./ca-key.pem - | cfssljson -bare kubernetes-admin
echo '{"CN":"front-proxy-ca","key":{"algo":"rsa","size":2048}, "ca": {"expiry": "438000h"}}' | cfssl gencert -initca - | cfssljson -bare ./front-proxy-ca - echo '{"signing":{"default":{"expiry":"438000h","usages":["signing","key encipherment","server auth","client auth"]}}}' > ./front-proxy-ca-config.json
echo '{"CN":"front-proxy-client","hosts":[""],"key":{"algo":"rsa","size":2048},"names":[{"CN": "front-proxy-client"}]}' | cfssl gencert -config=./front-proxy-ca-config.json -ca=./front-proxy-ca.pem -ca-key=./front-proxy-ca-key.pem - | cfssljson -bare front-proxy-client
$ openssl genpkey -algorithm RSA -out sa.key $ openssl rsa -in sa.key -pubout -out sa.pub
|