apiVersion: v1 #创建一个新的命名空间 kind: Namespace metadata: name: test
---
apiVersion: apps/v1 #资源版本,可使用 kubectl api-versions命令查看有哪些,只有指定具体的资源版本才有相关的资源来使用 kind: Deployment #资源名称,Deployment为一个控制器 metadata: #元数据信息 name: nginx-deployment #名称
namespace: test #运行的命名空间名,不定义默认为default labels: #标签 app: nginx spec: #控制器相关属性 replicas: 3 #副本数 selector: #pod选择器 matchLabels: app: nginx template: #被管理的对象 metadata: labels: app: nginx spec: #对象的相关属性
nodeSelector: #node选择器 app: dev containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 #容器暴露的端口,也就是该容器应用的端口
--- apiVersion: v1 kind: Service metadata: name: nginx-service
namespace: test labels: app: nginx spec: type: NodePort ports: - port: 8001 #service端口 targetPort: 80 #容器的端口 nodePort: 30801 #外部访问端口 selector: app: nginx --- apiVersion: extensions/v1beta1 #向ingress-nginx中注入访问的配置 kind: Ingress metadata: name: tomcat-ingress spec: rules: - host: xw.nginx.com #访问的域名 http: paths: - path: / backend: serviceName: nginx-service #svc名称,和上面定义的svc名称一致 servicePort: 8001 #svc访问的端口,和上面定义的svc端口一致
yaml字段查询
Pod容器的字段拼写忘记了
kubectl explain pods.spec.containers