19.服务暴露-nodePort Service
NodePort类型Service,kube-proxy 只能使用iptables模型,而无法使用ipvs模型
创建notePort型service
- 陈述式
kubectl create service nodeport nginx-dp --tcp=80:8001
- 声明式
vi nginx-noteportSvc2dp.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx-dp
name: svc-noteport-nginx-dp
spec:
ports:
- port: 80
protocol: TCP
nodePort: 8000
selector:
app: nginx-dp
type: NodePort
- nodePort
指定node节点的端口,不指定则会在node上动态指定一个端口
kubectl apply -f nginx-noteportSvc2dp.yaml
查看服务
[root@node22 ~]# kubectl get svc -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kubernetes ClusterIP 192.168.0.1 <none> 443/TCP 12d <none>
nginx-dp ClusterIP 192.168.47.6 <none> 80/TCP 11h app=nginx-dp
svc-noteport-nginx-dp NodePort 192.168.155.56 <none> 80:8000/TCP 8h app=nginx-dp
[root@node22 ~]# netstat -anp | grep 8000
tcp6 0 0 :::8000 :::* LISTEN 1692/./kube-proxy