基于kubernetes集群部署DashBoard
目录贴:Kubernetes学习系列
在之前一篇文章:Centos7部署Kubernetes集群,中已经搭建了基本的K8s集群,本文将在此基础之上继续搭建K8s DashBoard。
1、yaml文件
编辑dashboard.yaml,注意或更改以下红色部分:
- apiVersion: extensions/v1beta1
- kind: Deployment
- metadata:
- # Keep the name in sync with image version and
- # gce/coreos/kube-manifests/addons/dashboard counterparts
- name: kubernetes-dashboard-latest
- namespace: kube-system
- spec:
- replicas:
- template:
- metadata:
- labels:
- k8s-app: kubernetes-dashboard
- version: latest
- kubernetes.io/cluster-service: "true"
- spec:
- containers:
- - name: kubernetes-dashboard
- image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.1
- resources:
- # keep request = limit to keep this container in guaranteed class
- limits:
- cpu: 100m
- memory: 50Mi
- requests:
- cpu: 100m
- memory: 50Mi
- ports:
- - containerPort:
- args:
- - --apiserver-host=http://10.0.251.148:8080
- livenessProbe:
- httpGet:
- path: /
- port:
- initialDelaySeconds:
- timeoutSeconds:
编辑dashboardsvc.yaml文件:
- apiVersion: v1
- kind: Service
- metadata:
- name: kubernetes-dashboard
- namespace: kube-system
- labels:
- k8s-app: kubernetes-dashboard
- kubernetes.io/cluster-service: "true"
- spec:
- selector:
- k8s-app: kubernetes-dashboard
- ports:
- - port:
- targetPort:
2、镜像准备
在dashboard.yaml中定义了dashboard所用的镜像:gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.1(当然你可以选择其他的版本),另外,启动k8s的pod还需要一个额外的镜像:registry.access.redhat.com/rhel7/pod-infrastructure:latest(node中,/etc/kubernetes/kubelet的配置),由于一些众所周知的原因,这两个镜像在国内是下载不下来的,以下介绍如何准备这两个镜像。
2.1 国外下载,国内导入
从海外的服务器上pull下来对应的镜像,之后通过docker save保存成tar包,将tar包传回国内,在每个node上执行docker load将镜像导入。类似的命令如下:
- 海外服务器执行:
- docker save gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.1 > dashboard.tar
- docker save registry.access.redhat.com/rhel7/pod-infrastructure:latest > podinfrastructure.tar
- scp *.tar root@你国内的外网IP:/home/tar
- 各个node上执行:
- docker load < dashboard.tar
- docker load < podinfrastructure.tar
2.2 搭梯子
在node所在同网段(相同交换机)内,搭建一个可以正常访问google、Facebook等网站的fq网关,将集群中所有机器的GATEWAY指向该地址,之后重启网络。这样,所有的机器就能够正常下载这两个镜像了。
3、启动
在master执行如下命令:
- kubectl create -f dashboard.yaml
- kubectl create -f dashboardsvc.yaml
之后,dashboard搭建完成。
4、验证
命令验证,master上执行如下命令:
- [root@k8s-master ~]# kubectl get deployment --all-namespaces
- NAMESPACE NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
- kube-system kubernetes-dashboard-latest 1h
- [root@k8s-master ~]# kubectl get svc --all-namespaces
- NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
- default kubernetes 10.254.0.1 <none> /TCP 9d
- kube-system kubernetes-dashboard 10.254.44.119 <none> /TCP 1h
- [root@k8s-master ~]# kubectl get pod -o wide --all-namespaces
- NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE
- kube-system kubernetes-dashboard-latest--vsf3h / Running 1h 10.0.82.2 k8s-node-
界面验证,浏览器访问:http://10.0.251.148:8080/ui
5、销毁应用
在master上执行:
- kubectl delete deployment kubernetes-dashboard-latest --namespace=kube-system
- kubectl delete svc kubernetes-dashboard --namespace=kube-system
基于kubernetes集群部署DashBoard的更多相关文章
- 基于Kubernetes集群部署skyDNS服务
目录贴:Kubernetes学习系列 在之前几篇文章的基础,(Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard.为Kubernetes集群部署本地镜像仓库 ...
- 为Kubernetes集群部署本地镜像仓库
目录贴:Kubernetes学习系列 经过之前两篇文章:Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard,我们基本上已经能够在k8s的集群上部署一个应用了 ...
- 基于kubernetes集群的Vitess最佳实践
概要 本文主要说明基于kubernetes集群部署并使用Vitess; 本文假定用户已经具备了kubernetes集群使用环境,如果不具备请先参阅基于minikube的kubernetes集群搭建, ...
- 基于Kubernetess集群部署完整示例——Guestbook
目录贴:Kubernetes学习系列 本文依赖环境:Centos7部署Kubernetes集群.基于Kubernetes集群部署skyDNS服务 该示例中,我们将创建一个redis-master.两个 ...
- 部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0)
部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0) 部署Bookinfo示例程序 在下载的Istio安装包的samples目录中包含了示例应用程序. ...
- Kubernetes集群部署关键知识总结
Kubernetes集群部署需要安装的组件东西很多,过程复杂,对服务器环境要求很苛刻,最好是能连外网的环境下安装,有些组件还需要连google服务器下载,这一点一般很难满足,因此最好是能提前下载好准备 ...
- kubernetes集群部署
鉴于Docker如此火爆,Google推出kubernetes管理docker集群,不少人估计会进行尝试.kubernetes得到了很多大公司的支持,kubernetes集群部署工具也集成了gce,c ...
- Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目
在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集 ...
- Docker学习-Kubernetes - 集群部署
Docker学习 Docker学习-VMware Workstation 本地多台虚拟机互通,主机网络互通搭建 Docker学习-Docker搭建Consul集群 Docker学习-简单的私有Dock ...
随机推荐
- java字符串集合
一,java的接口跟C语言所能做到的相比确实是让人眼前一亮的东西.利用接口可以将多种东西放到一起,在编程过程中就能省略掉相同类的很多重复代码,将代码进行分类别的,统一的处理. 二,java中的字符串处 ...
- js 执行上下文理解
前端基础进阶(三):变量对象详解http://www.jianshu.com/p/330b1505e41d 1.创建阶段 a.生成变量对象 1.创建arguments对象 2.functio ...
- 关于windows下的虚拟机Homestead在推送代码上github 步骤
1.ssh 秘钥登录配置 使用以下命令检查主机是否生成SSH Key: > ls -al ~/.ssh 2.如果有秘钥,那就跳过这个步骤,如果没有秘钥,则运行以下命令来生成秘钥: ssh-key ...
- prim算法,克鲁斯卡尔算法---最小生成树
最小生成树的一个作用,就是求最小花费.要在n个城市之间铺设光缆,主要目标是要使这 n 个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个城市之间铺设光缆的费用不同,因此另一个目标是要使铺设光 ...
- python - 数据描述符(class 内置 get/set/delete方法 )
数据描述符(class 内置 get/set/del方法 ): # 什么是描述符 # 官方的定义:描述符是一种具有“捆绑行为”的对象属性.访问(获取.设置和删除)它的属性时,实际是调用特殊的方法(_g ...
- RNN(1) ------ “理解LSTM”(转载)
原文链接:http://www.jianshu.com/p/9dc9f41f0b29 Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他们的思考.在你阅读这 ...
- DFP算法(转载)
转载链接:http://blog.csdn.net/itplus/article/details/21896981 注意:式(2.25)中,蓝色变量之所以是实数可以根据它们的矩阵系数相乘为1*1得到.
- 【vim】保存文件没有权限 :w !sudo tee %
每当你打开一个你没有写入权限的文件(比如系统配置文件)并做了一些修改,Vim 无法通过普通的 ":w" 命令来保存. 你不需要重新以 root 方式打开文件再进行修改,只需要运行: ...
- secureCRT连接linux系统
linux和secureCRT利用ssh协议22端口进行远程连接的 连接如果没有成功,请检查远程主机的端口和ssh是否开启 一.检查看SSH服务是否开启 当然有的linux系统使用的命令是/etc/i ...
- 使用NGINX+Openresty和unixhot_waf开源防火墙实现WAF功能
使用NGINX+Openresty实现WAF功能 一.了解WAF1.1 什么是WAF Web应用防护系统(也称:网站应用级入侵防御系统 .英文:Web Application Firewall,简称: ...