基于minikube快速搭建单节点环境
一、说明 本文主要介绍在 Centos7 环境下基于 Minikube 来快速部署 Kubernetes 单节点集群环境,并在外部访问部署在 k8s 上的 dashboard 服务。 二、Minikube 介绍 Minikube 是一个基于go语言开发,易于在本地运行 Kubernetes 的工具,可在你的笔记本电脑上的虚拟机内轻松创建单机版 Kubernetes 集群,对硬件资源没有太高的要求,非常适合 测试 和 本地开发。 官方文档:https://minikube.sigs.k8s.io/docs/ 架构图: 运作原理: 从 Minikube 的架构中可以看出 master 节点与其它节点合为一体,而整体则通过宿主机上的 kubectl 进行管理,这样可以更加 节省资源。 简单来说就是,用户使用 Minikube CLI 管理虚拟机上的 Kubernetes 环境,比如:启动,停止,删除,获取状态等。一旦 Minikube 虚拟机启动,用户就可以使用熟悉的 Kubectl CLI 在 Kubernetes 集群上执行操作。 三、Minikube安装 3.1. 系统要求 CUP:2核以上 内存:2GB以上 硬盘:需要20G 网络:能连因特网(需要下载安装包), 容器:需要先安装Docker或其他容器。 3.2. 安装前准备 3.2.1. 安装 Docker 安装步骤参考:https://www.runoob.com/docker/centos-docker-install.html docker 的最低建议版本为 20.10.0 以上 配置阿里云加速器:https://cr.console.aliyun.com/cn-shenzhen 启动 docker: systemctl start docker systemctl enable docker.service 3.2.2. 创建新用户 操作 minikube 需要一个具有 root 权限的用户(非root) 需要将该用户添加进入 docker 用户组 添加该用户至 docker 用户组:sudo gpasswd -a 用户名 docker 更新 docker 用户组:newgrp docker 3.3. 部署 切换新创建的用户来操作 minikube,我这里创建的用户为 zlt su zlt 安装步骤参考:https://minikube.sigs.k8s.io/docs/start/ 3.3.1. 安装命令 执行以下2个命令,下载并安装 minikube 命令: curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube 执行命令 minikube version 查看版本号: 3.3.2. 启动集群 执行以下命令: minikube start --image-mirror-country='cn' --kubernetes-version=v1.23.8 image-mirror-country 为指定使用国内源 kubernetes-version 指定部署的版本(最新版兼容性坑比较多,所以选择低版本) 执行成功如下图所示: 3.3.3. 验证 执行命令 minikube status 查看状态,结果如下: [zlt@zlt opt]$ minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured 3.3.4. 查看集群状态 可直接使用 minikube 自带的 kubectl 命令。 获取集群所有节点(机器): minikube kubectl get nodes 获取集群所有命名空间: minikube kubectl get namespaces 查看集群所有 Pod: minikube kubectl -- get pods -A 3.3.5. Minikube 常用命令 进入节点服务器: minikube ssh 执行节点服务器命令,例如查看节点 docker info: minikube ssh -- docker info 删除集群, 删除 ~/.minikube 目录缓存的文件: minikube delete 关闭集群: minikube stop 销毁集群: minikube stop && minikube delete 四、安装 kubectl 由于 minikube 内置的 kubectl 命令功能不全,所以最好独立安装一个 kubectl 用以下命令下载最新发行版: curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" 安装 kubectl: sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl 查看版本的详细信息: kubectl version --client --output=yaml 五、安装 dashboard 执行以下命令,启动 dashboard 插件: minikube dashboard 集群外部想要直接访问 dashboard 还需要设置代理才能访问,执行以下命令: kubectl proxy --port=8001 --address='192.168.28.138' --accept-hosts='^.*' --port 需要暴露的端口号 --address 服务器外网IP(宿主机IP) --accept-hosts 外部访问服务器的IP(白名单) 这样就可以在浏览器上通过以下地址访问 Kubernetes Dashboard: http://192.168.28.138:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ 扫码关注有惊喜!