这里先介绍下Pod的网络暴露,后面复习到service暴露再作更新
一、hostNetwork使用宿主机的网络
1、编写pod-hostnetwork.yaml
配置文件中pod的spec.hostNetwork: true 的配置可实现
apiVersion: v1
kind: Pod
metadata:
name: pod-hostnetwork
spec:
hostNetwork: true
containers:
- name: c1
image: nginx:1.20.1-alpine
2、创建资源
kubectl apply -f pod-hostnetwork.yaml
3、查看资源
通过命令我们看到资源分配到node2节点上,且显示了宿主机的IP
我们通过资源访问对应IP的80端口,可以访问到服务
二、hostNetwork使用宿主机的网络
1、编写pod-hostport.yaml
配置文件中pod的containers.ports 的配置可实现,配置如下,其中
containerPort: 80 # 代表容器中的端口号
hostPort: 8088 # 表示映射到主机中的端口号
kind: Pod
apiVersion: v1
metadata:
name: pod-hostport
spec:
containers:
- name: c1
image: nginx
ports:
- name: c1-port
containerPort: 80
hostPort: 8088
protocol: TCP #一般不用写
- name: c2
image: nginx
ports:
- name: c1-port
containerPort: 80
hostPort: 8089
protocol: TCP #一般不用写
2、创建资源
kubectl apply -f pod-hostport.yaml
3、查看资源
通过命令我们看到资源分配到node1节点上,node1的ip为192.168.190.201
我们通过资源访问对应IP的8088端口和8089都能访问服务的两个容器对应的80端口