一、 k8s的UI访问界面-dashboard
在dashboard中,虽然可以做到创建、删除、修改资源等操作,但通常情况下,我们会把它当做监控k8s集群的软件。
1、到GitHub主页上搜索"dashboard"即可。
//可以直接远程运行对应的yaml文件,不过,我们要看一看这个yaml文件内都有些什么内容,然后还需要将svc资源类型更改为NodePort的方式,所以这里我们可以先将这个yam文件下载到本地。
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
注:如果网站访问被拒绝,修改dns为114.114.114.114 (vim /etc/resolv.conf);
或修改/etc/hosts添加域名解析条目,ip地址使用site.ip138.com解析得出。
//更改其SVC资源的类型。
...
spec: #39行
type: NodePort
ports:
- port: 443
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
...
kubectl apply -f recommended.yaml
//通常,涉及到k8s的镜像,国内下载往往很慢,不过这个还好。运行过后,查看对应的SVC暴露端口,注意,这个是基于https的访问。
[root@master dashboard]# kubectl get svc -n kubernetes-dashboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
dashboard-metrics-scraper ClusterIP 10.107.195.150 <none> 8000/TCP 54s
kubernetes-dashboard NodePort 10.109.65.106 <none> 443:30990/TCP 55s
//此时可以看到,登录dashboard有两种方式,哪一种都可以。
基于token的方法登录dashboard
1、创建一个dashboard的管理用户。
kubectl create serviceaccount dashboard-admin -n kube-system
2、绑定用户为集群管理用户。
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
3、获取token.
//得到token的名称
kubectl get secrets -n kube-system | grep dashboard-admin
dashboard-admin-token-jv77h #自己写自己的
//查看上述得到的secret资源的详细信息,会得到token.
kubectl describe secrets -n kube-system dashboard-admin-token-jv77h
4、在浏览器上使用token登录。
PS: 如果是使用的旧版本的dashboard,使用谷歌浏览器登录,可能是不成功的,需要换成其他的浏览器,比如:火狐。
基于kubeconfig配置文件的方法登录dashboard
1、获取token.
//得到token的名称
kubectl get secrets -n kube-system | grep dashboard-admin
dashboard-admin-token-jv77h
//查看上述得到的secret资源的详细信息,会得到token.
kubectl describe secrets -n kube-system dashboard-admin-token-jv77h
2、生成kubeconfig配置文件。
//设置一个环境变量代表获取的token。
DASH_TOKEN=$(kubectl get secrets -n kube-system dashboard-admin-token-jv77h -o jsonpath={.data.token} | base64 -d)
//将k8s集群的配置信息写入kubeconfig配置文件中。
kubectl config set-cluster kubernetes --server=192.168.8.10:6443 --kubeconfig=/root/.dashboard-admin.conf
kubectl config set-credentials dashboard-admin --token=$DASH_TOKEN --kubeconfig=/root/.dashboard-admin.conf
kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/root/.dashboard-admin.conf
kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/root/.dashboard-admin.conf
3、将生成的/root/.dashboard-admin.conf的配置文件,导出并做保存。
sz /root/.dashboard-admin.conf
4、从浏览器选择kubeconfig的登录方式,然后导入配置文件即可。
二、Scope
//可以直接运行此命令
kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')&k8s-service-type=NodePort"
如果访问不了网站,参考docker第十一章
三、Prometheus
PS: 在这里部署的prometheus,是使用的coreos提供的prometheus项目。
MetricsServer:是k8s集群资源使用情况的聚合器,收集数据给k8s集群内使用,如kubectl,hpa,scheduler等。
Prometheus Operator: 是一个系统检测和警报工具箱,用来存储监控数据。
Prometheus node-exporter:收集k8s集群资源的数据,指定告警规则。
Prometheus:收集apiserver,scheduler,controller-manager,kubelet组件的数据,通过http协议传输。
1、//克隆prometheus的项目地址到本地。
(打开github.com,搜索kube-prometheus,第一个项目prometheus-operator/kube-prometheus
找到对应版本)
git clone https://github.com/prometheus-operator/kube-prometheus.git
或
download zip
2、修改grafana-service.yaml文件,更改为nodePort的暴露方式,暴露端口为31001.
[root@master manifests]# pwd
/root/kube-prometheus-0.6.0/manifests
[root@master manifests]# vim grafana-service.yaml
spec:
type: NodePort
ports:
- name: http
port: 3000
targetPort: http
nodePort: 31001
selector:
3、修改prometheus-service.yaml文件,更改为nodePort的暴露方式,暴露端口为31002.
[root@master manifests]# vim prometheus-service.yaml
...
spec:
type: NodePort
ports:
- name: web
port: 9090
targetPort: web
nodePort: 31002
...
4、修改alertmanager-service.yaml文件,更改为nodePort的暴露方式,暴露端口为31003.
[root@master manifests]# vim alertmanager-service.yaml
...
spec:
type: NodePort
ports:
- name: web
port: 9093
targetPort: web
nodePort: 31003
selector:
...
5、将这个目录中的yaml文件,全部运行。是运行以上yaml文件的基础环境配置。有可能因为目录内yaml文件过多,一次不能全部运行,所以咋运行的时候,多运行两遍
cd /root/kube-prometheus-0.6.0/manifests
kubectl create -f setup/
6、运行主yaml文件。有可能因为目录内yaml文件过多,一次不能全部运行,所以运行的时候,多运行两遍
cd /root/kube-prometheus-0.6.0
kubectl create -f manifests/
7、浏览器访问grafana
用户名: admin
密码: admin
8、导入监控模板
https://grafana.com/grafana/dashboards/8588
------------------------------------------------------
kuboard:
k8s图形化管理工具
网站:https://kuboard.cn
安装:使用华为源
kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml
查看部署情况:
kubectl get pod -n kuboard
部署后访问:
http://192.168.8.10:30080
添加k8s集群
原文地址:https://blog.csdn.net/li175325/article/details/132451352
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。