云原生·Kubernetes03——Metrics、Dashboard、Dashboard部署

                        目录

一、Metrics部署

二、Dashboard部署

三、Kuboard安装

四、集群验证


一、Metrics部署

在新版的Kubernetes中系统资源的采集均使用Metrics-Server,可以通过Metrics采集节点和Pod的内存、磁盘、CPU和网络的使用率

[root@node1 ~]# wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml

##修改配置
vim /root/Metrics-Server/components.yaml

创建pod:

[root@node1 Metrics-Server]# kubectl apply -f /root/Metrics-Server
components.yaml

验证:

二、Dashboard部署

Dashboard用于展示集群中的各类资源,同时也可以通过Dashboard实时查看Pod的日志以及在容器中执行的命令等

[root@node1]# mkdir  Dashboard
[root@node1 Dashboard]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.0/aio/deploy/recommended.yaml

##修改配置文件
##官方提供的资源清单里面的secret证书在有些浏览器中无法访问,所以需要注释掉,然后后期自己添加
#因为自动生成的证书很多浏览器无法使用,所以我们自己创建,注释掉kubernetes-dashboard-certs对象声明

[root@node1 Dashboard]# vim recommended.yaml        //注释掉yaml里下方内容
#apiVersion: v1
#kind: Secret
#metadata:
#  labels:
#    k8s-app: kubernetes-dashboard
#  name: kubernetes-dashboard-certs
#  namespace: kubernetes-dashboard
#type: Opaque


##创建pod
[root@node1 Dashboard]#kubectl apply -f recommended.yaml  --validate=false		//加--validate=false忽略报错

##由于缺镜像所有手动下载对应镜像
[root@node1 Dashboard]# docker pull kubernetesui/dashboard:v2.6.0
[root@node1 Dashboard]# docker pull kubernetesui/metrics-scraper:v1.0.8


##因为该pod使用的namespace是kubernetes-dashboard,所有查看kubernetes-dashboard
[root@node1 Dashboard]# kubectl get pods -n kubernetes-dashboard
NAME                                        READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-d86bd9646-tgcnr   1/1     Running   0          6m20s
kubernetes-dashboard-6d96d6f767-slfsg       1/1     Running   0          6m20s

验证:

##修改配置使随意访问一台机器都可以访问到dashboard
[root@node1 ~]# kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
修改前:58   type: ClusterIP
修改后:58   type: NodePort

##查看网络
[root@node1 ~]# kubectl get svc  -n kubernetes-dashboard
NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
dashboard-metrics-scraper   ClusterIP   10.105.127.123   <none>        8000/TCP        60m
kubernetes-dashboard        NodePort    10.111.50.172    <none>        443:32532/TCP   65m

##创建超级管理员用户,tokenkey:
[root@node1 ~]# vim /root/Dashboard/admin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: admin-user
  annotations:
    rbac.authorrization.kubernetes.io/autoipdate: "true"
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system

查看admin的token:

token:      eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5OZktyQTZ3M3dzX3FWdTl1T0w1VmNMaWVQT19Kb2ZsVklhYXFlY2ZBUEUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLTI4d3pjIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI4Y2IwMTU4Ny00MzBjLTRjZjItOGY2MS1lYWE5MjYzYTA0OGIiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.NN_wXb5SPV6ntesmInBoKCfY4dz72Tc_eIqEwOUXEdmhZJWwvP_xI2Q7iGoc6R45yLZXXSEmhywRBoSAipIcS0WJCYN3Cxvynxl5FjH9lLtsR0IGnIIvGob8gutgW6lBJ0XtezDxra0oRN6S_GZAr66yDW9rttUqsmhU6Hy4DGQ2OFue-qZTubM9Y_LciWlT2rcAj1CVfMvPxLhDtlrTIJgLOqeoYW1RkrGB2J9f_N56JOPz3WpwSrteKLz14ZybJr5UdwAgRiJ76FHkeCPCOzRa1-s82RpI1BOaRUAgjN9ZtZS-zgGxoAWAKqy4_pBQ_fyY6OD37OQkOR622ZotVg

 登录DashBoard:

 

三、Kuboard安装

[root@node1 ~]# mkdir kuboard
[root@node1 kuboard]# wget https://kuboard.cn/install-script/kuboard-beta.yaml

安装:

 查看Token:

echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)

四、集群验证

编写nginx.yaml

[root@node1 ~]# vim busybox.yaml
apiVersion: v1
kind: Pod
metadata:
  name: busybox
  namespace: default
spec:
  containers:
  - name: busybox
    image: busybox:1.28
    command:
      - sleep
      - "3600"
    imagePullPolicy: IfNotPresent
  restartPolicy: Always

##导入yaml文件
[root@node1 ~]# kubectl apply -f busybox.yaml

验证:

1、pod必须能解析service

2、pod必须能解析跨namespace的services

 3、每个节点都必须能访问k8s的svc 443端口以及kube-dns的services 53端口

[root@node1 ~]# yum -y install telnet		//所有节点都安装

 4、Pod与pod之间能通

        a) 同namespace之间能通信

         b)跨namespace能通信

 c)跨机器能通信

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

改名叫热炸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值