(阿里雲雙11優惠價,最低86元
/年)node
本文是一篇手把手指導的Kubernetes安裝和運行教程,經過本文,您能夠在Windows、Linux或MacOS系統中打造一個完整的本地Kubernetes集羣環境。linux
咱們會用下面的工具來運行本地的Kubernetes集羣:git
- Docker for Mac
- Minikube
- virtualbox
- kubectl
1 安裝
若是您的系統是Mac,請提早安裝 Homebrew 包管理工具及其Cask 擴展,Cask擴展安裝方式:brew tap caskroom/cask
。github
1.1 安裝 Docker
Docker 是容器的建立、管理和運行工具。咱們會在Kubernetes的Pod中構建docker容器。sql
如下是各個系統安裝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
Ubuntu/Debian系統安裝方式:windows
~ sudo apt-get install virtualbox
CentOS/Fedaro系統安裝方式:centos
~ 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遇到的問題 »