kubernetes1.9中部署dashboard
在1.9k8s中 dashboard可以有两种访问方式
kubeconfig(HTTPS)和token(http)
2018-03-18
一、基于token的访问
1、下载官方的dashboard
wget https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
2、编辑yaml文件
1)添加类型nodeport
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
selector:
2)修改镜像为自己可用的镜像
image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.8.3
3、创建pod
kubectl create -f kube-dashboard-admin.yaml
4、查看pod
kubectl get svc,pod --all-namespaces | grep dashboard
kube-system svc/kubernetes-dashboard NodePort 10.254.15.217 <none> 443:27446/TCP 19h
kube-system po/kubernetes-dashboard-cdc8db7d-7xnsw 1/1 Running 0 19h
5、创建RBAC
vim kube-dashboard-admin.yaml
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard-admin
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard-admin
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard-admin
namespace: kube-system
6、修改deployment文件中的ServiceAccount名称
146 serviceAccountName: kubernetes-dashboard-admin
重启pod
kubectl apply -f kubernetes-dashboard.yaml -f kubernetes-dashboard-admin.rbac.yaml
7、查看RBAC的token登录UI界面时用
kubectl -n kube-system get secret | grep kubernetes-dashboard-admin
kubectl describe -n kube-system secret kubernetes-dashboard-admin-token-7ss4x
8、使用proxy暴露服务
kubectl proxy --address='192.168.11.70' --port=23455 --accept-hosts='^*$' &
9访问 192.168.11.70:2355/ui
访问dashboard后直接skip就可以了
二、利用token或是kubeconfig登录dashboard
首先:kubeconfig就是.kube/config文件
但是得手动的将token放到里面
1、wget下载dashboard
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/dashboard/yaml-file/admin-rbac.yaml
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/dashboard/yaml-file/kube-rbac.yaml
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/dashboard/yaml-file/kubernetes-dashboard.yaml
配置apiserver服务
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/heapster/yaml-file/kube-apiserver.service
2、修改master上的API
vim /etc/systemd/system/kube-apiserver.service
重启API
systemctl daemon-reload
systemctl restart kube-apiserver
systemctl status kube-apiserver
3、部署heapster服务
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/heapster/yaml-file/grafana.yaml
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/heapster/yaml-file/heapster-rbac.yaml
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/heapster/yaml-file/heapster.yaml
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/heapster/yaml-file/influxdb.yaml
按顺序创建
heapster-rbac.yaml>>>>> influxdb.yaml >>>>> heapster.yaml >>>>> grafana.yaml
注:在k8s中服务的域名是:
服务名.空间名.svc.cluster.local
例如:
monitoring-influxdb.kube-system.svc.cluster.local
# 部署dashboard 主yaml配置文件
kubectl create -f kubernetes-dashboard.yaml
kubectl create -f ui-admin-rbac.yaml
kubectl create -f ui-read-rbac.yaml
kubectl create -f admin-user-sa-rbac.yaml
3、验证
kubectl get pod -n kube-system | grep dashboard
kubectl get svc -n kube-system|grep dashboard
kubectl cluster-info|grep dashboard
4、修改apiserver配置
修改配置文件中的IP
basic-auth.csv设置dashboard密码登录
格式:密码,用户,ID号
例如:
admin123, admin, 2
重启master
5、登录
https://192.168.11.70:6443/ui
https://192.168.11.70:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/ingress?namespace=default
使用token访问
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
将token复制到对话框中点击登录
使用kubeconfig访问
上传config配置文件到Windows上
sz /root/.kube/config
将上边的token添加到config中
注:
1、apiserver中开启了RBAC认证,所以要锁RBAC
2、kubeconfig = ./kube/conf = kubernetes.pem要在config文件的最后添加token信息才能访问
3、修改API组件的配置文件 添加密码和用登录认证,开启CA认证,关闭匿名访问
--authorization-mode=Node,RBAC \ 开启RBAC认证
--anonymous-auth=false \ 关闭匿名访问
--basic-auth-file=/etc/kubernetes/ssl/basic-auth.csv \ 添加密码和用登录认证(密码,用户名,ID号)
4、访问方式一共有三种:
1)通过kubectl proxy访问
kubectl proxy --address='192.168.11.70' --port=23455 --accept-hosts='^*$' &
访问 192.168.11.70:2355/ui
2)通过API访问(密码+用户名+token(kubeconfig))
https://192.168.11.70:6443/ui
https://192.168.11.70:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login
参考文档:
主要https://github.com/gjmzj/kubeasz/blob/master/docs/guide/dashboard-1.8.2.md
https://blog.qikqiak.com/post/add-authorization-for-kubernetes-dashboard/
在1.9k8s中 dashboard可以有两种访问方式
kubeconfig(HTTPS)和token(http)
一、基于token的访问
1、下载官方的dashboard
wget https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
2、编辑yaml文件
1)添加类型nodeport
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
selector:
2)修改镜像为自己可用的镜像
image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.8.3
3、创建pod
kubectl create -f kube-dashboard-admin.yaml
4、查看pod
kubectl get svc,pod --all-namespaces | grep dashboard
kube-system svc/kubernetes-dashboard NodePort 10.254.15.217 <none> 443:27446/TCP 19h
kube-system po/kubernetes-dashboard-cdc8db7d-7xnsw 1/1 Running 0 19h
5、创建RBAC
vim kube-dashboard-admin.yaml
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard-admin
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard-admin
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard-admin
namespace: kube-system
6、修改deployment文件中的ServiceAccount名称
146 serviceAccountName: kubernetes-dashboard-admin
重启pod
kubectl apply -f kubernetes-dashboard.yaml -f kubernetes-dashboard-admin.rbac.yaml
7、查看RBAC的token登录UI界面时用
kubectl -n kube-system get secret | grep kubernetes-dashboard-admin
kubectl describe -n kube-system secret kubernetes-dashboard-admin-token-7ss4x
8、使用proxy暴露服务
kubectl proxy --address='192.168.11.70' --port=23455 --accept-hosts='^*$' &
9访问 192.168.11.70:2355/ui
访问dashboard后直接skip就可以了
利用token或是kubeconfig登录dashboard
参考文档:
https://github.com/gjmzj/kubeasz/blob/master/docs/guide/dashboard-1.8.2.md
https://jimmysong.io/posts/kubernetes-dashboard-upgrade/
首先:kubeconfig就是.kube/config文件
但是得手动的将token放到里面
1、wget下载dashboard
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/dashboard/yaml-file/admin-rbac.yaml
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/dashboard/yaml-file/kube-rbac.yaml
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/dashboard/yaml-file/kubernetes-dashboard.yaml
配置apiserver服务
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/heapster/yaml-file/kube-apiserver.service
2、修改master上的API
vim /etc/systemd/system/kube-apiserver.service
重启API
systemctl daemon-reload
systemctl restart kube-apiserver
systemctl status kube-apiserver
3、部署heapster服务
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/heapster/yaml-file/grafana.yaml
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/heapster/yaml-file/heapster-rbac.yaml
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/heapster/yaml-file/heapster.yaml
wget https://raw.githubusercontent.com/deauss2017/k8s/master/1.9/heapster/yaml-file/influxdb.yaml
按顺序创建
heapster-rbac.yaml>>>>> influxdb.yaml >>>>> heapster.yaml >>>>> grafana.yaml
注:在k8s中服务的域名是:
服务名.空间名.svc.cluster.local
例如:
monitoring-influxdb.kube-system.svc.cluster.local
# 部署dashboard 主yaml配置文件
kubectl create -f kubernetes-dashboard.yaml
kubectl create -f ui-admin-rbac.yaml
kubectl create -f ui-read-rbac.yaml
kubectl create -f admin-user-sa-rbac.yaml
3、验证
kubectl get pod -n kube-system | grep dashboard
kubectl get svc -n kube-system|grep dashboard
kubectl cluster-info|grep dashboard
4、修改apiserver配置
修改配置文件中的IP
basic-auth.csv设置dashboard密码登录
格式:密码,用户,ID号
例如:
admin123, admin, 2
重启master
5、登录
https://192.168.11.70:6443/ui
https://192.168.11.70:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/ingress?namespace=default
使用token访问
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
将token复制到对话框中点击登录
使用kubeconfig访问
上传config配置文件到Windows上
sz /root/.kube/config
将上边的token添加到config中
注:
1、apiserver中开启了RBAC认证,所以要锁RBAC
2、kubeconfig = ./kube/conf = kubernetes.pem要在config文件的最后添加token信息才能访问
3、修改API组件的配置文件 添加密码和用登录认证,开启CA认证,关闭匿名访问
--authorization-mode=Node,RBAC \ 开启RBAC认证
--anonymous-auth=false \ 关闭匿名访问
--basic-auth-file=/etc/kubernetes/ssl/basic-auth.csv \ 添加密码和用登录认证(密码,用户名,ID号)
4、访问方式:
1)通过kubectl proxy访问
kubectl proxy --address='192.168.11.70' --port=23455 --accept-hosts='^*$' &
访问 192.168.11.70:2355/ui
2)通过API访问(密码+用户名+token(kubeconfig))
https://192.168.11.70:6443/ui
https://192.168.11.70:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login
kubernetes1.9中部署dashboard的更多相关文章
- K8S之部署Dashboard
转载声明 本文转载自:ASP.NET Core on K8S深入学习(2)部署过程解析与部署Dashboard 1.Yaml安装 下载yaml文件 wget https://raw.githubuse ...
- 基于 kubeadm 搭建高可用的kubernetes 1.18.2 (k8s)集群 部署 dashboard 2.x
1. 部署dashboard 2.x版本 Dashboard 分为 1.x版本 和 2.x版本, k8s 使用的是1.18.2 故部署2.x版本的 # dashboard 2.x版本的部署 # 上传d ...
- Kubernetes入门(四)——如何在Kubernetes中部署一个可对外服务的Tensorflow机器学习模型
机器学习模型常用Docker部署,而如何对Docker部署的模型进行管理呢?工业界的解决方案是使用Kubernetes来管理.编排容器.Kubernetes的理论知识不是本文讨论的重点,这里不再赘述, ...
- kubernetes之部署dashboard 和heapster
部署dashboard之前,先确保traefik https方式部署成功,这样就可以通过 https 域名的方式访问dashboard,无需kube-proxy转发了.假设traefik-ingres ...
- 不使用pvc的方式在K8S中部署apisix-gateway
不使用pvc的方式在K8S中部署apisix-gateway 简介 我的apisix使用etcd作为数据存储服务器,官方的使用pvc方式或者docker-compose的方式,对于新手不太友好,本篇是 ...
- K8s 部署 Dashboard UI 仪表板 ——让一切可视化
K8s 部署 Dashboard UI 仪表板 --让一切可视化 Dashboard 介绍 仪表板是基于Web的Kubernetes用户界面.您可以使用仪表板将容器化应用程序部署到Kuberne ...
- K8S中部署apisix(非ingress)
不使用pvc的方式在K8S中部署apisix-gateway 简介 因为公司项目准备重构,现在做技术储备,之前公司项目使用的ocelot做网关,ocelot是.net平台下的一个网关,也是很不错,但是 ...
- 【续集】在 IIS 中部署 ASP.NET 5 应用程序遭遇的问题
dudu 的一篇博文:在 IIS 中部署 ASP.NET 5 应用程序遭遇的问题 针对 IIS 部署 ASP.NET 5 应用程序的问题,在上面博文中主要采用两种方式尝试: VS2015 的 Publ ...
- Intellij IDEA 创建Web项目并在Tomcat中部署运行(不使用maven)【转载】
原文链接:http://www.thinksaas.cn/topics/0/350/350000.html 一.创建Web项目 1.File -> New Module,进入创建项目窗口 2.选 ...
随机推荐
- java-redis集合数据操作示例(三)
redis系列博文,redis连接管理类的代码请跳转查看<java-redis字符类数据操作示例(一)>. 一.集合类型缓存测试类 public class SetTest { /** * ...
- 叼叼叼,HTML5日期(Date)类型和文本(Text)类型互相转换
<input placeholder="From" class="form-control" type="text" onfocus= ...
- ACL访问控制列表
acl是基于文件系统的,所以支不支持acl在于使用什么文件系统. FAT32文件系统不支持权限,也不区分大小写 如果一个分区不是安装系统时分的分区,是一个新的分区的话,默认是不支持acl CentOS ...
- 关于VS2013调试IIS应用源代码时无法进入断点的问题总结
调试无法进入断点 前言:今天再次遇到之前调试无法进入断点的问题,本来想不写呢觉得没什么只是又犯了同样的错误,但是我发现这个问题我分析起来还是挺费劲的,我仔细想了想原因, 是因为自己对之前的错误没有进行 ...
- 浅析设备管理的MTTR,MTTF,MTBF计算方法
一般来说,对于设备的关键性指标的统计,国际惯例中有三个指标用来进行统计,它们分别是: MTTR(Mean Time To Repair),平均修复时间.计算方法是:总的故障时间/故障次数.计算公式为: ...
- 【javascript】jQuery判断用户右击事件
jquery 判断用户是鼠标是右击还是左击, // 1 = 鼠标左键 left; 2 = 鼠标中键; 3 = 鼠标右键 $(document).mousedown(function(e) { if(3 ...
- Java中的switch语句后面的控制表达式的数据类型
Java中的switch语句后面的控制表达式的数据类型 1.byte 2.char 3.short 4.int 5.枚举类型 6.Java 7允许java.lang.String类型
- Caused by:java.sql.SQLException:ORA-00923
1.错误描述 Caused by:java.sql.SQLException:ORA-00923:未找到要求的FROM关键字 2.错误原因 拼接SQL语句时缺少FROM什么表,导致出错 3.解决办法 ...
- OpenStack_I版 5.Nova部署
Nova安装 创建配置存放目录,日志存放目录,执行文件目录,虚拟机目录 Nova配置修改 生成主配置文件 创建Nova数据库 同步Nova数据库 验证 Nova连接RabbitMQ配置修改 key ...
- lightoj 1025 区间dp
#include<bits/stdc++.h> using namespace std; typedef long long ll; char a[70]; ll dp[70][70]; ...