Kubernetes Dashboard 设置用户密码登陆
Kubernetes Dashboard 设置用户密码登陆
Kubernetes
2019年05月20日
K8s 文档
K8s 1.13源码安装
k8s dashboard token访问
仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,并管理集群本身及其伴随资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署,作业,守护进程等)。例如,您可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序。
默认Kubernetes UI界面是使用token登陆,但是由于token相比较麻烦。我们这里使用密码登陆
1.首先确保K8S集群内部一切正常
[root@i4t ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
yzsjhl82-138.opi.com Ready <none> 22h v1.13.5
yzsjhl82-139.opi.com Ready <none> 22h v1.13.5
yzsjhl82-140.opi.com Ready <none> 22h v1.13.5
yzsjhl82-142.opi.com Ready <none> 22h v1.13.5[root@i4t ~]# kubectl get pod --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default busybox 1/1 Running 23 22h
kube-system coredns-d7964c8db-2t8wl 1/1 Running 1 22h
kube-system coredns-d7964c8db-sbztp 1/1 Running 1 22h
kube-system kube-flannel-ds-amd64-cv5hx 1/1 Running 2 22h
kube-system kube-flannel-ds-amd64-f2f7x 1/1 Running 2 22h
kube-system kube-flannel-ds-amd64-vmm74 1/1 Running 2 22h
kube-system kube-flannel-ds-amd64-zgfmq 1/1 Running 1 22h
2.配置
首先需要说明一点,默认kubernetes Dashboard是需要token登陆。不方便登记,我们可以让dashboard使用用户密码验证登陆
k8s dashboard 搭建
需要注意几点
- 修改apiserver
- 创建用户密码文件
- 创建yaml文件
[一] 在master上节点上创建文件(用户密码文件)
cat /etc/kubernetes/basic_auth_file
admin,admin,1
cyh,cyh,2#前面为用户,后面为密码,数字为用户ID不可重复
[二] 在所有master的apiserver启动文件添加一行配置
vim /usr/lib/systemd/system/kube-apiserver.service
--basic-auth-file=/etc/kubernetes/basic_auth_file \#添加完毕后重启api-server
这里需要说明,以上操作在所有master上执行,在所有节点操作是为了防止有pod飘到非master节点,当然也可以做pod亲和力
[三]创建yaml文件
wget http://down.i4t.com/k8s-passwd-dashboard.yaml| kubectl apply -f k8s-passwd-dashboard.yaml
为了防止地址失效,我这里在手动cp一份
# ------------------- Dashboard Secret ------------------- #apiVersion: v1
kind: Secret
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard-certsnamespace: kube-system
type: Opaque---
# ------------------- Dashboard Service Account ------------------- #apiVersion: v1
kind: ServiceAccount
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-system---
# ------------------- Dashboard Role & Role Binding ------------------- #kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: kubernetes-dashboard-minimalnamespace: kube-system
rules:# Allow Dashboard to create 'kubernetes-dashboard2-key-holder' secret.
- apiGroups: [""]resources: ["secrets"]verbs: ["create"]# Allow Dashboard to create 'kubernetes-dashboard2-settings' config map.
- apiGroups: [""]resources: ["configmaps"]verbs: ["create"]# Allow Dashboard to get, update and delete Dashboard exclusive secrets.
- apiGroups: [""]resources: ["secrets"]resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs"]verbs: ["get", "update", "delete"]# Allow Dashboard to get and update 'kubernetes-dashboard2-settings' config map.
- apiGroups: [""]resources: ["configmaps"]resourceNames: ["kubernetes-dashboard-settings"]verbs: ["get", "update"]# Allow Dashboard to get metrics from heapster.
- apiGroups: [""]resources: ["services"]resourceNames: ["heapster"]verbs: ["proxy"]
- apiGroups: [""]resources: ["services/proxy"]resourceNames: ["heapster", "http:heapster:", "https:heapster:"]verbs: ["get"]---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: kubernetes-dashboard-minimalnamespace: kube-system
roleRef:apiGroup: rbac.authorization.k8s.iokind: Rolename: kubernetes-dashboard-minimal
subjects:
- kind: ServiceAccountname: kubernetes-dashboardnamespace: kube-system---
# ------------------- Dashboard Deployment ------------------- #kind: Deployment
apiVersion: apps/v1beta2
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-system
spec:replicas: 1revisionHistoryLimit: 10selector:matchLabels:k8s-app: kubernetes-dashboardtemplate:metadata:labels:k8s-app: kubernetes-dashboardspec:containers:- name: kubernetes-dashboardimage: mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.8.3ports:- containerPort: 8443protocol: TCPargs:- --auto-generate-certificates- --authentication-mode=basic# Uncomment the following line to manually specify Kubernetes API server Host# If not specified, Dashboard will attempt to auto discover the API server and connect# to it. Uncomment only if the default does not work.# - --apiserver-host=http://my-address:portvolumeMounts:- name: kubernetes-dashboard-certsmountPath: /certs# Create on-disk volume to store exec logs- mountPath: /tmpname: tmp-volumelivenessProbe:httpGet:scheme: HTTPSpath: /port: 8443initialDelaySeconds: 30timeoutSeconds: 30volumes:- name: kubernetes-dashboard-certssecret:secretName: kubernetes-dashboard-certs- name: tmp-volumeemptyDir: {}serviceAccountName: kubernetes-dashboard# Comment the following tolerations if Dashboard must not be deployed on mastertolerations:- key: node-role.kubernetes.io/mastereffect: NoSchedule---
# ------------------- Dashboard Service ------------------- #kind: Service
apiVersion: v1
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-system
spec:type: NodePortports:- port: 80targetPort: 8443nodePort: 30000selector:k8s-app: kubernetes-dashboard
我们可以用过下面命令进行检查
kubectl get pod,svc -n kube-system
这里要说一点,我这里的镜像使用的是v1.8.3
如果觉得版本低可以更高版本的。
访问dashboard界面
由于没有ingress,使用的是IP访问。所以会提示我们证书不安全,我们这里点击忽略直接访问。个别浏览器会造成打不开的,建议使用谷歌或火狐
访问地址:https://master-IP:30000
在任意一台master上访问即可
这里需要我们输入api-server指定的文件里面的账号密码
跳过是没有权限查看k8s里面所有的信息
Kubernetes Dashboard 设置用户密码登陆相关推荐
- Windows Server 2016-批量设置用户下次登陆须更改密码
Windows Server 2016-批量设置用户下次登陆须更改密码 https://blog.csdn.net/weixin_34233856/article/details/92367828 P ...
- Linux常用命令(中)、时间日期类、date 显示当前时间、ntpdate命令、cal 查看日历、useradd 添加新用户、passwd 设置用户密码、id 查看用户是否存在
文章目录 1.3 时间日期类 1.3.1 date 显示当前时间 1.3.2 date 显示非当前时间 1.3.3 date 设置系统时间 1.3.4ntpdate命令 ntpdate常用服务器 国内 ...
- linux设置用户密码、查看linux用户信息、root用户管理普通用户(passwd命令使用)
1 切换root用户和给root用户设置密码 1.1 切换到root用户 1.使用su 命令 或 su root命令切换到root用户的时候报错:su: Authentication failure ...
- aud$定位错误用户密码登陆数据库的具体信息
环境:Oracle 11.2.0.3 客户端使用错误的用户密码登陆数据库 查询最近1天由于密码错误登陆失败的信息 查询当前审计中有哪些returncode值 1. 客户端使用错误的用户密码登陆数据库 ...
- Linux命令之设置用户密码passwd
概述 passwd 命令可以设置用户密码.通过 useradd 命令创建的用户初始是没有密码的,需要通过 passwd 命令来为其设置密码,未设置密码的用户不能登录系统. 注:超级用户可以为自己和其他 ...
- oracle设置用户密码永不过期
oracle设置用户密码永不过期 转载:原文链接https://blog.csdn.net/chenqi3166/article/details/125141774 转载:原文链接https://bl ...
- k8s安装dashboard及账号密码登陆
1.k8s安装管理后台 (1)获取yaml配置文件wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/depl ...
- CentOS7 设置用户密码规则
1.设置密码过期的天数. 用户必须在几天内更改密码. 此设置仅在创建用户时才会产生影响,而不会影响到现有用户. 如果设置为现有用户,请运行命令"chage -M(days)(user)&q ...
- linux创建永不过期用户,linux下如何设置用户密码永不过期_网站服务器运行维护...
linux中有几种文件类型_网站服务器运行维护 linux中可分为6种文件类型,分别是:1.普通文件(数据文件):2.目录文件:3.设备文件:4.链接文件:5.管道文件:6.套接字文件,用于不同计算机 ...
最新文章
- 断点续传---多线程下载进阶(一)
- JS中创建函数的几种方式
- html如何制作滑块,网页制作html5实现滑块功能之type=quot;rangequot;属性-建站-建站教程-建站方法-米云建站 - 米云问答...
- HTML+CSS+JS实现 ❤️酷炫的时光隧道旅行动特效❤️
- curl http_code状态码 含义
- java打印计算机_在Java程序中实现高精度打印
- mac安装mysql(命令行方式)
- 【复杂网络】网络科学导论学习笔记-第四章度相关性和社团结构
- AdventureWorks数据库数据字典
- Linux系统管理---linux用户管理
- 以前进行的程序安装创建了挂起的文件操作(SqlServer2000或SqlServer 2000 SP4补丁安装) .
- 解读 | 自监督视觉特征学习综述
- 《喜欢你我也是》最精致程序员上线!
- 拖拉机(寒假每日一题 4)
- 201305143D眼镜种类及原理
- html自定义select样式,自定义select样式
- c++----随机数算法
- MySQL下载安装详情教程(Windows)
- ESP32系列--第六篇 WiFi AP模式
- oracle /*+Ordered*/ 的使用
热门文章
- EXCEL应用:思迈特软件Smartbi数据可视化终极教程
- 智能座舱开启「万物交互」新革命,隐形冠军们如何突围?
- C# VS2010 无法切换输入法。
- 标号法(label-setting algorithm)求解带时间窗的最短路问题(ESPPRC)
- TensorFlow对象检测-1.0和2.0:训练,导出,优化(TensorRT),推断(Jetson Nano)
- superMap Cesium(超图) ---scene open()用法
- 【课程设计|C++】设计一个哈夫曼编码器/译码器设计
- 华硕b365安装服务器系统,华硕B365主板搭载intel8/9代平台安装win7的详细教程
- filebeat收集日志到elsticsearch中并使用ingest node的pipeline处理
- C语言文件输入输出函数总结