• Kubernetes(31):kubeasz单主机模式


    前言

    有时候,我们只需要k8s集群进行项目测试,能够使用的主机可能只有一台,那么如何构建一台单机的k8s集群?
    单机版的k8s集群可以用于本地测试,或者内部测试环境,或者个人电脑上的项目测试。
    那么我们可以使用all-in-one模式安装一个单机的k8s集群。

    官方地址:单机快速体验k8s集群的测试环境–AllinOne部署

    AllinOne部署

    1 . 服务器装备

    准备一台虚机配置内存2G/硬盘30G以上
    最小化安装Ubuntu 16.04 server或者CentOS 7
    下面是实验准备的主机

    类型IP系统信息配置
    master192.168.88.222Centos 7.9.20092核1G 50G磁盘

    k8s要求的最小核心数是2核,如果你的主机资源较少,可以分配2核2G100G磁盘,安装虚拟机后,磁盘不会立即占用100G,而是根据根据实际情况逐渐占用。

    服务器的安装过程: 请见vmware安装centos7并制作多副本
    或者也可以使用云服务商提供的服务器。

    2. 下载文件

    (1)下载工具脚本ezdown,举例使用kubeasz版本3.1.0

    export release=3.1.0
    
    # 国外地址(由于网络原因,可能需要多次尝试才能下载成功)
    curl -C- -fLO --retry 3 https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown
    
    # 国内地址 (国内下载地址,不会失败)
    curl -C- -fLO --retry 3  https://github.91chi.fun//https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown
    
    # 修改文件的执行权限
    chmod +x ezdown
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    (2) 下载kubeasz代码、二进制、默认容器镜像

    # 国内环境
    ./ezdown -D
    # 海外环境
    #./ezdown -D -m standard
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    在这里插入图片描述

    上述脚本运行成功后,所有文件(kubeasz代码、二进制、离线镜像)均已整理好放入目录/etc/kubeasz

    • /etc/kubeasz 包含 kubeasz 版本为 ${release} 的发布代码
    • /etc/kubeasz/bin 包含 k8s/etcd/docker/cni 等二进制文件
    • /etc/kubeasz/down 包含集群安装时需要的离线容器镜像
    • /etc/kubeasz/down/packages 包含集群安装时需要的系统基础软件

    3. 安装集群

    (1)容器化运行 kubeasz

    ./ezdown -S
    
    • 1

    (2) 使用默认配置安装 aio 集群

    docker exec -it kubeasz ezctl start-aio
    # 如果安装失败,查看日志排除后,使用如下命令重新安装aio集群
    # docker exec -it kubeasz ezctl setup default all
    
    • 1
    • 2
    • 3

    4. 验证安装

    如果-bash: kubectl: command not found ,请重新打开客户端
    在这里插入图片描述

    $ kubectl version         # 验证集群版本     
    $ kubectl get node        # 验证节点就绪 (Ready) 状态
    $ kubectl get pod -A      # 验证集群pod状态,默认已安装网络插件、coredns、metrics-server等
    $ kubectl get svc -A      # 验证集群服务状态
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    5. pod部署测试

    # 创建namespace
    kubectl create ns dev
    
    # 部署一个nginx
    kubectl run nginx --image=nginx:1.17.1 --port=80 --namespace=dev
    
    # 测试访问nginx
    curl 172.20.0.6:80
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    kubernetes-dashboard

    # 修改kubernetes-dashboard的端口,这里我改成30443,也可以不该使用系统分配的端口
    kubectl edit service/kubernetes-dashboard -n kube-system
    
    • 1
    • 2

    在这里插入图片描述

    传送门

    Kubernetes(29):Kubernetes Dashboard的使用

  • 相关阅读:
    【洛谷 P1591】阶乘数码 题解(模拟+高精度)
    节省草稿纸的方法
    基于Flask创建Python服务端,并调用JavaScript客户端
    [ 环境搭建篇 ] docker 搭建部署 YAPI 框架
    【C++代码】安排行程,N皇后,解数独--代码随想录
    使用ML.Net轻松接入AI模型!
    nginx源码分析--基数树
    IntelliJ IDEA中配置Tomcat(超详细)
    智慧社区+物联网解决方案
    优思学院|什么才是真正的精益化管理?-CLMP
  • 原文地址:https://blog.csdn.net/u011628753/article/details/127626178