https://zhuanlan.zhihu.com/p/89453704--HPA
https://blog.csdn.net/ygqygq2/article/details/82971338
Kubernetes基于Metrics Server的HPA
http://www.bubuko.com/infodetail-2591776.html
于heapster获取metric的HPA配置。在开始之前,有必要先了解一下K8S的HPA特性。
1、HPA全称Horizontal Pod Autoscaling,即pod的水平自动扩展。
自动扩展主要分为两种,其一为水平扩展,针对于实例数目的增减;其二为垂直扩展,即单个实例可以使用的资源的增减。HPA属于前者。
https://tomoyadeng.github.io/blog/2019/08/11/k8s-dashboard-openssl/index.html
附上一张 Kubernetes 监控系统的架构图
https://blog.csdn.net/weixin_45594593/article/details/102765715
Kubernetes V1.16.2部署Dashboard V2.0(beta5)
因为没有安装metrics-server所以Pods的CPU、内存情况是看不到的。
安装metrics-server
Ps:heapster已经被metrics-server取代
2.0---beta https://github.com/kubernetes/dashboard/
https://blog.csdn.net/networken/article/details/85607593
helm install ingress-nginx
搭建K8S 的dashboard的坑the server could not find the requested resource
https://www.cnblogs.com/jcici/p/11126581.html
kubectl label node master node-role.kubernetes.io/edge=
helm install heapster
https://blog.csdn.net/qianghaohao/article/details/98859392
helm install dashboard
https://blog.csdn.net/qianghaohao/article/details/98860671
kubectl get secret `kubectl get secret -n kube-system | grep admin-token | awk '{print $1}'` -o jsonpath={.data.token} -n kube-system | base64 -d
Porxy方式
如果要在本地访问dashboard,可运行如下命令:kubectl proxy
kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'
http://<master-ip>:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
可以成功访问到登录界面,但是填入token也无法登录,这是因为Dashboard只允许localhost和127.0.0.1使用HTTP连接进行访问,而其它地址只允许使用HTTPS。因此,如果需要在非本机访问Dashboard的话,只能选择其他访问方式。
API Server方式
如果Kubernetes API服务器是公开的,并可以从外部访问,那我们可以直接使用API Server的方式来访问,也是比较推荐的方式。
Dashboard的访问地址为:
https://<master-ip>:<apiserver-port>/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
这是因为最新版的k8s默认启用了RBAC,并为未认证用户赋予了一个默认的身份:anonymous。
对于API Server来说,它是使用证书进行认证的,我们需要先创建一个证书:
我们使用client-certificate-data和client-key-data生成一个p12文件,可使用下列命令:
# 生成client-certificate-data
grep 'client-certificate-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.crt
# 生成client-key-data
grep 'client-key-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.key
# 生成p12
openssl pkcs12 -export -clcerts -inkey kubecfg.key -in kubecfg.crt -out kubecfg.p12 -name "kubernetes-client