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


    一、说明

    本文主要介绍在 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/
    

     

    扫码关注有惊喜!

    file

  • 相关阅读:
    【计算机网络】 TCP——四次挥手
    洛谷 P3390 【模板】矩阵快速幂
    初识JSBridge:从原理到使用(android、ios、js三端互通的工具)
    语法练习:sum_double
    游戏出海,全球化运营
    Java学习之多线程
    杰理AC632定时任务接口sys_timer_add和usr_timer_add区别详述
    Linux卸载残留MySQL
    WireShark 实践操作
    【zabbix】docker安装zabbix、yum安装zabbix-agent
  • 原文地址:https://www.cnblogs.com/zlt2000/p/17136336.html