Kubernetes CKA課程筆記 31

設定Service IP位置

ZONGRU Li
Oct 24, 2021

首先可以明顯看到以下Service的IP範圍跟Pod存在的IP範圍絕然不同:

Service的IP都是10開頭,Pod的IP都是100開頭

並且Service的IP是有類別的:ClusterIP(這是預設的Service類別)

ClusterIP Type:

  • 預設的Service的類別
  • 暴露ServiceCluster內部IP
  • 僅在Cluster內部的IP可以溝通到
  • 並且其Cluster-IP範圍是由kubeAPI Server提供

kubeAPI Server的Configuration file位在:

在裡面可以看到:

  • 記得上面這個IP範圍僅提供給Cluster內部IP進入!
  • 並且記得kubeAPI Server是由kubeadm建立的
  • 可以查看kubeadm怎麼建立的,透過以下指令查看:

kubeadm init --help

10.96.0.0/12就是預設的Service的VIP

同時也能直接確認kubeadm的設定值,執行:

kubeadm config print init-defaults

kubeadm的init預設數值都顯示了

變更預設的Service CIDR IP 範圍:

  • 基本上一個做法是上面kubeadm init --help內針對--service-cidr給予IP範圍
  • 但是我們已經建完cluster了(已執行過kubeadm init了)
  • 現在想要改變IP範圍可以怎麼做?
  • →直接調整kubeAPI Server的設定!
  • 在異動前要知道,在/etc/kubernetes/manifests目錄下的設定檔
  • 都被kubelet監控著是否有異動!
進入檔案裡面修改!
開頭10改為20開頭
  • 接著確認既有的service元件IP:
  • 接著直接用指令建立service不用設定檔方式
  • 所以先確認指令該怎麼下:
  • 得到臨時建置Service的指令下法如下:

kubectl create service clusterip {service名稱} --tcp={servicePORT}:{目標Pod的PORT}

取個名叫test-new-cidr的

然後再次確認:

IP不一樣範圍了!!!

參考課程(reference)

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet