目录
1、yaml文件详解
2、pod 容器对外透露端口号
1、yaml文件详解
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端口一致
2、pod 容器对外透露端口号
- apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -f docker-compose-postgres.yml -o k8s/temporal-postgres.yaml
kompose.version: 1.26.1 (1b040dd2)
creationTimestamp: null
labels:
io.kompose.service: postgresql
name: postgresql
spec:
type: NodePort
ports:
- name: "5432"
port: 5432
targetPort: 5432
nodePort: 30002
selector:
io.kompose.service: postgresql
status:
loadBalancer: {}
格式样式: