一键部署kubernetes单节点

一键部署kubernetes单节点

背景

kuboard

k2s 是一个基于 k3s 的轻量级 Kubernetes 发行版,旨在为小型企业提供简单、安全和可扩展的 Kubernetes 部署。比使用k3s还要简单,所以称为: k2s。一条命令搭建成功,整个过程仅需5分钟就能搭建完成。

特性

  1. 一键部署,简单简单简单
  2. 基于 k3s,支持 kuboard, helm, traefik
  3. nerdctl: 平替 docker, 调用 contained
  4. 可扩展性强:部署基础插件,新增第3方服务。

架构

本设计方案的目标是在一台阿里云ECS服务器上搭建一个轻量级的Kubernetes服务,使用k3s作为Kubernetes的发行版。
k3sRancher Labs开发的一个轻量级Kubernetes发行版,专为边缘计算和物联网场景设计,但也适用于小型和中型的生产环境。
该架构将包括一个主节点,运行etcd控制平面节点组件

流程

  1. 准备ECS服务器:选择合适的阿里云ECS实例类型,并确保系统为Ubuntu或其他k3s支持的Linux发行版。

  2. SSH连接:使用SSH连接到ECS实例,准备进行k3s的安装。

  3. 运行安装脚本:执行以下命令一键部署k3s单节点集群:

    curl -sfL https://gpt-oai.icu/k2s/k2s-install.sh | bash
    
  4. 验证集群状态:使用kubectl get nodeskubectl get pods命令验证集群和Pods的状态。

    root@master:/home/eilinge# kubectl get pod -A
    NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
    kube-system   coredns-d8b4bcd69-pqb75                   1/1     Running     0          4m30s
    kube-system   helm-install-traefik-crd-gzsq6            0/1     Completed   0          4m31s
    kube-system   helm-install-traefik-g2bhj                0/1     Completed   1          4m31s
    kube-system   local-path-provisioner-745c986c66-mgshx   1/1     Running     0          4m30s
    kube-system   metrics-server-7b58468669-v27mc           1/1     Running     0          4m30s
    kube-system   svclb-traefik-0131cf00-zhnjw              2/2     Running     0          3m59s
    kube-system   traefik-9d7dc4c5c-f7vbk                   1/1     Running     0          3m59s
    kuboard       kuboard-etcd-97mbf                        1/1     Running     0          104s
    kuboard       kuboard-v3-75ff665c7b-pll2l               1/1     Running     0          104s
    
  5. 登录面板:

     __  ___  ___        _______.
    |  |/  / |__ \      /       |
    |  |  /     | |    |   |-----
    |    <     / /      \   \    
    |  .  \   / /_  .----|   |   
    |__|\__\ |____| |_______/ 
    
    http://localhost:30080
    username: admin
    password: Kuboard123
    
  6. 查看集群面板

    kuboard-v3

各服务功能

  • k3s:作为Kubernetes的轻量级发行版,提供集群管理和编排功能。
  • Helm:作为Kubernetes的包管理器,简化应用的部署和管理。
  • nerdctl:作为容器运行时,提供与Docker类似的命令行工具,用于运行和管理容器。

部署

  1. ECS实例创建:在阿里云控制台创建ECS实例,并选择合适的配置。
  2. SSH连接:使用SSH连接到ECS实例,准备进行k3s的安装。
  3. 一键安装k3s:通过运行上述提供的安装脚本来部署k3s,该脚本将自动安装k3s以及必要的组件。
  4. 设置存储和网络:根据需要配置持久存储和网络策略。
  5. 部署应用:使用k3s部署Kubernetes应用。

优劣势

  • 优势
    • 轻量级:k3s占用资源少,适合资源受限的环境。
    • 易于部署:一键安装脚本简化了部署过程。
  • 劣势
    • 资源限制:由于是单节点部署,资源有限,不适合高负载场景。
    • 高可用性:单节点部署缺乏高可用性,需要额外的节点来提高可用性。
    • 功能限制:相较于全功能的Kubernetes,k3s在某些高级功能上可能有所限制。
  • 监控和日志:配置监控和日志系统,如Prometheus和Grafana,以监控集群性能。

ISSUE

  1. helm无法正常安装服务。Error: Kubernetes cluster unreachable: Get "http://localhost:8080/version?timeout=32s": dial tcp [::1]:8080: connect: connection refused
    解决方法: 修复方案

总结

通过这种设计,可以在阿里云ECS上快速搭建一个轻量级的Kubernetes服务,适合开发、测试和小规模生产环境。尽管k3s提供了简化的安装和管理方式,但在设计生产级应用时,需要考虑扩展性和高可用性的解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值