• 轻量级 K8S 环境 安装minikube


    操作系统

    本文采用Debian 12系统(win10+vmware Debian 12虚拟机)

    Docker

    参考文档docker-ce

    Docker CE 镜像源站

    使用官方安装脚本自动安装 (仅适用于公网环境)

    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    
    docker version
    
    • 1
    • 2
    • 3

    安装校验

    root@xxx:$ docker version
    Client:
     Version:      17.03.0-ce
     API version:  1.26
     Go version:   go1.7.5
     Git commit:   3a232c8
     Built:        Tue Feb 28 07:52:04 2017
     OS/Arch:      linux/amd64
    
    Server:
     Version:      17.03.0-ce
     API version:  1.26 (minimum version 1.12)
     Go version:   go1.7.5
     Git commit:   3a232c8
     Built:        Tue Feb 28 07:52:04 2017
     OS/Arch:      linux/amd64
     Experimental: false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    Docker代理

    touch /etc/docker/daemon.json
    sudo mkdir -p /etc/docker
    
    
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": [
        "https://bjtzu1jb.mirror.aliyuncs.com",
        "http://f1361db2.m.daocloud.io",
        "https://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://reg-mirror.qiniu.com",
        "https://dockerhub.azk8s.cn",
        "https://registry.docker-cn.com"
      ]
    }
    EOF
    
    # 重启docker
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    docker permission denied while trying to connect to the Docker daemon socket

    将用户添加到 Docker 组: 若要允许用户在不使用 sudo 的情况下运行 Docker 命令,可以将用户添加到 docker 组。首先检查 docker 组是否存在:

    grep docker /etc/group 
    
    • 1

    如果组存在,将用户添加到该组:

    sudo usermod -aG docker $USER 
    
    • 1

    添加用户到 docker 组后,可能需要注销并重新登录以使更改生效。

    重启 Docker 服务: 如果问题仍然存在,尝试重启 Docker 服务:

    sudo service docker restart 
    
    • 1

    sudo systemctl restart docker 
    
    • 1

    尝试上述步骤后,你应该能够在不遇到 “permission denied” 错误的情况下运行 Docker 命令
    请记住,如果将用户添加到 docker 组,可能需要注销并重新登录以使组更改生效。

    minikube

    minikube 是一个工具, 能让你在本地运行 Kubernetes。

    minikube 在你的个人计算机(包括 Windows、macOS 和 Linux PC)上运行一个一体化(all-in-one) 或多节点的本地 Kubernetes 集群,以便你来尝试 Kubernetes 或者开展每天的开发工作。

    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
    sudo dpkg -i minikube_latest_amd64.deb
    
    • 1
    • 2

    启动的选项有很多,如果可以直接minikube start就直接启动就行,无须添加过多选项。

    minikube start
    # 将用户添加到 Docker 组,就不需要force选项
    minikube start  --force --driver=docker
    # 将用户添加到 Docker 组,就不需要force选项
    minikube start --force  --driver=docker --image-mirror-country=CN
    
    # 启动命令
    minikube start --kubernetes-version='1.28'  --registry-mirror=https://docker.mirrors.ustc.edu.cn --image-mirror-country='cn'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    minikube停止、删除、查看pod信息

    # 停止
    minikube stop
    # 删除
    minikube delete
    
    # 查看pod信息
    minikube kubectl -- get pods -A
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    kubectl工具

    Kubernetes 命令行工具 kubectl, 让你可以对 Kubernetes 集群运行命令。 你可以使用 kubectl 来部署应用、监测和管理集群资源以及查看日志。

    安装kubectl

    # 下载
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
    
    • 1
    • 2

    在这里插入图片描述

    # 安装
    sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
    # 查看pod
    kubectl get pod -o wide -n kube-system
    
    • 1
    • 2
    • 3
    • 4

    minikube dashboard

    minikube dashboard
    	返回的url http://127.0.0.1:42005/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ 为访问地址,但此地址只是容器代理出来的地址,只能本机内网访问,要想在外网访问 dashboard 的UI 界面,需要使用kubectl做一层代理。
    	kubectl proxy --port=端口号(一个没有被占用的就可以) --address='机器内网地址' --accept-hosts='^.*' &
    	以上命令昨晚代理后,访问 http://机器公网IP:上面配置的端口号/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ 就可以访问到dashboard 的UI 界面
    
    • 1
    • 2
    • 3
    • 4

    启动代理,在win10浏览器可以访问

    kubectl proxy --port=8083 --address='0.0.0.0' --accept-hosts='^.*' &
    
    • 1

    云服务器外部访问要添加访问规则
    路径为,云服务器——网络与安全——安全组——访问规则

    minikube 基本命令

    查看docker信息需要登录到 minikube 环境查看。

    minikube 提供并管理针对开发工作流程优化的本地 Kubernetes 集群。
    
    基本命令:
      start            启动本地 Kubernetes 集群
      status           获取本地 Kubernetes 集群状态
      stop             停止正在运行的本地 Kubernetes 集群
      delete           删除本地的 Kubernetes 集群
      dashboard        访问在 minikube 集群中运行的 kubernetes dashboard
      pause            暂停 Kubernetes
      unpause          恢复 Kubernetes
    
    镜像命令
      docker-env       提供将终端的 docker-cli 指向 minikube 内部 Docker Engine 的说明。(用于直接在 minikube 内构建 docker 镜像)
      podman-env       配置环境以使用 minikube's Podman service
      cache            管理 images 缓存
      image            管理 images
    
    配置和管理命令:
      addons           启用或禁用 minikube 插件
      config           修改持久配置值
      profile          获取或列出当前配置文件(集群)
      update-context   IP或端口更改的情况下更新 kubeconfig 配置文件
    
    网络和连接命令:
      service          返回用于连接到 service 的 URL
      tunnel           连接到 LoadBalancer 服务
    
    高级命令:
      mount            将指定的目录挂载到 minikube
      ssh              登录到 minikube 环境(用于调试)
      kubectl          运行与集群版本匹配的 kubectl 二进制文件
      node             添加,删除或者列出其他的节点
      cp               将指定的文件复制到 minikube
    
    故障排除命令
      ssh-key          检索指定节点的 ssh 密钥路径
      ssh-host         检索指定节点的 ssh 主机密钥
      ip               检索指定节点的IP地址
      logs             返回用于调试本地 Kubernetes 集群的日志
      update-check     打印当前版本和最新版本
      version          打印 minikube 版本
      options          显示全局命令行选项列表 (应用于所有命令)。
    
    Other Commands:
      completion       生成命令补全的 shell 脚本
      license          将依赖项的 licenses 输出到一个目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    参考资料

    Minikube start中文
    minikube start
    阿里云CentOS 7 安装部署 minikube且外网能访问dashboard
    错误docker permission denied while trying to connect to the Docker daemon socket
    minikube start 可选项

  • 相关阅读:
    AWS SAA C003 #29
    nvm 一个nodejs版本管理工具
    【斗罗2】天梦哥抓捕冰帝,霍雨浩与她完美融合,喜提五挂
    Html代替<iframe>标签的三种方法<object>, <embed>和<video>
    Vue3的Teleport:Teleport是Vue3的一个新功能,它允许我们将子组件渲染到父组件以外的地方,这在处理模态框、弹出窗口等情况时非常有用
    SSD目标检测网络模型详细介绍
    docker容器基础
    qt触控板手势检测
    【Java】时间复杂度与空间复杂度
    即时通讯赛道开打信创牌,WorkPlus为何独树一帜?
  • 原文地址:https://blog.csdn.net/e891377/article/details/138667663