「容器云」k0s 另外一个 Kubernetes 发行版

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 「容器云」k0s 另外一个 Kubernetes 发行版


是的,你没听错,昨天,Mirantis推出了k0s,一个无摩擦的kubernetes分销渠道。

k0s是一个单独的二进制文件,它包含运行Kubernetes集群所需的所有组件,只需在所有主机上安装该二进制文件即可。

现在,你已经开始比较k0s和k3s了,k3s是CNCF沙箱项目和CNCF认证的kubernetes发行版。但首先让我们看看k0s提供了什么,它的愿景,一个演示,然后与k3s进行比较。

这个名字的背后是什么?

  • -零摩擦意味着任何人都可以在没有任何kubernetes专家的情况下安装。
  • -零操作系统依赖
  • -零成本开源
  • -零停机时间,因为它提供了自动化的集群生命周期管理

特点:

  • -它是一个单独的二进制文件(大约165mb),没有OS依赖关系
  • - [FIPS安全遵从性](https://www.sdxcentral.com/security/definitions/what-does-mean-fips-compliant/) = k0s kubernetes核心组件+操作系统依赖+顶部打包的组件
  • —隔离的控制平面—默认情况下,服务器不会运行容器引擎或kubelet,这意味着服务器上不会运行任何工作负载。
  • -自定义工作者配置文件
  • -未来的本地集群备份/恢复和其他特性

注:二进制文件中包含的组件将在与k3s的比较部分进行解释

架构:


k0s使用Rancher's [Kine](https://github.com/rancher/kine/)来允许使用各种各样的后端数据存储,如MySQL、PostgreSQL、SQLite和dqlite。

k0s默认使用Konnectivity,负责控制面和工作器的双向通信。

其他值得注意的地方:

  • -从提交开始,k0s以前被称为MKE(我猜是Mirantis kubernetes/container engine)
  • -据称是Pharos项目的继承者。
  • - k0s可以像docker一样运行。
  • - k0s允许通过扩展扩展kubernetes集群的功能-> atm只有helm CRD可以使用。

演示—

—在这个演示中,我们将使用2个CentOs纯虚拟机,并使用k0s创建一个Kubernetes集群

安装二进制

在两个节点上下载k0s二进制文件:

curl -sSfL k0s.sh | sh

Downloading k0s from URL: https://github.com/k0sproject/k0s/releases/download/v0.7.0/k0s-v0.7.0-amd64

使用默认配置在节点(您希望控制平面所在的机器)上运行服务器

k0s server

您可以看到所有的控制平面组件都以进程的形式运行

ps -ef | grep k0s

root 11169 11009 1 19:03 pts/0 00:00:00 k0s server

root 11175 11169 5 19:03 pts/0 00:00:02 /var/lib/k0s/bin/etcd ...

root 11184 11169 6 19:03 pts/0 00:00:02 /var/lib/k0s/bin/kube-controller-manager ...

root 11187 11169 36 19:03 pts/0 00:00:12 /var/lib/k0s/bin/kube-apiserver...

root 11191 11169 0 19:03 pts/0 00:00:00 /var/lib/k0s/bin/konnectivity-server...

root 11196 11169 3 19:03 pts/0 00:00:01 /var/lib/k0s/bin/kube-scheduler...

root 11209 11169 0 19:03 pts/0 00:00:00 k0s api --config=/root/k0s.yaml

为worker创建令牌

k0s token create --role=worker

在工作节点上使用刚刚生成的令牌运行join命令

k0s worker <token>

你也可以看到worker节点上的k0s进程:

ps -ef | grep k0sroot 12430 12356 2 19:09 pts/0 00:00:02 k0s worker .... root 12436 12430 18 19:09 pts/0 00:00:17 /var/lib/k0s/bin/containerd ... root 12441 12430 3 19:09 pts/0 00:00:02 /var/lib/k0s/bin/kubelet ... root 12523 1 0 19:09 pts/0 00:00:00 /var/lib/k0s/bin/containerd-shim-runc ... | | | root 13504 1 0 19:10 pts/0 00:00:00 /var/lib/k0s/bin/containerd-shim-runc-

从控制平面,您可以看到工作节点的状态(在安装kubectl之后,因为它没有打包在二进制文件中)

curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x kubectl mv kubectl /usr/local/bin/ mkdir ~/.kube cp /var/lib/k0s/pki/admin.conf ~/.kube/configkubectl get nodes NAME STATUS ROLES AGE VERSION test Ready <none> 7m1s v1.19.3

现在我们已经建立了Kubernetes集群,并使用Kubernetes v1.19.3版本运行

与k3的比较:


注意:k0s不运行在Arch Linux上(感谢Alex Ellis指出这一点)

虽然k0s的一些特性使它不同于k3s,但它们也有很多共同之处。在我看来,如果k3s有贡献,而不是自己创建一个新的发行版,那就太棒了。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
运维 Kubernetes 网络协议
Kubernetes详解(十六)——Pod容器探测
Kubernetes详解(十六)——Pod容器探测
72 1
|
24天前
|
监控 Kubernetes 网络协议
上云业务的k8s容器排障与思考
本文主要讲述了在完成业务上云后,面临因业务请求量激增导致的系统复杂故障和挑战。作者通过排查分析,发现了一个长时间处于“进行中”状态的异常任务,客户端(APP2)进程卡死,而服务端(APP3)进程正常结束。进一步分析发现,问题出在kube-proxy代理的会话超时机制,由于请求处理延迟,kube-proxy清理了会话记录,导致服务端回包异常,客户端无法识别,从而形成进程假死。 最后,作者强调了在成本控制背景下,通过分析流量增长原因、优化技术架构和调整运营策略来改善系统性能和稳定性的必要性。
319 5
上云业务的k8s容器排障与思考
|
10天前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
|
12天前
|
运维 Kubernetes Cloud Native
云原生时代的技术革命:Kubernetes与容器编排
【6月更文挑战第17天】在数字化转型的浪潮中,云原生技术正成为推动企业IT架构现代化的核心力量。本文将深入探讨Kubernetes作为云原生生态中的佼佼者,如何引领容器编排的技术革命,并分析其在现代应用部署、管理和扩展中的关键作用。通过实例和案例分析,我们将揭示Kubernetes如何助力企业实现更高效、灵活和可靠的云原生应用管理。
|
20天前
|
运维 Kubernetes 持续交付
Docker与Kubernetes:容器化技术的黄金搭档
【6月更文挑战第10天】Docker和Kubernetes是容器化技术的黄金组合,Docker提供轻量级、可移植的容器引擎,简化应用部署,而Kubernetes作为容器编排系统,实现自动化部署、扩展和管理,确保高可用性和可扩展性。两者的协作使得容器化应用更高效、可靠,共同推动软件开发和运维的创新。
|
24天前
|
运维 Kubernetes Java
Java一分钟之Kubernetes(K8s):容器编排深入浅出
【6月更文挑战第6天】Kubernetes是容器编排的主流工具,简化分布式系统运维。本文介绍了K8s核心概念:节点、Pod、服务、部署和副本集。讨论了资源不足、依赖服务未就绪等常见问题及其解决策略,并提供创建Deployment的代码示例。学习K8s能提升部署效率和运维灵活性。
126 5
|
2天前
|
Kubernetes 安全 测试技术
超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?
超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?
|
4天前
|
Kubernetes Go Docker
Kubernetes容器生命周期 —— 钩子函数详解(postStart、preStop)
4.2 结论 • postStart不会挡住主进程的启动; • postStart的执行相对于容器主进程的执行是异步的,它会在容器start后立刻触发,并不能保证PostStart钩子在容器ENTRYPOINT指令执行完毕之前运行。 5、使用场景
|
1月前
|
弹性计算 Kubernetes 监控
【阿里云弹性计算】阿里云 ECS 与 Kubernetes 集成:轻松管理容器化应用
【5月更文挑战第28天】阿里云ECS与Kubernetes集成,打造强大容器管理平台,简化应用部署,实现弹性扩展和高效资源管理。通过Kubernetes声明式配置在ECS上快速部署,适用于微服务和大规模Web应用。结合监控服务确保安全与性能,未来将深化集成,满足更多业务需求,引领容器化应用管理新趋势。
209 2
|
1月前
|
Kubernetes 关系型数据库 分布式数据库
【PolarDB开源】PolarDB与Kubernetes集成:容器化部署的最佳实践
【5月更文挑战第21天】本文介绍了将阿里云的高性能数据库PolarDB与容器编排工具Kubernetes集成的步骤。首先,需准备Kubernetes集群和PolarDB Docker镜像,安装Helm。然后,通过Helm部署PolarDB,设置存储类和副本数。接着,应用配置PolarDB连接信息,打包成Docker镜像并在K8s集群中部署。此外,调整PolarDB参数以优化性能,并使用Prometheus和Grafana监控。本文为PolarDB在Kubernetes中的最佳实践提供了指导。
70 4