初探k0s

前言

今天在给测试k8s各类发行版本的时候发现了名为k0s的发行版,听过k3s,却没听过k0s。轻量级的kubernetes早已存在。那么k0s存在的意义是什么,说到这里我痛恨国内互联网恶臭现象,除了主题,文章一字不换的复制,复制也好,起码标个原作者链接吧。说着轻量级可是文章里并没有轻量级这个词,也没说明优化了哪些地方,删了什么功能。据我亲身实践,k0s不是轻量级kubernetes发行版,简化了kubernetes部署步骤。(个人意见)

官方简介

k0s 号称是一款简易、稳定且经过认证的 Kubernetes 发行版,它提供了构建 Kubernetes 集群所需的所有内容,预先配置了所有所需的功能,使得构建 Kubernetes 集群只需复制一个可执行文件到每个主机并运行它即可。

  • 主要特性
  1. 打包为单个静态文件
  2. 自托管的隔离 control plane (除非你额外在master node 部署 worker,否则该node无法部署任何服务!)
  3. 支持多个存储后端:etcd, SQLite, MySQL (以及其他的兼容版本), PostgreSQL(k3s项目产物)
  4. 弹性控制平面
  5. 上游采用原生 Kubernetes
  6. 支持自定义 container runtime(默认为 containerd,现在1.20版本原生k8s也默认采用containerd)
  7. 支持自定义 Container Network Interface (CNI) 插件(默认为 calico)
  8. 支持 x86_64 和 arm64 架构
  9. k0s 中的"0"的包含三层含义:零摩擦、零依赖和零成本 (Zero Friction, Zero Deps, Zero Cost)
  10. 易学习,上手简单,不像kubeadm部署那么麻烦(比k3s难一点,所以k3s才是易学习,上手简单,因为有脚本,k0s虽然也有脚本但那叫脚本?)

部署k0s

为写这篇文章我斥巨资5元钱购买竞价实例来做实验

获取预构建二进制文件

预构建二进制文件简称二进制包,由于k0s官网懒得做各类发行版本包,所以只有linux全发行版通用二进制文件,如下所述

引用:我们真的不想开始维护各种OS发行版的安装和打包。因此,单一二进制文件的包装模型允许我们更多地关注核心问题,而不是包装的不同风格,如DEBs、rpm和其他。

请到官方Github releases获取二进制文件,截止本文更新日期,稳定版本为0.9.1,测试版本为v0.10.0-beta1,我将使用0.9.1版本部署k0s,皆为 Linux amd64平台,如使用Linux arm64平台请将amd64更换为arm64。

指令(请检查网络是否通畅,如网络不通畅请将github.com更换为file.share.cloudyun.xyz,目前提供k0s-v0.9.1版本包括win以及Source code,其它版本将于几天后手动/另类方法同步):

wget https://github.com/k0sproject/k0s/releases/download/v0.9.1/k0s-v0.9.1-amd64 -O /usr/local/bin/k0s #获取预构建二进制文件,如使用arm64平台请将amd更换为arm
chmod +x /usr/local/bin/k0s #赋予可执行权限

如未安装wget与curl,请使用一下指令安装:

apt update && apt install -y wget curl #ubuntu/debian
yum makecache && yum install -y wget curl #centos/fedora

因k0s不提供内置kubectl,需要额外安装kubectl,安装在何处都行不一定非得在宿主机内

指令(该地址于境内网络通畅/镜像多,暂不予提供镜像):

curl --output /usr/local/bin/kubectl -L "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kube
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Helm是一个开源的Kubernetes应用包管理工具,用于简化Kubernetes应用的部署和管理。通过Helm,我们可以将应用打包为一个可重复使用的Chart,然后在Kubernetes集群中进行部署。 首先,我们需要安装Helm客户端工具。可以从Helm官方网站上下载适合自己操作系统的版本,并根据安装说明进行安装。 安装完成后,我们可以使用Helm命令行工具来创建一个新的Chart。一个Chart包含了应用的全部资源定义,包括Deployment、Service、Ingress等。我们可以使用helm create命令创建一个新的Chart,并根据需求修改Chart文件夹下的各个模板文件。 在Chart文件夹下,最重要的文件是values.yaml。该文件定义了Chart的默认值,我们可以在部署时通过传入自定义的values文件来覆盖这些默认值。这样,我们可以根据不同环境和需求来定制化应用的部署配置。 在部署之前,我们可以使用helm lint命令来检查Chart是否符合Helm的规范。一旦通过了lint检查,我们就可以使用helm install命令来将应用部署到Kubernetes集群中。 在部署完成后,我们可以使用helm list命令来查看已部署的应用,以及相关的版本信息和状态。如果需要升级应用或回滚到之前的版本,我们可以使用helm upgrade和helm rollback命令。 除了部署应用,Helm还提供了一些其他功能,如搜索和安装Chart仓库中的应用、打包和分享自己的Chart等。通过Helm,我们可以更方便地管理和扩展Kubernetes应用,提高开发和部署的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值