容器应用的端口号映射到物理机上

转自: https://blog.csdn.net/huqigang/article/details/76428017

将容器应用的端口号映射到物理机上,包括两种方式

1 通过设置容器级别的hostPort,将容器应用的端口号映射到物理机上。

建立Pod的yaml为:pod-hostport.yaml。需要注意,在yaml中不要使用tab,同时缩进会影响yaml中的数据结构,注意检查缩进。

apiVersion: v1
kind: Pod
metadata:
  name: webapp
  labels:
    app: webapp
spec:
  containers:
  - name: webapp
    image: kubeguide/tomcat-app:v2
    ports:
    - containerPort: 8080
      hostPort: 8081

备注: 当指定hostPort之后,同一台宿主机将无法启动该容器的第2份副本。

2 设置Pod级别的hostNetwork=true。

该Pod中所有容器的端口号都将直接被映射到物理机上。如果容器的ports定义部分如果不指定hostPort,则默认hostPort等于containerPort。否则,指定的hostPort必须等于containerPort的值。

在此,直接编写pod-hostnetwork-rc.yaml。

apiVersion: v1
kind: ReplicationController
metadata:
  name: hostnetwork
  labels:
    app: hostnetwork
spec:
  replicas: 1
  selector:
    app: hostnetwork
  template:
    metadata:
      labels:
        app: hostnetwork
    spec:
       hostNetwork: true
       containers:
       - name: hostnetwork
         image: kubeguide/tomcat-app:v2
         ports:
         - containerPort: 8080

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章