K8S网站页面的搭建与证书优化配置

2023-05-16

一、下载官方的YAML 文件

五个文件各自的作用

  • dashboard-configmap.yaml ## 配置文件

  • dashboard-deployment.yaml ## 部署

  • dashboard-rbac.yaml 授权管理 一般来说要绑定角色

  • dashboard-secrect.yaml 安全,证书验证

  • dashboard-service.yaml 核心功能 提供web的

  • dashboard-controller.yaml ## 控制

  • 官方文件下载位置:https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dashboard/dashboard.yaml

  • 现在官方已经将5个文件合为一个文件
    在这里插入图片描述

二、利用YAML文件进行服务配置

  • 在master01上操作
[root@master01 k8s]# mkdir dashboard
//拷贝官方的文件
[root@master01 dashboard]# ls
dashboard-configmap.yaml   dashboard-rbmasac.yaml    dashboard-service.yaml
dashboard-controller.yaml  dashboard-secret.yaml  k8s-admin.yaml
## 要注意顺序
[root@master01 dashboard]# kubectl create -f dashboard-rbac.yaml 
role.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created
[root@master01 dashboard]# kubectl create -f dashboard-secret.yaml 
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-key-holder created
[root@master01 dashboard]# kubectl create -f dashboard-configmap.yaml 
configmap/kubernetes-dashboard-settings created
[root@master01 dashboard]# kubectl create -f dashboard-controller.yaml 
serviceaccount/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
[root@master01 dashboard]# kubectl create -f dashboard-service.yaml 
service/kubernetes-dashboard created

2.1 完成后查看创建在指定的kube-system命名空间下

[root@localhost ~]#  kubectl get pods -n kube-system -o wide
kubernetes-dashboard-7dffbccd68-zqfwq   1/1     Running   0          3h10m   172.17.48.3   192.168.233.200   <none>
[root@localhost ~]# kubectl get pods,svc -n kube-system
NAME                                        READY   STATUS    RESTARTS   AGE
pod/kubernetes-dashboard-7dffbccd68-zqfwq   1/1     Running   0          3h7m

NAME                           TYPE       CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
service/kubernetes-dashboard   NodePort   10.0.0.246   <none>        443:30001/TCP   3h9m

2.2 访问https://192.168.233.200:30001

在这里插入图片描述

三、证书的制作

[root@master01 dashboard]# vim dashboard-cert.sh
cat > dashboard-csr.json <<EOF
{
   "CN": "Dashboard",
   "hosts": [],
   "key": {
       "algo": "rsa",
       "size": 2048
   },
   "names": [
       {
           "C": "CN",
           "L": "BeiJing",
           "ST": "BeiJing"
       }
   ]
}
EOF

K8S_CA=$1
cfssl gencert -ca=$K8S_CA/ca.pem -ca-key=$K8S_CA/ca-key.pem -config=$K8S_CA/ca-config.json -profile=kubernetes dashboard-csr.json | cfssljson -bare dashboard
kubectl delete secret kubernetes-dashboard-certs -n kube-system
kubectl create secret generic kubernetes-dashboard-certs --from-file=./ -n kube-system

3.1 修改dashboard-controller.yaml

[root@master01 dashboard]# vim dashboard-controller.yaml
args:
          # PLATFORM-SPECIFIC ARGS HERE
          - --auto-generate-certificates
          - --tls-key-file=dashboard-key.pem       # 指定证书密钥
          - --tls-cert-file=dashboard.pem            ## 指定证书

3.2 生成证书

