Kubernetes(k8s)完整安裝教程
(阿里雲雙11優惠價,最低86元/年)
本文是一篇手把手指導的Kubernetes安裝和運行教程,通過本文,您可以在Windows、Linux或MacOS系統中打造一個完整的本地Kubernetes集群環境。
我們會用下面的工具來運行本地的Kubernetes集群:
- Docker for Mac
- Minikube
- virtualbox
- kubectl
1 安裝
如果您的系統是Mac,請提前安裝 Homebrew 包管理工具及其Cask 擴展,Cask擴展安裝方式:brew tap caskroom/cask。
1.1 安裝 Docker
Docker 是容器的創建、管理和運行工具。我們會在Kubernetes的Pod中構建docker容器。
以下是各個系統安裝Docker的方式:
- 官網安裝安裝Docker for Ubuntu
- 官網方式安裝Docker for CentOS
- 官網方式安裝Docker for Debian
- 官網方式安裝Docker for Fedora
- 官網下載和安裝Docker Desktop for Mac
- 官網下載和安裝Docker Desktop for Windows
1.2 安裝 VirtualBox
VirtualBox 是一個虛擬機工具,可以讓我們在一種系統中安裝其他的操作系統,比如在Windows中安裝Linux,或者Mac中安裝Windows。
Ubuntu/Debian系統安裝方式:
~ sudo apt-get install virtualbox
CentOS/Fedaro系統安裝方式:
~ yum install VirtualBox
Mac我們通過brew cask來安裝:
~ brew cask install virtualbox
這一步可能會遇到“Cask 'virtualbox' is already installed.”和“Error: Failure while executing;”的問題,解決方式請看《MacOS brew cask安裝VirtualBox遇到的問題》。
Windows系統安裝Virtualbox:
- 下載VirtualBox Windows版本:https://www.virtualbox.org/wiki/Downloads
- 雙擊安裝。
1.3 安裝 kubectl
kubectl 是一個用於管理 Kubernetes 的命令行工具。
Linux安裝kubectl(使用如下其中一種方式):
# 使用國內阿里雲源安裝 ~ curl -LO http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/`curl -s http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/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 && sudo mv kubectl /usr/local/bin/kubectl
MacOS安裝kubectl(使用如下其中一種方式):
# 通過brew方式安裝
~ brew install kubectl # 通過國內阿里雲源安裝 ~ curl -LO http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/`curl -s http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/stable.txt`/bin/darwin/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/kubectl # 通過谷歌源安裝(國內網路會很慢) ~ curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/darwin/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/kubectl
Windows安裝kubectl:
- 下載kubectl:http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/v1.15.0/bin/windows/amd64/kubectl.exe
- 把 kubectl.exe 放到合適的位置
- 放入PATH
安裝完成后,查看版本:
~ kubectl version
1.4 安裝 Minikube
minikube 是一個本地Kubernetes集群的實現,支持MacOS、Linux和Windows系統。minikube的主要目標是,成為本地開發Kubernetes和支持Kubernetes全部特性的最佳工具。
Linux安裝:
# 通過國內阿里雲安裝
~ curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.2.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ # 通過谷歌源安裝 curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo install minikube /usr/local/bin
MacOS安裝:
# 通過brew方式安裝
~ brew install kubectl
# 通過國內阿里雲方式安裝 ~ curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.2.0/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ # 通過谷歌源安裝 curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
Windows安裝:
下載minikube-windows-amd64.exe:
- 阿里雲下載地址:http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.2.0/minikube-windows-amd64.exe
- github下載地址:https://github.com/kubernetes/minikube/releases
- 下載后重命名為
minikube.exe放入PATH即可。
2 測試
到這一步應該基本都可以工作了,啟動Minikube集群:
~ minikube start
😄 minikube v1.2.0 on darwin (amd64) ✅ using image repository registry.cn-hangzhou.aliyuncs.com/google_containers 💿 Downloading Minikube ISO ... 129.33 MB / 129.33 MB [============================================] 100.00% 0s 🔥 Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ... 🐳 Configuring environment for Kubernetes v1.15.0 on Docker 18.09.6 💾 Downloading kubelet v1.15.0 💾 Downloading kubeadm v1.15.0 🚜 Pulling images ... 🚀 Launching Kubernetes ... ⌛ Verifying: apiserver proxy etcd scheduler controller dns 🏄 Done! kubectl is now configured to use "minikube"
查看 api 版本:
~ kubectl api-versions
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1 apiregistration.k8s.io/v1 apiregistration.k8s.io/v1beta1 apps/v1 apps/v1beta1 apps/v1beta2 authentication.k8s.io/v1 authentication.k8s.io/v1beta1 ...
這些輸出說明安裝成功,一切工作正常了。
更多命令如下:
minikube start # 啟動minikube minikube ip # 查看IP minikube status # 查看狀態 minikube stop # 關閉集群 minikube delete # 刪除集群。如果啟動出錯,同時刪除 ~/.minikube目錄 再minikube start kubectl config use-context minikube # 使用minikube集群作為當前上下文 kubectl cluster-info # 查看集群信息
3 它們都是什么?
上面我們安裝了好幾個工具,那么這些工具之間有什么聯系嗎?接着,我們稍微闡述下這些概念。
- VirtualBox 是一個運行虛擬機的通用工具。使用VirtaulBox,我們可以在MacOS系統中運行Linux(如Ubuntu、CentOS)、Windows等系統。
- Minikube 是一個Kubernetes專用包,用來在本機中運行Kubernetes集群。這個本機的集群擁有一個獨立的節點(node)和一些便於本機開發的特性。Minikube 通知 VirtualBox 何時如何運行。當然,通過額外的配置,Minikube也可以支持使用其他虛擬化工具,各系統支持情況:
- Linux:
VirtualBox、KVM。 - Mac:
VirtualBox、hyperkit、VMWare。 - Windows:
VirtualBox、Hyper-V。(在Windows環境下,如果開啟了Hyper-V,不支持VirtualBox方式)
- Linux:
- kubectl 是一個用於與Minikube Kubernetes集群交互的命令行工具。它發送請求給集群中的Kubernetes API服務器,實現管理Kubernetes環境的目的。kubectl 和 Mac 電腦上的其他應用一樣,它僅僅發送HTTP請求到集群上的Kubernetes API。
參考地址:
« Scrapy的remove_tags_with_content方法無法刪除img標簽? MacOS brew cask安裝VirtualBox遇到的問題 »
