关于pod的网络访问

 
一个pod内所有的容器共享同一网络名称空间
 
HostNetwork:pod和宿主机共用网络,如果宿主机的80端口没有开启,共用后监听在80端口的服务也可以被访问到
apiVersion: v1
kind: Pod
metadata:
  name: mypod
  namespace: default
spec:
  containers:
  - name: nginx
    image: nginx:1.14-alpine
  hostNetwork: true    
 
HostPort:宿主机的某一port通过DNAT方式做端口转发,至节点上某一容器的端口(只有容器所在节点可做端口转发,别的节点无效)
apiVersion: v1
kind: Pod
metadata:
  name: mypod
  namespace: default
spec:
  containers:
  - name: nginx
    image: nginx:1.14-alpine
    ports:
    - protocol: TCP
      containerPort: 80
      name: http
      hostPort: 8080
 
NodePort Service:所有节点上都打开某port通过默认创建的ClusterIP转发至某一节点上的某pod的某个容器端口(整个K8S集群都可做端口转发)
posted @ 2020-09-22 20:20  Edward_han  阅读(666)  评论(0编辑  收藏  举报