三、安裝並配置Kubernetes Node節點

Federico發表於2017-11-15

1. 安裝並配置Kubernetes Node節點

1.1 安裝Kubernetes Node節點所需服務

yum -y install kubernetes
  通過yum安裝kubernetes服務時預設將所有的Kubernetes服務全部安裝,我們只需要在Master和Node上啟動相應的服務即可。

1.2 修改Kubernetes服務配置檔案

vim /etc/kubernetes/config

KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://k8s-master:8080"

1.3 修改kubelet配置檔案

vim /etc/kubernetes/kubelet

KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_HOSTNAME="--hostname-override=k8s-node-1"
KUBELET_API_SERVER="--api-servers=http://k8s-master:8080"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"    #確認此映象存在,否則pod無法啟動
KUBELET_ARGS=""

1.4 啟動(並設定為開機自啟)Kubernetes Node上所需服務

systemctl enable kubelet.service
systemctl start kubelet.service
systemctl enable kube-proxy.service
systemctl start kube-proxy.service

2. 服務功能簡介

2.1 kubelet

  kubernetes 是一個分散式的叢集管理系統,在每個節點(node)上都要執行一個 worker 對容器進行生命週期的管理,這個 worker 程式就是 kubelet。簡單地說,kubelet 的主要功能就是定時從某個地方獲取節點上 pod/container 的期望狀態(執行什麼容器、執行的副本數量、網路或者儲存如何配置等等),並呼叫對應的容器平臺介面達到這個狀態。叢集狀態下,kubelet 會從 master 上讀取資訊,但其實 kubelet 還可以從其他地方獲取節點的 pod 資訊

kubelet主要功能:

  • Pod管理
  • 容器健康檢查
  • 容器監控

2.2 kube-proxy

  • kube-proxy其實就是管理service的訪問入口,包括叢集內Pod到Service的訪問和叢集外訪問service。
  • kube-proxy管理sevice的Endpoints,該service對外暴露一個Virtual IP,也成為Cluster IP, 叢集內通過訪問這個Cluster IP:Port就能訪問到叢集內對應的serivce下的Pod。
  • service是通過Selector選擇的一組Pods的服務抽象,其實就是一個微服務,提供了服務的LB和反向代理的能力,而kube-proxy的主要作用就是負責service的實現。
  • ervice另外一個重要作用是,一個服務後端的Pods可能會隨著生存滅亡而發生IP的改變,service的出現,給服務提供了一個固定的IP,而無視後端Endpoint的變化。

相關文章