从《Kubernetes实践入门》一书的实例学习,学习关于标签的内容
背景 – 背景环境
个人希望不仅仅了解基础设施知识,更希望创建并部署能够运行未来应用程序的环境,以获得未来知识。并且,我希望进一步更新自己的知识。
我在其中遇见了这本书,从现在开始留下一些所做的事情,它也可以作为给未来的自己的一封信,希望能够重新审视。
本次分享一些我学习过程中的书籍,供大家引用和参考之用。

关于实际学习的事情
我想一邊讀書一邊逐章地慢慢前進。我也想利用GitHub的源代碼來學習。
开始勉强
我会从这里开始学习Label和Label选择器。
- https://github.com/kubernetes-practical-guide/examples/tree/master/ch1.3.3
apiVersion: v1
kind: Pod
metadata: # 全てのオブジェクトが共通で持つメタ情報 (1)
name: my-pod
namespace: my-namespace
labels: # Labelの設定 (2)
environment: production
release: canary
spec:
containers: # Podに含むコンテナのリスト (1)
- name: nginx # コンテナの名前
image: k8spracticalguide/nginx:1.15.5 # コンテナイメージ
ports:
- containerPort: 80
apiVersion: v1
kind: Service
metadata:
name: my-service
annotations: # Annotationの設定 (2)
prometheus.io/scrape: "true"
prometheus.io/path: "/metrics"
prometheus.io/port: "9102"
spec:
selector:
app: my-app
ports:
- port: 8080
targetPort: 80
命令组
应用 Pod 的清单文件。
$ kubectl apply -f my-pod.yaml
使用指定的命名空间进行 Pod 搜索。
$ kubectl get pods --namespace=my-namespace
NAME READY STATUS RESTARTS AGE
my-pod 1/1 Running 0 13m
使用环境标签进行搜索
$ kubectl get pods -l environment=production --namespace=my-namespace
NAME READY STATUS RESTARTS AGE
my-pod 1/1 Running 0 11m
当选择“环境”标签进行搜索时(当选择否定时)。
$ kubectl get pods -l environment!=production --namespace=my-namespace
No resources found.
在环境标签中以外的方式进行搜索
$ kubectl get pods -l 'environment in (production)' --namespace=my-namespace
NAME READY STATUS RESTARTS AGE
my-pod 1/1 Running 0 12m
好像必须用单引号(’)指定…