- Let's try to create several Pods with the previous labels to distinguish different projects, environments, and tiers, as follows:
YAML Filename |
Pod Image |
Project |
Environment |
Tier |
pilot-dev.yaml |
nginx |
pilot |
develop |
frontend |
pilot-dev.yaml |
memcached |
cache |
pilot-prod.yaml |
nginx |
production |
frontend |
pilot-prod.yaml |
memcached |
cache |
poc-dev.yaml |
httpd |
poc |
develop |
frontend |
poc-dev.yaml |
memcached |
cache |
- For convenience, we will prepare three YAML files that contain two Pods each, with a YAML separator --- between Pods:
apiVersion: v1
kind: Pod
metadata:
name: pilot.dev.nginx
labels:
project: pilot
environment: develop
tier: frontend
spec:
containers:
- name: nginx
image: nginx
---
apiVersion: v1
kind: Pod
metadata:
name: pilot.dev.memcached
labels:
project: pilot
environment: develop
tier: cache
spec:
containers:
- name: memcached
image: memcached
apiVersion: v1
kind: Pod
metadata:
name: pilot.prod.nginx
labels:
project: pilot
environment: production
tier: frontend
spec:
containers:
- name : nginx
image: nginx
---
apiVersion: v1
kind: Pod
metadata:
name: pilot.prod.memcached
labels:
project: pilot
environment: production
tier: cache
spec:
containers:
- name: memcached
image: memcached
apiVersion: v1
kind: Pod
metadata:
name: poc.dev.httpd
labels:
project: poc
environment: develop
tier: frontend
spec:
containers:
- name: httpd
image: httpd
---
apiVersion: v1
kind: Pod
metadata:
name: poc.dev.memcached
labels:
project: poc
environment: develop
tier: cache
spec:
containers:
- name: memcached
image: memcached
- Create those six Pods with the kubectl create command, as follows, to see how labels are defined:
$ kubectl create -f pilot-dev.yaml
pod "pilot.dev.nginx" created
pod "pilot.dev.memcached" created
$ kubectl create -f pilot-prod.yaml
pod "pilot.prod.nginx" created
pod "pilot.prod.memcached" created
$ kubectl create -f poc-dev.yaml
pod "poc.dev.httpd" created
pod "poc.dev.memcached" created
- Run kubectl describe <Pod name> to check labels, as follows. It looks good, so let's use the label selector to query these Pods by different criteria:
$ kubectl describe pod poc.dev.memcache
Name: poc.dev.memcached
Namespace: default
Node: minikube/192.168.99.100
Start Time: Sun, 17 Dec 2017 17:23:15 -0800
Labels: environment=develop
project=poc
tier=cache
Annotations: <none>
Status: Running
...
..................Content has been hidden....................
You can't read the all page of ebook, please click
here login for view all page.