gpt4 book ai didi

kubernetes - 如何从外部网络访问 Kubernetes Dashboard

转载 作者:行者123 更新时间:2023-12-02 11:28:48 47 4
gpt4 key购买 nike

我正在尝试使用网络外的 Token 方法访问 kubernetes Dashboard。

我运行了这两个命令来获取 token

kubectl -n kube-system get secret

kubectl -n kube-system describe secret replicaset-controller-token-2p4fk

将粘贴输出 token 复制到 K8 登录页面。

当我单击登录按钮(页面未加载)时,我收到此错误浏览器控制台。

enter image description here

我正在使用以下命令在内部服务器上运行 k8:
kubectl proxy --address 0.0.0.0 --accept-hosts '.*'

并尝试从 访问 k8 UI 控制台外网 .
Failed to load resource: the server responded with a status of 401 (Unauthorized)
vendor.bd425c26.js:6 Error during global settings reload: Object
:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/api/v1/rbac/status:1 Failed to load resource: the server responded with a status of 401 (Unauthorized)
vendor.bd425c26.js:6 Possibly unhandled rejection: {"data":"MSG_LOGIN_UNAUTHORIZED_ERROR\n","status":401,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"api/v1/rbac/status","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":"Unauthorized","xhrStatus":"complete","resource":{}}

我什至尝试了这些步骤,但没有运气页面在单击登录按钮时没有加载。
$ kubectl -n kube-system get secret
# All secrets with type 'kubernetes.io/service-account-token' will allow to log in.
# Note that they have different privileges.
NAME TYPE DATA AGE
deployment-controller-token-frsqj kubernetes.io/service-account-token 3 22h

$ kubectl -n kube-system describe secret deployment-controller-token-frsqj
Name: deployment-controller-token-frsqj
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name=deployment-controller
kubernetes.io/service-account.uid=64735958-ae9f-11e7-90d5-02420ac00002

Type: kubernetes.io/service-account-token

Data
====
ca.crt: 1025 bytes
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZXBsb3ltZW50LWN

这是我的 Kube/config 文件
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRV..
server: https://192.168.15.97:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: LS0tLS1CRUdJTiBD..
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJ..

为什么我没有看到 跳过签名按钮旁边的身份验证按钮?

我也尝试了这些步骤:

运行以下命令:
  • 此命令将在默认命名空间中为仪表板创建一个服务帐户
    $kubectl create serviceaccount dashboard -n default
  • 此命令会将集群绑定(bind)规则添加到您的仪表板帐户

    kubectl create clusterrolebinding dashboard-admin -n default\
    --clusterrole=集群管理员\
    --serviceaccount=default:仪表板
  • 此命令将为您提供仪表板登录所需的 token
    $kubectl get secret $(kubectl get serviceaccount dashboard -o jsonpath="{.secrets[0].name}") -o jsonpath="{.data.token}" | base64 --decode有人可以在这里帮助我我错过了什么。

  • 一些发现: Link
    kubectl proxy 命令只允许 HTTP 连接。对于 localhost 和 127.0.0.1 以外的域,将无法登录。单击登录页面上的登录按钮后不会发生任何事情。
    kubectl proxy

    不支持 https 调用。

    有没有办法从外部/本地 Windows 网络运行 kubectl proxy 命令以及 Kubernetes 服务器 IP 地址?

    注:
    本地系统是 Windows 10,K8 是 Linux 服务器。
    Docker 版本:18.09 & k8 版本:v1.13.1

    谢谢,

    最佳答案

    当我尝试通过 kubectl proxy 访问仪表板时遇到此问题使用普通的http和公共(public)IP。

    错误详情:kubectl proxy产生错误 http: proxy error: context canceled在控制台中,在您单击“登录”后在浏览器中以 /plugin/config 结尾的请求之一返回带有 MSG_LOGIN_UNAUTHORIZED_ERROR 的 json但浏览器不显示任何错误。

    解决方案(source)

    kubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard 8443:443 --address 0.0.0.0

    当然,如果您只想将其绑定(bind)到一个接口(interface),则可以使用您的接口(interface) ip 而不是 0.0.0.0。那就去 https://your.external.ip:8443/ ,它会将您重定向到 https://your.external.ip:8443/#/login你会被要求提供 token 。接下来,如 here 所述:
    kubectl -n kube-system describe secret $(kubectl -n kube-system get secret \
    | awk '/^deployment-controller-token-/{print $1}') | awk '$1=="token:"{print $2}'

    关于kubernetes - 如何从外部网络访问 Kubernetes Dashboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53957413/

    47 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com