热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Kubernetes(K8s)(四)——k8s的web管理页面

(1).部署KubernetesDashboardweb页面KubernetesDashboard(仪表盘)是Kubernetes项目中基于Web监控和操作界面的项目。1)确认节点

(1).部署Kubernetes Dashboard web页面

  Kubernetes Dashboard(仪表盘)是Kubernetes项目中基于Web监控和操作界面的项目。

 1)确认节点正常

[root@kube-master ~]# kubectl get node
NAME         STATUS    AGE
kube-node1   Ready     35d
kube-node2   Ready     35d

 2)创建名为dashborad-deployment.yaml的deployment资源配置文件

[root@kube-master ~]# vim dashboard-deployment.yaml
apiVersion: extensions/v1beta1  #指定api版本
kind: Deployment  #指定资源类型
metadata:  #指定资源元数据(属性)
  name: kubernetes-dashboard-latest  #指定deployment名称
  namespace: kube-system  #指定命名空间
spec:  #资源内容详细定义
  replicas: 1  #副本期望值
  template:  #模板
    metadata:  #模板元数据
      labels:  #自定义标签
        k8s-app: kubernetes-dashboard
        version: latest
        kubernetes.io/cluster-service: "true"
    spec:  #模板内容详细定义
      containers:  #容器内容详细定义
        - name: kubernetes-dashboard  #容器名称(docker容器实例名称的一部分)
          image: docker.io/bestwu/kubernetes-dashboard-amd64:v1.6.3  #使用镜像,这个镜像是中文的
          imagePullPolicy: IfNotPresent  #拉取策略
          resources:  #容器运行资源限制
            limits:  #上限
              cpu: 100m  #0.1核
              memory: 50Mi  #50M(1024计算)
            requests:  #下限
              cpu: 100m
              memory: 50Mi
          ports:  #容器对外开放端口
            - containerPort: 9090  #容器端口号
          args:  #容器启动时的参数命令
            - --apiserver-host=http://192.168.128.110:8080
          livenessProbe:  #监控检测设置
            httpGet:  #http获取检测
              path: /  #uri地址
              port: 9090  #容器端口号
            initialDelaySeconds: 30  #启动后首次检测时间为30秒后
            timeoutSeconds: 30  #检测超时时间30秒

 3)创建名为dashboard-service.yaml的service服务配置文件

[root@kube-master ~]# vim dashboard-service.yaml
apiVersion: v1  #指定api版本
kind: Service  #指定资源类型
metadata:  #资源元数据(属性)
  name: kubernetes-dashboard  #
  namespace: kube-system  #命名空间,需要保证与deployment处于同一命名空间
  labels:  #标签
    k8s-app: kubernetes-dashboard
    kubernetes.io/cluster-service: "true"
spec:  #服务内容详细定义
  selector:  #标签选择器,选择dashboard-deployment独有标签
    k8s-app: kubernetes-dashboard
  ports:  #服务对外开放端口
    - port: 80  #提供给内部Pod访问使用的端口
      nodePort: 30303  #提供给外部访问的端口
      targetPort: 9090  #Pod内部的服务的端口号

 4)准备相关镜像

  所有节点都下载相关镜像,当然不下载也是没事的,因为可以自动下载。registry.access.redhat.com/rhel7/pod-infrastructure:latest和docker.io/bestwu/kubernetes-dashboard-amd64:v1.6.3,由于k8s已经在使用中,所以pod-infrastructure存在故不做下载。

[root@kube-node1 ~]# docker pull docker.io/bestwu/kubernetes-dashboard-amd64:v1.6.3
Trying to pull repository docker.io/bestwu/kubernetes-dashboard-amd64 ... 
v1.6.3: Pulling from docker.io/bestwu/kubernetes-dashboard-amd64
ff9e00b73eb4: Pull complete 
Digest: sha256:d820c9a0a0a7cd7d0c9d3630a2db0fc33d190db31f3e0797d4df9dc4a6a41c6b
Status: Downloaded newer image for docker.io/bestwu/kubernetes-dashboard-amd64:v1.6.3

  5)启动dashboard的deployment和service

[root@kube-master ~]# kubectl create -f dashboard-deployment.yaml
deployment "kubernetes-dashboard-latest" created
[root@kube-master ~]# kubectl create -f dashboard-service.yaml
service "kubernetes-dashboard" created

  启动完成后通过命令查看

[root@kube-master ~]# kubectl get deployment --namespace=kube-system
NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
kubernetes-dashboard-latest   1         1         1            1           3d
[root@kube-master ~]# kubectl get service --namespace=kube-system
NAME                   CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
kubernetes-dashboard   10.254.146.81           80/TCP    3d
[root@kube-master ~]# kubectl get pod --namespace=kube-system -o wide
NAME                                           READY     STATUS    RESTARTS   AGE       IP            NODE
kubernetes-dashboard-latest-4124080496-dprcl   1/1       Running   1          3d        10.255.39.2   kube-node1

 6)通过http://[masterIP]:8080/ui访问

  我这里就是http://192.168.128.110:8080/ui,之后会自动跳转到如下页面

Kubernetes(K8s)(四)——k8s的web管理页面

 

 7)销毁

  如果只是短时间内不用可以只删除service,如果长时间不用删除deployment和service

[root@kube-master ~]# kubectl delete -f dashboard-service.yaml 
service "kubernetes-dashboard" deleted
[root@kube-master ~]# kubectl delete -f dashboard-deployment.yaml
deployment "kubernetes-dashboard-latest" deleted

  


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Annotation的大材小用
    为什么80%的码农都做不了架构师?最近在开发一些通用的excel数据导入的功能,由于涉及到导入的模块很多,所以开发了一个比较通用的e ... [详细]
  • 找到JDK下载URL当然去官网找了。目前最新的1.8的下载URL(RPM)如下:http:download.oracle.comotn-pubjavajdk8u161-b122f3 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • NotSupportedException无法将类型“System.DateTime”强制转换为类型“System.Object”
    本文介绍了在使用LINQ to Entities时出现的NotSupportedException异常,该异常是由于无法将类型“System.DateTime”强制转换为类型“System.Object”所导致的。同时还介绍了相关的错误信息和解决方法。 ... [详细]
  • linux进阶50——无锁CAS
    1.概念比较并交换(compareandswap,CAS),是原⼦操作的⼀种,可⽤于在多线程编程中实现不被打断的数据交换操作࿰ ... [详细]
author-avatar
手机用户2702936867
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有