【问题标题】:Access Kubernetes Dashboard on EC2 Remotely远程访问 EC2 上的 Kubernetes 仪表板
【发布时间】:2019-12-22 04:03:04
【问题描述】:

我在 EC2 中设置了一个 K8s 集群并通过以下链接启动了 kubernetes 仪表板:

这是我运行的命令:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

kubectl proxy --address 0.0.0.0 --accept-hosts '.*'

当我在 EC2 实例的安全组中设置了几个 IP 时,我假设只有这些 IP 可以访问仪表板,所以这里不用担心安全性。

当我尝试使用以下方式访问仪表板时:

http://<My_IP>:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

现在访问仪表板最简单的方法是什么?

我注意到有几个相关的问题,但似乎没有人真正回答。

非常感谢。

附:刚刚注意到仪表板日志中的一些错误。仪表板运行有问题?

【问题讨论】:

标签: amazon-ec2 kubernetes remote-access dashboard


【解决方案1】:

您可以通过type:Loadbalancer 使用服务并使用loadBalancerSourceRanges: 来限制对您的仪表板的访问。

【讨论】:

    【解决方案2】:

    您是否为服务帐户 kubernetes-dashboard 完成了 ClusterRoleBinding。如果没有,请应用以下 yaml 文件更改,以便 serviceaccount 获得 cluster-admin 角色来访问所有 kubernetes 资源。

       apiVersion: rbac.authorization.k8s.io/v1beta1
       kind: ClusterRoleBinding
       metadata:
          name: kubernetes-dashboard
          labels:
               k8s-app: kubernetes-dashboard
       roleRef:
          apiGroup: rbac.authorization.k8s.io
          kind: ClusterRole
          name: cluster-admin
       subjects:
       -  kind: ServiceAccount
          name: kubernetes-dashboard
          namespace: kube-system
    

    【讨论】:

      【解决方案3】:

      这取决于您用于连接 kube-apiserver 的 ServiceAccount 或用户。如果您想在不查找策略详细信息的情况下获得访问权限,请按字面意思授予对所有内容的访问权限,您的 RBAC 文件可能类似于以下内容:

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        annotations:
          rbac.authorization.kubernetes.io/autoupdate: "true"
        labels:
          kubernetes.io/bootstrapping: rbac-defaults
        name: my-cluster-admin
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: cluster-admin
      subjects:
      - apiGroup: rbac.authorization.k8s.io
        kind: User
        name: <your-user-from-your-~/.kube/config>
      

      比传递一个命令:

      kubectl apply -f <filename>
      

      第二种方法:

      kubectl create clusterrolebinding my-cluster-admin --clusterrole=cluster-admin --user=<your-user-from-your-~/.kube/config>
      

      您还可以在用户字段中使用组或服务帐户。查找有关 RBAC 授权的官方文档here

      如果你想一步一步来,我发现tutorial 也很棒。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-20
        • 2020-06-02
        • 2020-03-19
        • 1970-01-01
        • 1970-01-01
        • 2016-12-08
        相关资源
        最近更新 更多