Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 此k8s yaml中的哪些名称应相同_Kubernetes - Fatal编程技术网

Kubernetes 此k8s yaml中的哪些名称应相同

Kubernetes 此k8s yaml中的哪些名称应相同,kubernetes,Kubernetes,这是一个来自kubenetes网站的yaml示例,有这么多我的应用程序,它们都必须相同吗?他们的目的是什么?就个人而言,我认为这有助于检查POD分组信息 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my-app labels: run: my-app spec: replicas: 3 selector: matchLabels: run: my-app templ

这是一个来自kubenetes网站的yaml示例,有这么多我的应用程序,它们都必须相同吗?他们的目的是什么?

就个人而言,我认为这有助于检查POD分组信息

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-app
  labels:
    run: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      run: my-app
  template:
    metadata:
      labels:
        run: my-app
    spec:
      containers:
      - image: gcr.io/google-samples/hello-app:1.0
        name: my-app
        ports:
        - containerPort: 8080
这是一个来自kubenetes网站的yaml示例,有这么多我的应用程序,它们都必须相同吗?他们的目的是什么

不,就名称字段而言,它们不必相同,也可以不同。在元数据和选择器部分中可以看到my app引用 可用于将不同的Kubernetes对象粘合在一起,或在查询Kubernetes时仅选择对象的子集。它们有时是一样的

根据您创建展开的方式,您可能在整个展开过程中以及从中派生的对象中运行:myapp。使用kubectl run my app-image=gcr.io/google samples/hello app:1.0-replicas=3将创建与您所指的相同的部署

下面的图片展示了如何使用不同的run:my app标签,以上面的部署为灵感:

上图向您展示了部署以及如何使用蓝色模板框创建指定数量的副本。每个Pod将在其元数据部分中获得run:my app标签,从部署的角度来看,这将用作选择其负责的Pod的一种方式

使用kubectl的豆荚子集的类似选择为:

kubectl get pods-l run=我的应用程序

这将为您提供所有标有run:my app的播客

总而言之,当使用kubectl或其他Kubernetes资源进行选择时,可以使用标签来选择资源的子集。您可以创建自己的标签,在整个特定部署过程中,标签不一定必须相同,但如果它们相同,则可以很容易地查询具有特定标签的任何资源

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-app   <--- Deployment object name, you can change it.
  labels:
    run: my-app  <--- It is helpful for the management, e.g.> Deleting same label one 
spec:
  replicas: 3
  selector:
    matchLabels:
      run: my-app <--- What labels are controlled over by this deployment object.
  template:
    metadata:
      labels:
        run: my-app <--- Yeah, it's pod's label. It can be used of grouping with other objects
    spec:
      containers:
      - image: gcr.io/google-samples/hello-app:1.0
        name: my-app
        ports: