HeadLiness類型的Service
HeadLiness類型的Service
在某些場景中,開發人員可能不想使用Service提供的負載均衡功能,而希望自己來控制負載均衡策略,針對這種情況,kubernetes提供了HeadLiness Service,
這類Service不會分配Cluster IP,如果想要訪問service,只能通過service的域名進行查詢。
創建
創建service-headliness.yaml
apiVersion: v1 kind: Service metadata: name: service-headliness namespace: dev spec: selector: app: nginx-pod clusterIP: None # 將clusterIP設置為None,即可創建headliness Service type: ClusterIP ports: - port: 80 targetPort: 80
創建并查看
# 創建service [root@master ~]# kubectl create -f service-headliness.yaml # 獲取service, 發現CLUSTER-IP未分配 [root@master ~]# kubectl get svc service-headliness -n dev -o wide # 查看service詳情 [root@master ~]# kubectl describe svc service-headliness -n dev

查看域名的解析情況
[root@master ~]# kubectl get pod -n dev [root@master ~]# kubectl exec -it pc-deployment-7d7dd5499b-8ld77 -n dev -- cat /etc/resolv.conf 默認規則 service名稱.命名空間. svc.cluster.local [root@master ~]# yum -y install bind-utils #產生dig工具 [root@master ~]# dig @10.96.0.10 service-headliness.dev.svc.cluster.local

注:也可用host命令來查看pod的真實ip
host service名稱
注:下圖中myheadless是service名字

參考
黑馬B站k8s課程https://www.bilibili.com/video/BV1Qv41167ck/
https://gitee.com/yooome/golang/blob/main/k8s%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B-%E8%B0%83%E6%95%B4%E7%89%88/k8s%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B.md
https://www.yuque.com/fairy-era/yg511q/xyqxge
浙公網安備 33010602011771號