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的變化。