本地搭建小型Kubernetes环境

2,685 阅读1分钟

本文发布于掘金,作者:严北(wx: shin-devops),禁止盗用

为了方便开发 PaaS 平台,我们可以使用 Kubernetes(以下称K8s) 官方提供了 minikube 工具在本地搭建一个 K8s 环境。

本文以 Ubuntu 18.04 环境为例

安装 minikube

在 GitHub 下载最新的 minikube 安装文件:github.com/kubernetes/…

例如 Ubuntu 下载 minikube_1.11.0-0_amd64.deb

安装:

dpkg -i minikube_1.11.0-0_amd64.deb

有图形界面的系统可以双击 .deb 文件安装即可

启动 K8s 环境

执行命令启动 K8s 环境:

minikube start

本文发布于掘金,作者:严北(wx: shin-devops),禁止盗用

国内拉取镜像失败问题解决

国内由于网络限制,可能无法成功拉取 gcr.io/k8s-minikube/kicbase 镜像,可以修改启动配置从阿里源拉取替换镜像:

minikube start \
--registry-mirror=https://registry.docker-cn.com \
--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers \
--vm-driver=docker \
--alsologtostderr -v=8 \
--base-image registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.10

网络异常问题解决

如果之前使用过 docker swarm,在执行 minikube start 时可能会报如下错误:

stderr:
Error: No such object: de7f841a3590
13c6d9205f9b

bomb failed to start node: startup failed: Failed to setup kubeconfig: inspect IP bridge network "de7f841a3590\n13c6d9205f9b".: docker inspect --format "{{(index .IPAM.Config 0).Gateway}}" de7f841a3590
13c6d9205f9b: exit status 1

解决方案:

docker swarm leave --force
docker network prune

参考:github.com/kubernetes/…

验证环境可用

可以通过 kubectl 来验证 K8s 环境可访问,推荐使用 minikubekubectl

minikube kubectl -- get pods

注意:不可遗漏 kubectl 之后的 -- 符号

第一次执行会自动下载 kubectl

输出 No resources found in default namespace. 即表示 K8s 集群可正常访问使用。

本文发布于掘金,作者:严北(wx: shin-devops),禁止盗用