一、k8s label控制pod位置
1 默認情況下,Scheduler會將pod調度到所有可用的node。不過有些情況我們希望將pod部署到指定的node, 使用label可以實現這個功能。
2 查看label是否生效
3 編輯yml文件
4 執行創建pod
5 查看是否pod是否都部署在node01上面
6 刪除label
查看label是否消失
不過此時pod並不會重新部署,依舊在node01上運行
除非在nginx.yml中刪除nodeSelector-設置,然后通過kubectl apply重新部署。
修改如下:
重新執行
結果看下,有調度到node02節點
二、創建SVC
1 將nginx.yaml修改以下內容
2 創建SVC文件nginx-svc.yml
3 刪除原來的
nginx-deployment0814,重新部署
查看pod相關信息
4 創建svc
5 檢測網絡是否正常訪問,在集群任意節點
三、外網訪問
service
ClusterIP只能在集群訪問,當然可以使用外部NAT或者LVS實現外網訪問,k8s自帶的NodePort可以輕易實現外部訪問。
1 修改nginx-svc
2 重新應用nginx-svc.yml
3 檢驗所有node節點的地址都可以訪問
master01:
node01:
node02:
iptables映射: