在Kubernetes集群中安装Helm及证书认证

时间:2021-09-30 17:38:26

安装Kubernetes

测试环境使用kubeadm安装kubernetes v1.6.3版本, 安装过程略过.

为Helm创建客户端认证

客户端认证是为了能够使用helm命令行调用Helm的服务端Tiller.

cd /etc/kubernetes/pki/

# 编译认证文件
openssl genrsa -out helm.key 2048
openssl req -new -key helm.key -subj "/CN=helm" -out helm.csr
openssl x509 -req -in helm.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out helm.crt -days 10000
openssl x509 -noout -text -in ./helm.crt # 创建Helm context
kubectl config set-context helm@kubernetes --cluster=kubernetes --namespace=monitoring --user=helm
# 设置helm用户的客户端认证
kubectl config set-credentials helm --client-certificate=helm.crt --client-key=helm.key --embed-certs=true
# 切换至helm context
kubectl config use-context helm@kubernetes

为Helm设置服务端RBAC授权

服务端RBAC授权是为了让Tiller有权限在其他namesapce中创建资源.

# 切换至admin context
kubectl config use-context kubernetes-admin@kubernetes
# 创建helm使用的serviceaccount
kubectl create serviceaccount helm --namespace=kube-system
# 创建角色绑定
kubectl create clusterrolebinding helm-sa-admin --clusterrole=admin --serviceaccount=kube-system:helm --namespace=kube-system

安装Helm

# 切换至helm context
kubectl config use-context helm@kubernetes
# 安装helm, 使用授权好的serviceaccount
helm init --service-account=helm

使用helm安装prometheus

kubectl create namespace monitoring
helm install stable/prometheus --name=prometheu
helm status prometheus

链接:https://www.jianshu.com/p/XZ5PWC