apiVersion: apps/v1 #指定API版本标签 kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints metadata: #定义资源的元数据信息 name: iota-dac-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的 namespace: lk #默认default labels: #定义资源标签 app: yaml-iota-dac-d spec: replicas: 1 #定义副本数量 selector: #定义选择器 matchLabels: #匹配上边的标签 app: yaml-iota-dac-d #名称 template: #定义模板 metadata: labels: app: yaml-iota-dac-d spec: containers: #定义容器信息 - name: yaml-iota-dac #容器名,与标签名要相同 image: repository.anxinyun.cn/iota/dac:28.21-04-14 #容器使用的镜像以及版本 imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像 env: #环境变量 - name: "IOTA_DAC_RUN_MODE" #变量的名字 value: "single" #变量的值 - name: "IOTA_KAFKA_BROKERS" value: "kafka-service:9092" - name: "IOTA_MQTT" value: "emqx-service:1883" - name: "IOTA_REDIS" value: "redis-service:6379" - name: "IOTA_POSTGRES" value: "postgres://postgres:example@pg-service:5432/iota?sslmode=disable" - name: "IOTA_ALERT_MODE" value: "simple" ports: - containerPort: 5000 #定义容器的端口 name: tcp-5000 - containerPort: 40001 #定义容器的端口 name: tcp-40001 - containerPort: 40002 #定义容器的端口 name: tcp-40002 - containerPort: 40003 #定义容器的端口 name: tcp-40003 - containerPort: 40004 #定义容器的端口 name: tcp-40004 - containerPort: 40005 #定义容器的端口 name: tcp-40005 volumeMounts: #改容器内无法修改hosts 挂载出来修改 - name: vol-hosts #挂载设备的名字,与volumes[*].name 需要对应 mountPath: /etc/hosts # 容器的数据目录 volumes: # volumes和container处于同一层级,别搞错了 - name: vol-hosts hostPath: path: /etc/hosts # 宿主机目录 覆盖容器内目录 间接统一hosts --- apiVersion: v1 #指定API版本标签 kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints metadata: #定义资源的元数据信息 name: iota-dac-service #定义资源的名称,在同一个namespace空间中必须是唯一的 namespace: lk #默认default labels: #定义资源标签 app: iota-dac-s spec: selector: app: yaml-iota-dac-d #deployment标签 type: NodePort ports: - protocol: TCP port: 5000 # 集群内访问 targetPort: 5000 #集群内 容器内端口 name: tcp-5000 #nodePort: 30500 #集群外访问 范围30000-32767 - protocol: TCP port: 40001 # 集群内访问 targetPort: 40001 #集群内 容器内端口 name: tcp-40001 nodePort: 30401 #集群外访问 范围30000-32767 - protocol: TCP port: 40002 # 集群内访问 targetPort: 40002 #集群内 容器内端口 name: tcp-40002 nodePort: 30402 #集群外访问 范围30000-32767 - protocol: TCP port: 40003 # 集群内访问 targetPort: 40003 #集群内 容器内端口 name: tcp-40003 nodePort: 30403 #集群外访问 范围30000-32767 - protocol: TCP port: 40004 # 集群内访问 targetPort: 40004 #集群内 容器内端口 name: tcp-40004 nodePort: 30404 #集群外访问 范围30000-32767 - protocol: TCP port: 40005 # 集群内访问 targetPort: 40005 #集群内 容器内端口 name: tcp-40005 nodePort: 30405 #集群外访问 范围30000-32767