k8s基本概念和單節點服務搭建
K8s基本概念
Kubernetes(k8s)是自動化容器操作的開源平臺,這些操作包括部署,排程和節點叢集間擴充套件。
k8s有兩種節點,master節點和node節點
master節點:是叢集的大腦,master節點包括,Api Server,Scheduler,Controller 。
Api Server元件,該元件主要是為了響應UI或者CLI的請求
Scheduler元件: 用來排程容器執行和停止,以及執行在哪些節點上
Contoller元件:維持服務可擴充套件,保證穩定執行數量
Etcd元件:主要是分散式儲存k8s的服務狀態等。
Node節點:包括Pod,Docker,kubelet,kube-proxy,fluentd
Pod :執行在節點上,包含一組容器和卷。同一個Pod裡的容器共享同一個網路名稱空間,可以使用localhost互相通訊。
Docker: 容器技術
kubelet:負責在建立容器,分配volume和network等
kube-proxy:主要負責網路埠的代理和轉發
fluentd:負責日誌的採集和儲存。
minikube 搭建單節點叢集
安裝minikube前提需要安裝kubectl和VM
1 安裝kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
然後提取許可權
chmod +x ./kubectl
將二進位制檔案新增至路徑中
cp kubectl /usr/local/bin
此時執行kubectl可以看到幫助資訊
2 安裝virtual-box
先升級apt
sudo apt update && sudo apt upgrade
然後安裝依賴包
sudo apt install gdebi build-essential
去virtual-box下載原始碼
wget http://download.virtualbox.org/virtualbox/5.2.8/virtualbox-5.2_5.2.8-121009~Ubuntu~xenial_amd64.deb
安裝virtual box
gdebi virtualbox-5.2_5.2.8-121009~Ubuntu~xenial_amd64.deb
繼續安裝其他依賴包
apt-get install libqt5x11extras5 libsdl1.2debian
3 關閉swap交換分割槽
關閉swap
swapoff -a
然後開啟swap配置
vi /etc/fstab
註釋掉swap分割槽的那一行
4 安裝minikube
從阿里雲地址下載
curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v0.26.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
接下來我們檢視下minikube 版本,顯示版本證明安裝成功
minikube version
建立minikube叢集
minikube start
可以看到日誌後minikube啟動成功了
5 kubectl命令
kubectl view config 檢視配置資訊
kubectl config get-contexts 檢視context資訊
假如我們有兩個叢集,可以使用兩個context,利用不同的context連結不同叢集
kubectl cluster-info 檢視叢集資訊
minikube ssh 進入虛擬主機環境,之後可以執行docker命令