为什么kubernetes-dashboard使用
https:kubernetes-dashboard:用于SERVICE_NAME:SERVICE_PORT吗?
另外,端口显示443:31663是什么意思
其他服务将只有x / TCP(x是一个数字而不是
x:y)
如Manually constructing apiserver proxy URLs中所述,默认方式为
http://kubernetes_master_address/api/v1/namespaces/namespace_name/services/service_name[:port_name]/proxy
默认情况下,API服务器使用http代理您的服务。使用
https,在服务名称前添加https ::
http://kubernetes_master_address/api/v1/namespaces/namespace_name/services/https:service_name:[port_name]/proxy
URL名称段支持的格式为:
<service_name>
-使用http代理到默认端口或未命名端口
<service_name>:<port_name>
-使用http代理到指定端口
https:<service_name>:
-使用https代理默认或未命名端口(请注意结尾的冒号)
https:<service_name>:<port_name>
-使用https代理到指定端口
下一步:
我创建了一个简单的服务,但是这里没有显示,我
混淆了如何确定此处显示或不显示哪些服务。
我为您找到并测试了什么?
cluster-info API reference:
使用标签 kubernetes.io/cluster-service=true 显示主服务器和服务的地址,要进一步调试和诊断群集问题,请使用“ kubectl cluster-info dump”。
因此,一旦您添加了kubernetes.io/cluster-service: "true"
标签,该服务就会开始在kubectl cluster-info
下显示。
但是!!当您看到您的服务在几分钟后从输出中消失时,这是预期的行为。已找到说明here-我仅将其复制粘贴到此处以供将来参考。
另一部分是插件管理器。它使用此注释来
将群集状态与静态清单文件同步。的
行为是这样的:
1)插件管理器从磁盘读取Yaml->部署内容
2)插件管理器从带有批注cluster-service的api服务器中读取所有部署:true->删除所有不存在的文件
因此,如果您添加此注释,则插件管理器将在一分钟左右后删除仪表板。
所以
创建集群后部署仪表板->不应设置注释:
https://github.com/kubernetes/dashboard/blob/b98d167dadaafb665a28091d1e975cf74eb31c94/src/deploy/kubernetes-dashboard.yaml
仪表板已部署到集群创建的一部分->应该设置注释:
https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dashboard/dashboard-controller.yaml
至少这是前一段时间的行为。我认为kubeadm不使用插件管理器。但这仍然是kube-up脚本的一部分。
此行为的解决方案也存在:添加其他标签addonmanager.kubernetes.io/mode: EnsureExists
说明是here
您的最终服务应如下所示:
# ------------------- Dashboard Service ------------------- #
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: EnsureExists
name: kubernetes-dashboard
namespace: kube-system
spec:
ports:
- port: 443
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
kubectl get svc kubernetes-dashboard -n kube-system -o yaml
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"addonmanager.kubernetes.io/mode":"EnsureExists","k8s-app":"kubernetes-dashboard","kubernetes.io/cluster-service":"true"},"name":"kubernetes-dashboard","namespace":"kube-system"},"spec":{"ports":[{"port":443,"targetPort":8443}],"selector":{"k8s-app":"kubernetes-dashboard"}}}
labels:
addonmanager.kubernetes.io/mode: EnsureExists
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
kubectl cluster-info
Kubernetes master is running at https://*.*.*.*
...
kubernetes-dashboard is running at https://*.*.*.*/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
...
本文链接:https://www.f2er.com/3144995.html