这是我第一次安装Kubernetes,并试图了解它的工作原理。我无法解决的第一个问题是使用proxy
通过HTTP协议打开Dashboard,方法是访问文档中的URL:
浏览器的回复是:无法访问此网站。 Localhost拒绝连接。
我从配备以下功能的虚拟机开始:
所有正在运行并已连接到专用网络。
到目前为止,我已经按照installing kubeadm的说明设置了生产环境。比created a single control-plane cluster with kubeadm还没有加入任何节点。
我创建的环境是:
一切似乎都在运行。
我能看到的是加载时的一些响应
所以我无法通过official Kubernetes Dashboard documentation使用基于HTTP协议的代理来打开/加载Kubernetes Dashboard UI。
P.S。设置新用户使用绑定到该用户的承载令牌登录到仪表板时,我不清楚。是否应该根据changelog of v2.0.0-beta1将namespace
的值从kube-system
更改为kubernetes-dashboard
?
答案 0 :(得分:1)
我不确定为什么您无法使用代理看到它。但是,我能够使用NodePort在虚拟机之一的IP上显示Dashboard。您需要编辑仪表板的服务,并将“ ClusterIP”替换为“ NodePort”。
答案 1 :(得分:1)
我看到您想从笔记本电脑访问仪表板。您应该做的是创建一个名为k8s-admin的管理员帐户:
$ brew install kubernetes-cli
然后在笔记本电脑/工作站上设置kubectl: 例如,对于macOS,它看起来像这样(请参见documentation):
~/.kube
设置工作站的代理。在笔记本电脑上创建一个~/.kube/config
目录,然后将~/.kube
文件从k8s(Kubernetes)主文件中复制到您的$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep k8s-admin | awk '{print $1}')
目录中。
然后获取连接到仪表板所需的身份验证令牌:
$ kubectl proxy
存储此令牌,您将需要它来访问Kubernetes仪表板。现在启动代理:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
现在通过以下方式打开仪表板:
Token
您应该看到 test('Login with no account', () async {
Firestore _firestore = Firestore.instance;
final QuerySnapshot result = await _firestore
.collection(UserFirestoreField.Collection)
.where(UserFirestoreField.EmailAddress, isEqualTo: 'email@example.com')
.where(UserFirestoreField.Password, isEqualTo: 'wrongpassword')
.getDocuments();
final List<DocumentSnapshot> docs = result.documents;
print(docs);
});
选项,然后从上一步和登录中复制并粘贴令牌。
您可以遵循此tutorial。
答案 2 :(得分:0)
看起来您正在尝试通过您的笔记本电脑在本地访问您的 kubernetes 集群,但它抛出“无法访问此站点。本地主机拒绝连接。”。
您需要创建一个从本地机器到我在其中放入示例隧道命令的实例的隧道 ssh -N -L 8001:127.0.0.1:8001 user@ipadress