YAML介绍及语法
- Kubernetes支持YAML和JSON格式创建资源对象
- JSON格式用于接口之间消息的传递
- YAML格式用于配置和管理
- YAML是一种简洁的非标记性语言
- 语法格式:
缩进标识层级关系
不支持制表符缩进,使用空格缩进
通常开头缩进两个空格
字符后缩进一个空格,如冒号,逗号等
“—”表示YAML格式,一个文件的开始
“#”表示注释
通过YAML文件创建资源
mkdir demo/
cd demo/
创建nginx-deployment
vim nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.15.4
ports:
- containerPort: 80
kubectl create -f nginx-deployment.yaml
kubectl get pod -w
kubectl get pod
kubectl get deploy
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6d0292396b0c4cfad026b3ba86dbca91.png)
创建nginx-service
vim 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
kubectl create -f nginx-service.yaml
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/82816f9b9714cd9a4fdc01ebb542c03e.png)
测试网页
- http://192.168.18.30:33594/
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9afb0a423a035e6c61b7bddda6b1f5d6.png)
自动测试
- 自动测试命令的正确性,并不执行创建
kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4a73129e39c2d467d86d472533440e38.png)
- 查看生成yaml格式
kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o yaml
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ab0a608f7257abb0bfc7d29216b6ebd7.png)
- 导入到yaml文件中
kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o yaml > my-deployment.yaml
- 将现有的资源生成模板导出
kubectl get deploy/nginx --export -o yaml
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6f05102a8b9fa7d68c584d53c709c071.png)
- 查看生成json格式
kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o json
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/49e3297f86207793c357ab0fc4b564f0.png)
- 保存到文件中
kubectl get deploy/nginx --export -o yaml > my-deploy.yaml
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4856b02c01318409f5b1f17c93664cde.png)
- 查看字段帮助信息
kubectl explain pods.spec.containers