https://www.cnblogs.com/majiang/p/11431577.html
这篇文章中的方法可参考。
1.安装Helm
1.1helm
无法科学上网,附上百度链接。
链接: https://pan.baidu.com/s/1bu-cpjVaSVGVXuWvWoqHEw
提取码: 5wds
# 解压
$ tar -zxvf helm-v2.13.1-linux-amd64.tar.gz
$ mv linux-amd64/helm /usr/local/bin/
# 没配置环境变量的需要先配置好
$ export PATH=$PATH:/usr/local/bin/
# 验证
$ helm version
1.2 安装Tilter
# 指向阿里云的仓库
$ helm init --client-only --stable-repo-url https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts/
$ helm repo add incubator https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/
$ helm repo update
# 因为官方的镜像无法拉取,使用-i指定自己的镜像
$ helm init --service-account tiller --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.13.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
# 创建TLS认证服务端
$ helm init --service-account tiller --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.13.1 --tiller-tls-cert /etc/kubernetes/ssl/tiller001.pem --tiller-tls-key /etc/kubernetes/ssl/tiller001-key.pem --tls-ca-cert /etc/kubernetes/ssl/ca.pem --tiller-namespace kube-system --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
1.2.1授权
因为 Helm 的服务端 Tiller 是一个部署在 Kubernetes 中的 Deployment,它会去访问ApiServer去对集群进行操作。目前的 Tiller 部署时默认没有定义授权的 ServiceAccount,这会导致访问 API Server 时被拒绝。所以我们需要明确为 Tiller 部署添加授权。
# 创建serviceaccount
$ kubectl create serviceaccount --namespace kube-system tiller
# 创建角色绑定
$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
1.3验证
# 查看Tiller的serviceaccount,需要跟我们创建的名字一致:tiller
$ kubectl get deploy --namespace kube-system tiller-deploy -o yaml|grep serviceAccount
# 验证pods
$ kubectl -n kube-system get pods|grep tiller
# 验证版本
$ helm version
2. operator
#资源准备
#下载charts项目
git clone https://github.com/helm/charts.git
#进入到项目里的stable,移出prometheus-opretor
#由于里面默认镜像源等问题,这里直接给出,我修改完成后的版本。进行直接使用。
#使用这里面的文件替换
链接:https://pan.baidu.com/s/1_EDsWv_k8kh5dbrHS3LNKw
提取码:s2ho
2.1正式安装
#正式安装
helm install ./prometheus-operator/ --name imooc-prom --namespace monitoring
#安装成功
#查看命令
kubectl get pods -o wide -n monitoring
kubectl get deploy -n monitoring
kubectl get ds -n monitoring
kubectl get statefulset -n monitoring
3.暴露服务
为了让浏览器访问,需要暴露服务。我采用Ingress的方法失败。原因不祥,后续若有发现,续更。现采用更改type的方法。
#grafana,alertmanager,prometheus的访问类型 修改type为NodePort,原先为ClusterIP
kubectl edit svc prometheus-operator-grafana -n monitoring
kubectl edit svc prometheus-operator-alertmanager -n monitoring
kubectl edit svc prometheus-operator-prometheus -n monitoring
kubectl get svc -n monitoring #查看修改后的访问类型
可看见端口的映射情况。
在物理机中输入 MasterIP:30110等,对prometheus进行访问。
(我是虚拟机部署的,我的具体部署情况可参考上一篇,k8s部署部署链接)
默认的用户名/密码为:admin/prom-operator
参考文献:慕课:K8S