远程访问 EC2 上的 Kubernetes 仪表板
Posted
技术标签:
【中文标题】远程访问 EC2 上的 Kubernetes 仪表板【英文标题】:Access Kubernetes Dashboard on EC2 Remotely 【发布时间】:2019-12-22 04:03:04 【问题描述】:我在 EC2 中设置了一个 K8s 集群并通过以下链接启动了 kubernetes 仪表板:
https://github.com/kubernetes/dashboard https://github.com/kubernetes/dashboard/wiki/Access-control这是我运行的命令:
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/
现在访问仪表板最简单的方法是什么?
我注意到有几个相关的问题,但似乎没有人真正回答。
非常感谢。
附:刚刚注意到仪表板日志中的一些错误。仪表板运行有问题?
【问题讨论】:
从仪表板日志中发现一些错误: 检查这个线程,***.com/questions/53521962/… 【参考方案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 也很棒。
【讨论】:
以上是关于远程访问 EC2 上的 Kubernetes 仪表板的主要内容,如果未能解决你的问题,请参考以下文章
从远程机器上部署的 kubernetes 仪表板服务访问本地笔记本电脑时无法访问站点问题
我在两个EC-2实例和仪表板上设置了Kubernetes集群但是我无法在浏览器上访问kubernetes仪表板的ui