蒙国造博客

Kubernetes(k8s)完整安装教程

本文是一篇手把手指导的Kubernetes安装和运行教程,通过本文,您可以在WindowsLinuxMacOS系统中打造一个完整的本地Kubernetes集群环境

我们会用下面的工具来运行本地的Kubernetes集群:

1 安装

如果您的系统是Mac,请提前安装 Homebrew 包管理工具及其Cask 扩展,Cask扩展安装方式:brew tap caskroom/cask

1.1 安装 Docker

Docker 是容器的创建、管理和运行工具。我们会在Kubernetes的Pod中构建docker容器。

以下是各个系统安装Docker的方式:

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:

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 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

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 它们都是什么?

上面我们安装了好几个工具,那么这些工具之间有什么联系吗?接着,我们稍微阐述下这些概念。

参考地址:

退出移动版