[root@master01 dashboard]# bash dashboard-cert.sh /root/k8s/k8s-cert/ ##生成 dashboard证书时需要ca等证书, 指定证书位置
2020/10/09 09:55:52 [INFO] generate received request
2020/10/09 09:55:52 [INFO] received CSR
2020/10/09 09:55:52 [INFO] generating key: rsa-2048
2020/10/09 09:55:52 [INFO] encoded CSR
2020/10/09 09:55:52 [INFO] signed certificate with serial number 462856100749830270426960605715828341005357971875
2020/10/09 09:55:52 [WARNING] This certificate lacks a "hosts" field. This makes it unsuitable for
websites. For more information see the Baseline Requirements for the Issuance and Management
of Publicly-Trusted Certificates, v.1.1.6, from the CA/Browser Forum (https://cabforum.org);
specifically, section 10.2.3 ("Information Requirements").
secret "kubernetes-dashboard-certs" deleted
secret/kubernetes-dashboard-certs created

3.3 更新 dashboard-controller.yaml 配置

[root@master01 dashboard] kubectl apply -f dashboard-controller.yaml 
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
serviceaccount/kubernetes-dashboard configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
deployment.apps/kubernetes-dashboard configured
## 如果更新失败,无法检测到配置文件的变动
[root@localhost dashboard]# kubectl delete -f dashboard-controller.yaml  ## 先删除
serviceaccount "kubernetes-dashboard" deleted
deployment.apps "kubernetes-dashboard" deleted
[root@localhost dashboard]# kubectl create  -f dashboard-controller.yaml  ## 再重新创建
serviceaccount/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created   ## 操作完成后需要检查pod分配的节点是否发生变化

3.4 再次访问https://192.168.233.200:30001在这里插入图片描述

在这里插入图片描述

四、生成登录令牌

[root@master01 dashboard]#  kubectl create -f k8s-admin.yaml 
serviceaccount/dashboard-admin created
clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin created
[root@master01 dashboard]# kubectl get secret -n kube-system
NAME                               TYPE                                  DATA   AGE
dashboard-admin-token-6qpjc        kubernetes.io/service-account-token   3      58s
default-token-2w7ds                kubernetes.io/service-account-token   3      9d
kubernetes-dashboard-certs         Opaque                                11     2m27s
kubernetes-dashboard-key-holder    Opaque                                2      10m
kubernetes-dashboard-token-7hzbj   kubernetes.io/service-account-token   3      4m15s
[root@master01 dashboard]# kubectl describe secret dashboard-admin-token-6qpjc -n kube-system  ## 查看令牌
Name:         dashboard-admin-token-6qpjc
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
              kubernetes.io/service-account.uid: c4d50908-09d2-11eb-b611-000c292f7bdc

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1359 bytes
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tNnFwamMiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiYzRkNTA5MDgtMDlkMi0xMWViLWI2MTEtMDAwYzI5MmY3YmRjIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.EstYlqaH9VMpxR-Q4ESz-1xz2VpuhLdNZ7pSp3H9bgfWfib0noA93UB7bJdbKxfbr5fzqc7qGNZMQ9q0n-MA1u95UzuxpzCRgVW08Tgg6uIDapQ2j9BMXBKLYfobMYEgInJVyufGKHklrXdfXoaB-O5V6m7QxLMsgVqS_TuO6QYQYdNt_HpEGutL1ohYaj0dk37bvAvLAys89gMAcP_x1EGLx7LY6g-4CzSvOIRndWE7e5hTg29uPqmqEJMYd4lr_k_3j3AVJxSXRdPjuGsCXbh6NjTy5K0FAOW596qDJUHA2-06LxdMeEl3I3WqCRc5RqvdmE9u42VSpBp5bJqAUw        ## 这就是登录令牌

4.1 复制粘贴令牌 登录

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

K8S网站页面的搭建与证书优化配置 的相关文章

  • 可变长度参数的应用方式

    va list 直接函数定义 va list是编译器内嵌的一种函数 typedef builtin va list gnuc va list typedef gnuc va list va list int dbg print const
  • 详解项目中使用dotPeek调试源码

    一 简介 说到 debug 源码 xff0c 许多很多搞开发的小伙伴都会异常的兴奋 xff0c 这也是像上成长的毕竟之路 调试源码方式通常有两种 xff1a 一是有了源代码 xff0c 也有了 pdb 文件 二是借助第三方工具 xff0c
  • 笔记本电脑如何通过HDMI连接屏幕进行投影

    1 使用HDMI xff08 高清多媒体接口 xff0c High Definition Multimedia Interface xff09 连接笔记本电脑 2 在电脑桌面空白处右键点击 显示设置 3 在 多显示器 的下拉列表中选择 复制
  • 一款Java开源的Springboot即时通讯 IM,附源码

    开篇 电商平台最不能缺的就是即时通讯 xff0c 例如通知类下发 xff0c 客服聊天等 今天 xff0c 就来给大家分享一个开源的即时通讯系统 如对文章不感兴趣可直接跳至文章末尾 xff0c 有获取源码链接的方法 但文章内容是需要你简单的
  • dpkg 命令使用说明

    dpkg是一个debian包管理工具 能够对包进行安装 卸载 获取信息等操作 用法 xff1a 安装 xff08 解包并配置 xff09 xff1a dpkg i package file dpkg install package file
  • ubantu开启FTP使用 FileZilla与windows文件互传(图文教程)

    平台 xff1a VMware Workstation 16 Pro iso镜像 xff1a ubuntu 22 04 1 desktop amd64 iso 第一步 xff1a 先打开终端 第二步 xff1a 分别输入下面两条代码 xff
  • 虚拟机Ubuntu20.04安装NVIDIA显卡驱动失败原因

    本来想在ubuntu里使用Tensorflow的GPU版 但是按照一系列操作 xff0c 在处理显卡驱动问题的时候 xff0c 出现下图报错 xff1a 后来查到虚拟机不支持显卡驱动 xff0c 显卡不支持虚拟化 xff0c 所以不能用Te
  • C语言练习:输入一个十进制将其转换成八进制和十六进制

    文章目录 前言一 题意二 代码1 代码的实现2 读入数据 总结 前言 输入一个十进制将其转换成八进制和十六进制本题是在C语言中较为常见的问题 xff01 一 题意 在C环境中输入一个十进制数 xff0c 在结果中第一行输出8进制数第二行输出
  • 本第包含与远程包含--学习篇

    1 什么是文件包含 用一句话来说就是 xff0c 文件包含不是漏洞 xff0c 但是由于对包含进行的文件不可控 xff0c 导致了文件包含漏洞的产生 文件包含分为两种 1 本地文件包含LFI xff08 包含本地文件操控LFI xff09
  • Ubuntu20.04安装Java JDK

    1 官网下载 https www oracle com java technologies downloads java8 根据自己系统配置信息下载对应安装包 xff0c 常见的的Linux系统 xff0c Ubuntu下载后缀为 tar
  • Ubuntu获取文件路径

    1 可视化界面查看 xff08 ctrl 43 L xff09 可视化界面查看ubuntu默认的快捷键是ctrl 43 L xff0c 直接按下快捷键 xff0c 如图路径显示出来了 2 直接在终端输入pwd
  • 关于跨平台 UI 的思考

    一 xff1a 跨平台 xff0c 这里的跨平台 xff0c 指的是 xff1a Windows Linux MacOS IOS Andriod 二 xff1a 跨平台 xff0c 首先大家想到的是 Java 虽然众多平台都支持 Java
  • Ubuntu20.04安装IntelliJ IDEA2022步骤

    1 下载linux版本的idea 链接地址 xff1a IntelliJ IDEA The Capable amp Ergonomic Java IDE by JetBrains 2 解压到自己的路径下 在 usr local 路径下新建安
  • Debian 11 搭建fabric版本1.4的环境

    建议以下所有过程皆在root权限下进行 xff0c 否则在sudo权限切换的过程中会出现很多环境变量的问题 1 搭建Fabric的前置条件 1 1安装GOLANG Debian 11 安装部署 Go 和设置环境变量 1 2安装Docker
  • 如何用脚本自动生成httpd容器

    要用脚本自动生成httpd容器 xff0c 首先需要安装Docker 然后 xff0c 你可以编写一个简单的脚本来创建httpd容器 以下是一个示例脚本 xff1a bin bash 定义变量 name 61 34 my httpd 34
  • 如何用脚本自动生成多个httpd容器

    使用 96 crontab 96 来定时执行脚本 96 crontab 96 是一种在Unix和类Unix系统上自动定时执行命令或脚本的程序 你可以编辑你的 96 crontab 96 文件 xff0c 然后在该文件中添加定时执行脚本的条目
  • Microsoft Visual C++ 14.0 or greater is required的解决方法

    用pip去安装Python第三方库的时候 xff0c 安装不成功 xff0c 遇到问题 xff0c 提示有 error Microsoft Visual C 43 43 14 0 or greater is required Get it
  • ansible安装部署以及常用模块解析使用

    ansible安装部署 1 配置阿里云的eple源 我们使用yum命令安装ansible xff0c 需要阿里云的eple源 阿里云eple源下载地址 也可以通过下面命令获取 epel RHEL 8 centos8版本按照如下配置 1 xf
  • 使用rancher的rke2部署高可用的k8s集群

    目录 1 linux环境初始化及内核调优 xff08 1 xff09 设置主机名 关闭防火墙 配置集群ip映射 关闭selinux xff08 2 xff09 禁用linux的透明大页 标准大页 xff08 3 xff09 禁用swap分区
  • SPI总线

    1 spi总线简介 xff1a SPI xff08 Serial Peripheral Interface xff09 是串行外设接口的缩写 xff0c SPl是一种高速的 全双工 同步的串行通信总线 xff1b SPl采用主从 方式工作

随机推荐