命名空间的 kubernetes 集群信息

Posted

技术标签:

【中文标题】命名空间的 kubernetes 集群信息【英文标题】:kubernetes cluster-info for a namespace 【发布时间】:2018-08-05 03:54:59 【问题描述】:

我将这两个服务部署到我的集群下命名空间prisma

kubectl get services -n prisma

NAME       TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
database   ClusterIP   10.23.252.18   <none>        3306/TCP         3d
prisma     NodePort    10.23.248.0    <none>        4466:31001/TCP   1d

但是当我执行 cluster-info 时,它只显示 master 而我的服务都没有显示:

kubectl cluster-info -n prisma
Kubernetes master is running at https://my-cluster-ip

这对吗?

我希望看到类似的东西:

Kubernetes master is running at https://my-cluster-ip
Prisma is running at https://my-cluster-ip/api/v1/namespaces/prisma/services/prisma/proxy
...

【问题讨论】:

【参考方案1】:

是的,没错。 kubectl cluster-info --help 说:

Display addresses of the master and services with label kubernetes.io/cluster-service=true 

那个标签,在 kubernetes.io 的“命名空间”(指标签中使用的分层语法,而不是集群中的命名空间对象)下,具有特殊含义——它用于服务和其他资源,它们是集群机器,通常作为插件打包和管理。不得用于普通租户服务。

如果您的服务属于集群基础架构类别,您可以为它们及其相关资源添加该标签。使用这个标签的一个很好的例子是在监控工具 heapster-

https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/cluster-monitoring/influxdb/heapster-controller.yaml

【讨论】:

好的。听起来很合理。能否详细说明如何为服务添加标签?

以上是关于命名空间的 kubernetes 集群信息的主要内容,如果未能解决你的问题,请参考以下文章

Kubernetes集群命名空间(Namespace)

如何在 terraform 中导入生成的 Kubernetes 集群的命名空间

如何在一个 Kubernetes 集群中的命名空间之间隔离 Keycloak Infinispan,以防止 KC pod 相互发现和同步

Kubernetes根据命名空间设置部署副本数

防止 Kubernetes 中的命名空间间通信

K8SNamespace命名空间