为了让外部客户端可以访问这些服务,可以将 Pod 的端口号映射到宿主机,以使客户端应用能够通过物理机访问容器应用。
设置容器级别的 hostPort,将容器应用的端口号映射到物理机上:
apiVersion: v1 kind: Pod metadata: name: webapp labels: app: webapp spec: containers: - name: webapp image: tomcat:9-jdk8-corretto ports: - containerPort: 8080 hostPort: 8081 resources: limits: cpu: 200m memory: 300Mi
设置 Pod 级别的 hostNetwork=true,该 Pod 中所有容器的端口号都将被直接映射到物理机上:
apiVersion: v1 kind: Pod metadata: name: webapp labels: app: webapp spec: hostNetwork: true containers: - name: webapp image: tomcat:9-jdk8-corretto ports: - containerPort: 8080 resources: limits: cpu: 200m memory: 300Mi
在设置 hostNetwork=true 时需要注意:
在容器的 ports 定义部分如果不指定 hostPort,则默认 hostPort 等于 containerPort
如果指定了 hostPort,则 hostPort 必须等于 containerPort 的值
最后更新于1年前