基于minikube快速搭建单节点环境

语言: CN / TW / HK

一、说明

本文主要介绍在 Centos7 环境下基于 Minikube 来快速部署 Kubernetes 单节点集群环境,并在外部访问部署在 k8s 上的 dashboard 服务。

二、Minikube 介绍

Minikube 是一个基于go语言开发,易于在本地运行 Kubernetes 的工具,可在你的笔记本电脑上的虚拟机内轻松创建单机版 Kubernetes 集群,对硬件资源没有太高的要求,非常适合 测试本地开发

官方文档:http://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

安装步骤参考:http://www.runoob.com/docker/centos-docker-install.html

docker 的最低建议版本为 20.10.0 以上

配置阿里云加速器:http://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

安装步骤参考:http://minikube.sigs.k8s.io/docs/start/

3.3.1. 安装命令

执行以下2个命令,下载并安装 minikube 命令:

curl -LO http://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 "http://dl.k8s.io/release/$(curl -L -s http://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/

 

扫码关注有惊喜!

file