有没有办法通过在url上传递token来访问kubernetes仪表板?

问题描述 投票:0回答:2

我可以通过访问以下网址并提供令牌并点击登录屏幕上的登录按钮来访问我的 kubernetes dashoard UI

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/workloads?namespace=default

有没有办法可以通过 URL 本身传递令牌,以便仪表板 UI 以登录状态打开,这样我就不需要手动传递令牌并点击登录?

我正在寻找类似的东西(这是由 ChatGPT 建议的,不幸的是它不起作用,这只是再次打开登录屏幕):

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/?token=<authentication-token>
kubernetes kubectl kubernetes-dashboard
2个回答
0
投票

我们可以通过两种方式访问kubernetes仪表板UI

  1. 承载者 代币
  2. KubeConfig

回答你的问题,我们无法通过在URL中编码令牌来登录。 但是我们可以使用

Skip
选项来避免每次登录时都提供令牌

要使

Skip
按钮显示在 UI 中,我们需要在仪表板部署中的
args
部分

下添加以下标志
--enable-skip-login
--disable-settings-authorizer

添加这些标志后,部署看起来像这样

spec:
      containers:
      - name: kubernetes-dashboard
        image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
        ports:
        - containerPort: 8443
          protocol: TCP
        args:
          - --enable-skip-login
          - --disable-settings-authorizer        
          - --auto-generate-certificates
          
          # 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:port
        volumeMounts:

现在,当您重新部署仪表板时,您可以看到

Skip
按钮。通过跳过登录将在测试本地部署的集群时节省大量时间。

注意:从安全角度来看,这不是建议的方法。但是,如果您在隔离的测试环境中部署,则可以继续执行上述步骤。

欲了解更多信息,请参阅此链接


0
投票

@anandhu 你找到解决方案了吗?我遇到了同样的问题。 谢谢

© www.soinside.com 2019 - 2024. All rights reserved.