1 |
https://github.com/qist/k8s/tree/main/k8s-yaml |

- autotls目录 自动生成证书
- tls目录 手动签发证书 签发证书并生成secrets
1.autotls目录 (自动生成证书直接执行)
1 |
kubectl apply -f . |
2.tls目录(自签发证书)
使用cfss签发证书参考这里 (本文不涉及)
2.1、请打开deploy.sh 修改变量改成与自己的环境匹配
1 2 |
cd tls vim deploy.sh |
1 2 3 4 |
#更改为你的目录 HOST_PATH="/etc" #设置变量 CERT_PROFILE="kubernetes" |
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 |
#!/bin/bash HOST_PATH="/etc" CERT_PROFILE="kubernetes" cat << EOF | tee ${HOST_PATH}/cfssl/k8s/metrics-server.json { "CN": "metrics-server", "hosts": [""], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "$CERT_ST", "L": "$CERT_L", "O": "$CERT_O", "OU": "$CERT_OU" } ] } EOF cfssl gencert \ -ca=${HOST_PATH}/cfssl/pki/k8s/k8s-ca.pem \ -ca-key=${HOST_PATH}/cfssl/pki/k8s/k8s-ca-key.pem \ -config=${HOST_PATH}/cfssl/ca-config.json \ -profile=${CERT_PROFILE} \ ${HOST_PATH}/cfssl/k8s/metrics-server.json | \ cfssljson -bare ./metrics-server cat ${HOST_PATH}/cfssl/pki/k8s/k8s-ca.pem >> ./metrics-server.pem cat << EOF | tee ./metrics-server-secrets.yaml apiVersion: v1 kind: Secret metadata: labels: k8s-app: metrics-server name: metrics-server-certs namespace: kube-system type: Opaque data: metrics-server.pem: `cat ./metrics-server.pem|base64 | tr -d '\n'` metrics-server-key.pem: `cat ./metrics-server-key.pem|base64 | tr -d '\n'` EOF |
注意:如果不使用deploy.sh自动生成的secrets,那么也可以手动创建secrets
1 |
kubectl -n kube-system create secret generic metrics-server-certs --from-file=metrics-server-key.pem --from-file=metrics-server.pem |
2.2、执行脚本生成secret
1 |
/usr/bin/bash deploy.sh |

2.3、修改镜像(如果可以拉下来可以忽略)
1 2 |
metrics-server-deployment.yaml 镜像修改为[image: juestnow/metrics-server:v0.5.0]可以修改成自己的 |
2.4、然后部署metrics-server
1 |
kubectl apply -f . |
查看
1 2 |
kubectl get pod -n kube-system | grep metrics-server kubectl get service -n kube-system | grep metrics-server |

- 本文固定链接: https://www.yoyoask.com/?p=6981
- 转载请注明: shooter 于 SHOOTER 发表