I.概要
■Kubernetesは、YAMLおよびJSON形式でのリソースオブジェクトの作成をサポートします
■JSON形式は、インターフェース間でメッセージを転送するために使用されます
■YAML形式は構成と管理に使用されます
■YAMLは簡潔な非マークアップ言語です
1.1、文法形式
- 階層関係を識別するためのインデント
- タブのインデントはサポートされていません。インデントにはスペースを使用してください
- 通常、最初に2つのスペースでインデントされます
- コロン、コンマ、ダッシュなど、文字の後にスペースをインデントします。
- 「—」は、ファイルの先頭であるYAML形式を意味します
- 「#」はコメントを意味します
1.2、例
[root@master01 ~]# vim nginx-deployment.yaml #创建pod资源
apiVersion: apps/v1
kind: Deployment #类型是无状态化服务
metadata:
name: nginx-deployment
labels: #打上标签
app: nginx
spec: #定义属性(pod的属性)
replicas: 3
selector: #选择器,关联标签,控制器会根据选择器关联到pod中的名称
matchLabels: #匹配标签
app: nginx
template: #模板,非必要
metadata:
labels:
app: nginx
spec: #定义属性(容器的属性)
containers:
- name: nginx
image: nginx:1.15.4
ports:
- containerPort: 80 #暴露容器的端口
[root@master01 ~]# vim nginx-service.yaml
[root@master01 ~]# kubectl create -f nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
labels:
app: nginx
spec:
type: NodePort
ports:
- port: 80
targetPort: 80
selector:
app: nginx
[root@master01 ~]# kubectl get svc
1.2.1、ポッドを削除します
[root@master01 ~]# kubectl delete -f nginx-deployment.yaml
[root@master01 ~]# kubectl get svc
[root@master01 ~]# kubectl delete -f nginx-service.yaml