为什么我要在kubernetes中标记服务和部署?

时间:2018-04-24 06:56:58

标签: kubernetes

除了可以查询这些服务外,是否还有标签服务的实际理由?

假设我有一项服务:

apiVersion: v1
kind: Service
metadata:
    name: nginx
    labels:
        app: nginx

然后我可以将该标签用于其他内容,而不是使用kubectl get svc -l app=nginx查询该服务吗?还有其他常见用例吗? 部署相同。作为k8s新手我只使用标签,以便服务可以匹配pods,坦率地说,在其他地方看不到很多用途。

2 个答案:

答案 0 :(得分:1)

我想说的是能够使用标签轻松区分不同类型的对象(在您的情况下为Service)。是最实用的用例。假设您的群集具有不同的环境开发,登台,生产等,您需要根据需要应用于Kubernetes群集的任何其他类型的基础结构规则来查找服务,以区分相似的对象。

答案 1 :(得分:1)

我遇到的标签之一用于端到端地拆除应用程序。因此,当我部署到kubernetes时,我确保与同一应用程序相关的所有内容都标记为这样。这样我只需要kubectl delete all --selector=app=foo删除所有与foo相关的服务,部署,Crons等。