使用minikube部署k8s
Minikube 是一个易于在本地运行 Kubernetes 的工具,可在你的笔记本电脑上的虚拟机内轻松创建单机版 Kubernetes 集群。便于尝试 Kubernetes 或使用 Kubernetes 日常开发。
1 前置条件
- 2 CPUs or more
- 2GB of free memory
- 20GB of free disk space
- Internet connection
- Container or virtual machine manager, such as: Docker, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMWare
关闭防火墙,selinux
2 安装docker
安装过程本文不再赘述 minikube 安装是需要开启虚拟化支持的,如果不开启,也可以用docker来支持。
Minikube 还支持使用一个
--driver=none
选项,让 Kubernetes 组件运行在主机上,而不是在 VM 中。 使用这种驱动方式需要 Docker 和 Linux 环境,但不需要 hypervisor。
3 安装kubectl
|
|
下载失败使用以下命令
|
|
4 安装minikube
本文以CentOS7为例,其他机器参考minikube-Installation
4.1 下载minikube
这里使用阿里minikube
|
|
5 启动集群
安装conntrack-tools
|
|
启动集群
|
|
常见参数
--driver=none
Minikube使用无驱动程序的方式来创建Kubernetes本地环境--registry-mirror=***
为了拉取Docker Hub镜像,需要为 Docker daemon 配置镜像加速,参考阿里云镜像服务--kubernetes-version=***
: minikube 虚拟机将使用的 kubernetes 版本
Minikube利用本地虚拟机环境部署Kubernetes,其基本架构如下图所示。
看到如下内容表示启动成功
6 快速开始
创建一个名为hello-minikube的Deployment,使用e2eteam/echoserver:2.2镜像,暴露8000端口,副本pod数为3
|
|
执行命令
|
|
查看创建的对象
|
|
创建svc,通过Nodeport方式暴露服务
|
|
查看svc,可以看到NodePort随机分配的端口为30216
|
|
接下来,在用户操作系统就可以通过minikube虚拟机的ip地址:30216来访问这个hello-minikube svc了,svc会把8080口的请求再负载均衡到实际的hello-minikube pod上。
更方便的,可以使用minikube server
命令直接获取到svc的访问地址:
|
|
测试访问
|
|
可以看到,每次的访问请求是都进入不同的pod,与kubectl get po命令所示的pod一致。
删除svc
|
|
删除deployment
|
|
停止minikube
|
|