• 安装部署KubeSphere管理kubernetes



    highlight: tomorrow-night

    • 携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情

    前言

    KubeSphere是Kubernetes的多集群管理的分布式操作系统,并且支持了DevOps工作流,并且它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play) 的集成。

    KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。
    KubeSphere 为用户提供构建企业级 Kubernetes 环境所需的多项功能,例如:
    - 多云与多集群管理、
    - Kubernetes 资源管理、
    - DevOps、
    - 应用生命周期管理、
    - 微服务治理(服务网格)、
    - 日志查询与收集、服务与网络、
    - 多租户管理、
    - 监控告警、
    - 事件与审计查询、
    - 存储管理、
    - 访问权限控制、
    - GPU 支持、
    - 网络策略、
    - 镜像仓库管理以及安全管理等。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    kubernetes的安装部署也一直是一大痛点,但是KubeSphere开源了KubeKey可以一键在公有云或数据中心快速搭建 Kubernetes 集群,提供单节点、多节点、集群插件安装,以及集群升级与运维。

    接下来的安装就是基于kubeKey进行的安装

    1. 环境配置

    本篇配置

    操作系统硬件配置数量
    CentOS 7.62 核 CPU,4 GB 内存,60 GB 磁盘空间1台

    官方支持的操作系统及最低配置

    操作系统最低配置
    Ubuntu 16.04, 18.042 核 CPU,4 GB 内存,40 GB 磁盘空间
    Debian Buster, Stretch2 核 CPU,4 GB 内存,40 GB 磁盘空间
    CentOS 7.x2 核 CPU,4 GB 内存,40 GB 磁盘空间
    Red Hat Enterprise Linux 72 核 CPU,4 GB 内存,40 GB 磁盘空间
    SUSE Linux Enterprise Server 15/openSUSE Leap 15.22 核 CPU,4 GB 内存,40 GB 磁盘空间

    安装前最好保证环境是纯净环境,我这里是云服务器,重装了CentOS7.6系统

    支持容器

    使用KubeKey进行安装会默认安装最新容器,也可以在使用KubeKey进行安装前安装好指定容器
    
    • 1

    以下是支持的容器版本

    支持的容器版本
    Docker19.3.8 +
    containerd最新版
    CRI-O(试验版,未经充分测试)最新版
    iSula(试验版,未经充分测试)最新版

    Kubernetes依赖

    KubeKey可以指定安装Kubernetes 和 KubeSphere ,但是不同版本的Kubernetes有不同的依赖要求
    
    • 1
    依赖项Kubernetes 版本 ≥ 1.18Kubernetes 版本 < 1.18
    socat必须可选但建议
    conntrack必须可选但建议
    ebtables可选但建议可选但建议
    ipset可选但建议可选但建议

    2. 配置软件依赖

    第一步: 关闭防火墙

    systemctl disable firewalld
    systemctl stop firewalld
    systemctl status firewalld
    
    • 1
    • 2
    • 3

    第二步:关闭swap分区

    swapoff -a
    echo "vm.swappiness=0" >> /etc/sysctl.conf
    sysctl -p /etc/sysctl.conf
    
    • 1
    • 2
    • 3

    第三步:配置epel源

    rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
    
    • 1

    第四步:更新yum

    yum -y update
    
    • 1

    第五步:安装依赖组件

    也就是上面的Kubernetes依赖里的内容,全部安装

    yum install -y ebtables socat ipset conntrack
    
    • 1

    3. 安装KubeSphere和kubernetes

    使用KubeKey可以选择安装KubeSphere和kubernetes的其中一个,也可以全部安装

    第一步:下载KubeKey

    如果网络不好的小伙伴无法下载默认源,执行以下命令设置国内下载

    export KKZONE=cn
    
    • 1

    下载KubeKey:

    curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.1 sh -
    
    • 1

    给KubeKey添加可执行权限

    chmod +x kk
    
    • 1

    第二步:安装KubeSphere和kubernetes

    在安装前请先检查hostname,如果不符合规则会报以下错误

    error: Pipeline[CreateClusterPipeline] execute failed: Module[InitKubernetesModule] exec failed: 
    failed: [VM-20-8-centos] [AddWorkerLabel] exec failed after 5 retires: add worker label failed: Failed to exec command: sudo -E /bin/bash -c "/usr/local/bin/kubectl label --overwrite node VM-20-8-centos node-role.kubernetes.io/worker=" 
    Error from server (NotFound): nodes "VM-20-8-centos" not found: Process exited with status 1
    
    • 1
    • 2
    • 3

    这时候就需要修改hostname,因为我们是单机安装就设置为master吧,执行以下命令

    hostnamectl --static set-hostname master
    
    • 1

    设置完成后使用hostnamectl status命令进行核验

    在这里插入图片描述

    执行以下命令安装KubeSphere和kubernetes

    ./kk create cluster --with-kubernetes v1.22.10 --with-kubesphere v3.3.0
    
    • 1

    如果只需要安装KubeSphere或者kubernetes其中一个去掉–with的另一个就可以

    在这里插入图片描述

    这次安装的时间很长,起身活动一下

    第三步:安装完成核验

    安装完成后执行以下命令查看安装结果

    kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
    
    • 1

    输出信息会显示 Web 控制台的 IP 地址和端口号,默认的 NodePort 是 30880。现在可以使用默认的帐户和密码 (admin/P@88w0rd) 通过 :30880 访问控制台。

    第四步:登陆系统

    在浏览器上访问ip+30880的地址出现以下页面
    在这里插入图片描述

    使用默认的帐户和密码 (admin/P@88w0rd)进行登陆,登陆后就可以探索KubeSphere了

    在这里插入图片描述


    但是真正使用k8s集群单机是不可以的,下篇文章是多节点集群的配置
    
    • 1
  • 相关阅读:
    5、乐趣国学—“行有不得,反求诸己。”
    Linux简单命令学习 -- cat more echo
    <学习笔记>从零开始自学Python-之-web应用框架Django( 十四)上线部署(阿里云+Nginx+uwsgi+MySQL)
    C# 删除图片,不影响程序运行
    国产MCU芯片(2):东软MCU概览
    企业财务数字化转型怎么才能落地?_光点科技
    这几个小插件助你快速提升工作效率
    笔记:Python 循环结构练习题
    控价与数据分析的关系
    刷题11.27
  • 原文地址:https://blog.csdn.net/AnNanDu/article/details/126041347