Ubuntu 配置 kubernetes 学习环境
一、安装
1. minikube
首先下载一下 minikube
,这是一个单机版的 k8s,只需要有容器环境就可以轻松启动和学习 k8s。
首先你需要有Docker、QEMU、Hyperkit等其中之一的容器环境,以下使用 docker
进行。
对于 docker,需要当前用户能够拥有容器的管理员权限,即不用 sudo 就可以使用容器,如果你当前的用户需要 sudo docker
才能使用 docker
,那么运行
sudo usermod -aG docker $USER && newgrp docker
将当前用户添加到 docker
管理员用户组。
当拥有容器环境之后,就可以使用二进制下载在 x86-64 Linux 上安装最新的 minikube
稳定版本:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
2. kubectl
除了 minikube
还有一个工具需要下载 kubectl
,有两种下载方式。
- 直接下载
用以下命令下载最新发行版:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
安装:
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
- 使用
minikube
下载:
minikube kubectl -- get po -A
验证一下是否下载好了:
kubectl version --client
二、试用
启动集群
minikube start
第一次会下载和启动一些容器。
启动成功之后可以使用 docker
查看一下容器状态:
docker ps
这个时候我们还可以打开一个 web 网页的控制面板(在另一个终端中启动):
minikube dashboard
这样会自动在本机默认浏览器开启一个页面:
但是有时候我们希望自己选择在哪儿开启:
minikube dashboard --url
这样不会自动启动默认浏览器,而是会返回一个链接。
但是在很多时候,我们都是通过服务器或者虚拟机开启的集群,我们不希望在跑着容器的机器上使用控制面板,甚至目标设备都没有UI界面。但是我们通过目标设备的 IP 在自己的本地机器上通过浏览器访问控制界面时,发现访问不到,这是因为默认监听的是 127.0.0.1,即只允许本机访问。
为了让外部能够访问,可以设置一个 kubectl 的代理:
kubectl proxy --port=8002 --address='0.0.0.0' --accept-hosts='^*$'
如果不指定端口,默认是 8001.
这个时候将 minikube dashboard --url
返回的链接中的 IP 和 端口 修改为目标机器的IP和代理端口即可。