kubenetes 1.16.0安装kubernetes-dashboard v2.0.0-beta4

kubenetes github :https://github.com/kubernetes/dashboard/releases

kubenetes官网:https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

本人安装kubenetes 1.16.0,刚开始使用kubernetes-dashboard v1.10.1安装后,首页访问接口报错404,怀疑是版本不兼容问题。后面发现kubernetes-dashboard最新版本已经是v2.0.0-beta4。并且kubenetes官方文档安装dashboard的描述,指明部署方法

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml

https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml

所以kubenetes v1.16.0 应该使用新版dashboard ui才兼容

 

查看github,用到的镜像有两个dashboard:v2.0.0-beta4、metrics-scraper:v1.0.1

kubernetesui/dashboard:v2.0.0-beta4
kubernetesui/metrics-scraper:v1.0.1

先拉取镜像,本人使用的docker版本19.03.2

docker pull kubernetesui/dashboard:v2.0.0-beta4
kubernetesui/metrics-scraper:v1.0.1

拉成功后

获取yaml文件

https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml

修改recommended.yaml文件,为了方便访问,修改kubernetes-dashboard的Service定义,指定Service的type类型为NodeType,指定nodePort端口

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort # 改成NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 31001 # 指定nodePort端口
  selector:
    k8s-app: kubernetes-dashboard
注:dashboard-metrics-scraper的Service不需要修改

从配置文件可以看到,它还创建了ServiceAccount帐号

apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard

还创建了ClusterRoleBinding

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: kubernetes-dashboard
subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard
    namespace: kubernetes-dashboard

查看token

kubectl describe secret/$(kubectl get secret -n kube-system |grep admin|awk '{print $1}') -n kube-system
Name:         dashboard-admin-token-kzb4v
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
              kubernetes.io/service-account.uid: 71a2e37c-6fee-4921-ae7a-34965e6a75d8

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1025 bytes
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6InZrcFpzWWozWXQwTURqcVpEZDdwcklVVTREbGNBMXFGUnRNZDVyYWhlT3cifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4ta3piNHYiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNzFhMmUzN2MtNmZlZS00OTIxLWFlN2EtMzQ5NjVlNmE3NWQ4Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.TbykeQK204jUz-A88qw34KwFhLsfwkqqkv4hyUfI72XdmoAU1HCj0-_pppRL4p3HWpiNkUiKR4tzZ34YFHVGVIpGLRIW0QAPQ6eEMf1OdS3KShQQx-tOo-2kESZ8hg_mY66uq0sFRXMAd6AiOhzSF-vunMpgxlE9nH5_eE3RHQ6vEXSVFuH4x0eLc4bAu2PwPObdJ-ngdEr-HysrQn2oXM4oXaHZGR3fiyXZdmVFeDqkmsEXuGpTtgTzHwX5WRd4ZyDJsds6LDRDpa654gFmbX_RV4Wr64ankK2_vgM1GDtvy8m4ys17TieBZoRPfPBTgaReN7RObqNc1qlxQHyMsg

把token复制到页面上登录,前面指定的端口是31001,网址为https://192.168.200.207:31001

选择token方式,输入token,sign in

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 Popper.js 版本 1.16.0 中,`right-start` 是一个有效的 `placement` 参数值。它表示将弹出框放置在目标元素的右侧并对齐到目标元素的顶部。 以下是一个示例代码,演示如何在 Popper.js 中使用 `right-start`: ```html <button type="button" id="myButton">点击我</button> <div id="popoverContent" style="display: none;">Popover 内容</div> <script> document.addEventListener("DOMContentLoaded", function() { var button = document.getElementById("myButton"); var popoverContent = document.getElementById("popoverContent"); new Popper(button, popoverContent, { placement: "right-start", modifiers: { preventOverflow: { enabled: false }, // 可选,用于禁用溢出修饰器 }, }); button.addEventListener("click", function() { popoverContent.style.display = "block"; }); document.addEventListener("click", function(event) { if (!button.contains(event.target)) { popoverContent.style.display = "none"; } }); }); </script> ``` 在上面的示例中,我们创建了一个按钮和一个弹出框内容元素。通过使用 Popper.js,我们将弹出框内容元素定位到按钮元素的右侧,并且顶部对齐。当点击按钮时,弹出框内容会显示出来。而当点击按钮以外的区域时,弹出框内容会隐藏。 请注意,Popper.js 的版本可能会有所不同,因此特定版本的支持可能会有所差异。确保你使用的是正确的 Popper.js 版本,并根据文档中的说明使用正确的参数值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值