1. ClusterIP
apiVersion: v1 # 指定api版本,此值必须在kubectl api-versions中 kind: Service # 指定创建资源的角色/类型 metadata: # 资源的元数据/属性 name: demo # 资源的名字,在同一个namespace中必须唯一 namespace: default # 部署在哪个namespace中 labels: # 设定资源的标签 app: demospec: # 资源规范字段 type: ClusterIP # ClusterIP 类型 ports: - port: 8080 # service 端口 targetPort: http # 容器暴露的端口 protocol: TCP # 协议 name: http # 端口名称 selector: # 选择器 app: demo
2. NodePort
apiVersion: v1 # 指定api版本,此值必须在kubectl api-versions中
kind: Service # 指定创建资源的角色/类型
metadata: # 资源的元数据/属性
name: demo # 资源的名字,在同一个namespace中必须唯一
namespace: default # 部署在哪个namespace中
labels: # 设定资源的标签
name: demo
spec: # 资源规范字段
type: NodePort # NodePort 资源
ports:
- port: 8080 # service 端口
targetPort: 80 # 容器暴露的端口
nodePort: 18080 # 暴露端口,可用宿主机IP加该端口访问 Nodeport-->port-->targetPort
selector: # 选择器
app: demo