apiVersion: apps/v1 #指定API版本标签 kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints metadata: #定义资源的元数据信息 name: emqx-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的 namespace: lk #默认default labels: #定义资源标签 app: emqx-d spec: replicas: 1 #定义副本数量 selector: #定义选择器 matchLabels: #匹配上边的标签 app: yamlemqx-d #名称 template: #定义模板 metadata: labels: app: yamlemqx-d spec: containers: #定义容器信息 - name: yamlemqx #容器名,与标签名要相同 image: docker.io/emqx/emqx:4.3.9 #容器使用的镜像以及版本 imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像 ports: - containerPort: 1883 #定义容器的端口 name: tcp-emqx - containerPort: 18083 #定义容器的端口 name: tcp-emqx-web --- apiVersion: v1 #指定API版本标签 kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints metadata: #定义资源的元数据信息 name: emqx-service #定义资源的名称,在同一个namespace空间中必须是唯一的 namespace: lk #默认default labels: #定义资源标签 app: emqx-s spec: selector: app: yamlemqx-d #deployment标签 type: NodePort #ClusterIP ports: - protocol: TCP port: 1883 # 集群内访问 targetPort: 1883 #集群内 容器内端口 name: tcp-1883 nodePort: 30883 #集群外访问 范围30000-32767 - protocol: TCP port: 18083 # 集群内访问 targetPort: 18083 #集群内 容器内端口 name: tcp-18083 nodePort: 30083 #集群外访问 范围30000-32767