Rancher Kubernetes Engine(RKE)正式发布:闪电般的Kubernetes安装部署体验

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 作为Rancher 2.0的重要组件,Rancher Kubernetes Engine(RKE)现已正式全面发布!这是Rancher Labs推出的新的开源项目,一个极致简单易用、闪电般快速、支持一切基础架构(公有云、私有云、VM、物理机等)的Kubernetes安装程序。

作为Rancher 2.0的重要组件,Rancher Kubernetes Engine(RKE)现已正式全面发布!这是Rancher Labs推出的新的开源项目,一个极致简单易用、闪电般快速、支持一切基础架构(公有云、私有云、VM、物理机等)的Kubernetes安装程序。


为何做一个全新的K8s安装程序?

在过去两年中,Rancher已经成为最为流行和受欢迎的创建和管理Kubernetes集群的平台之一。因为易于上手的特性和极致简单的用户体验,Rancher作为创建与管理Kubernetes的平台深受全球大量用户青睐 。Rancher将etcd、Kubernetes master和worker节点操作完全自动化。然而Rancher 1.x中只提供了Kubernetes的部署优化,2.0会继续加强对Kubernetes使用和运行过程中的进一步的优化与支持。

现阶段市场中有不少可供用户选择的用于创建Kubernetes集群的安装程序。据我们所见,其中两个最受欢迎的安装程序是kops和Kubespray:

  1. Kops也许是使用最广泛的Kubernetes安装程序。事实上,它不仅仅是一个安装程序。Kops为用户备好了所有可能需要的云资源,它能用来安装Kubernetes,还可以连接云监控服务,以确保Kubernetes集群的持续运行。不过,Kops与底层云基础架构集成过于紧密,在AWS上表现最为优秀,而对GCE和vSphere等其他基础架构平台的就不能提供支持。
  2. Kubespray是用Ansible编写的独立Kubernetes安装程序,它可以在任何服务器上安装Kubernetes集群,非常受用户欢迎。尽管Kubespray与各种云API具有一定程度的集成,但它基本上是独立于云的,因此可以与任何云、虚拟化集群或裸机服务器协同工作。目前,Kubespray已经发展成一个由大量开发人员参与的复杂项目。

Kubeadm是另一个跟随Kubernetes主版本分发的安装工具。然而,Kubeadm还不支持像HA集群这样的功能。尽管在 kops和Kubespray等项目中使用了 kubeadm 某些代码,但若作为生产级的Kubernetes安装程序,kubeadm还不适合。

Rancher 2.0可以支持并纳管任何Kubernetes集群。我们鼓励用户使用GKE和AKS等公有云云托管服务。对于想要自行建立自己的集群的用户,我们正在考虑将kops或Kubespray集成到我们的产品阵容中。Kops不符合我们的需求,因为它并不适用于所有云提供商。其实,Kubespray已经很接近我们的需要了,尤其是 Kubespray可以在任何地方安装Kubernetes的这一特性。但最终,我们决定不采用Kubespray,而是构建自己的轻量级安装程序,原因有两个:

  1. 我们可以重新起步,利用Kubernetes本身的优势建立一个更简易的系统。
  2. 与在Rancher 1.6中安装Kubernetes一样,通过使用基于容器的方法,我们可以拥有更快的安装程序。

RKE如何工作

RKE是一个独立的可执行文件,它可以从集群配置文件中读取并启动、关闭或升级Kubernetes群集。 如下是一个示例配置文件:

---
auth:
 strategy: x509

network:
 plugin: flannel

ssh_key_path: /home/user/.ssh/id_rsa

nodes: - address: server1
 user: ubuntu
 role: [controlplane, etcd] - address: server2
 user: ubuntu
 role: [worker]

services:
 etcd:
 image: quay.io/coreos/etcd:latest
 kube-api:
 image: rancher/k8s:v1.8.3-rancher2
 service_cluster_ip_range: 10.233.0.0/18
 extra_args:
 v: 4
 kube-controller:
 image: rancher/k8s:v1.8.3-rancher2
 cluster_cidr: 10.233.64.0/18
 service_cluster_ip_range: 10.233.0.0/18
 scheduler:
 image: rancher/k8s:v1.8.3-rancher2
 kubelet:
 image: rancher/k8s:v1.8.3-rancher2
 cluster_domain: cluster.local
 cluster_dns_server: 10.233.0.3
 infra_container_image: gcr.io/google_containers/pause-amd64:3.0
 kubeproxy:
 image: rancher/k8s:v1.8.3-rancher2

addons: |- ---
 apiVersion: v1
 kind: Pod
 metadata:
 name: my-nginx
 namespace: default
 spec:
 containers: - name: my-nginx
 image: nginx
 ports: - containerPort: 80

如上所示,我们通过指定认证策略、网络模型和本地SSH密钥路径来启动文件。集群配置文件的主体由以下三部分组成:

  1. 节点部分描述了组成Kubernetes集群的所有服务器。每个节点都承担三个角色中的一个或多个角色:controlplane、etcd和worker。您可以通过更改节点部分并重新运行RKE命令来添加或删除Kubernetes集群中的节点。
  2. 服务部分描述了在Kubernetes集群上运行的所有系统服务。RKE将所有系统服务打包为容器。
  3. 插件部分描述了在Kubernetes集群上运行的用户级程序。因此,RKE用户可以在同一文件中指定Kubernetes集群配置和应用程序配置。

RKE不是一个可以长时间运行的、可以监控和操作Kubernetes集群的服务。RKE需要与像Rancher 2.0这样的完整的容器管理系统或像AWS CloudWatch、Datadog或Sysdig等一样的独立监控系统配合使用。配合使用时,您就可以构建自己的脚本来监控RKE集群的健康状况了。

RKE:嵌入式Kubernetes安装程序

当用户需要构件一个分布式应用系统时,常常不得不处理后端数据库、数据访问层、集群和扩展等方面的问题。现在,越来越多的开发人员不再使用传统的应用程序服务器,而是开始使用Kubernetes作为分布式应用程序平台:

  1. 开发人员使用etcd作为后端数据库。
  2. 开发人员使用Kubernetes Custom Resource Definition(CRD)作为数据访问层,并使用kubectl在其数据模型上执行基本的CRUD操作。
  3. 开发人员将应用程序打包为容器,并使用Kubernetes完成集群和伸缩工作。

以这种方式构建的应用程序将作为Kubernetes YAML文件发送给用户。如果用户已经运行Kubernetes集群,或可以访问公有云托管的Kubernetes服务(如GKE或AKS),就可以轻松运行这些应用程序。但是,那些希望在虚拟化或裸机服务器上安装应用程序的用户该怎么办呢?

通过将RKE作为嵌入式Kubernetes安装程序捆绑到应用程序中,应用程序开发人员就可以解决上述需求。通过调用RKE,应用程序安装便可以启动,且会为用户创建一个Kubernetes集群。而我们已注意到,将诸如RKE之类的轻量级安装程序嵌入到分布式应用程序中,满足了很多来自用户的兴趣与需求。

为Kubernetes落地普及而前行

Rancher Kubernetes Engine(RKE)秉承了Rancher产品一贯易于上手、操作简单、体验友好的特性,使用户创建Kubernetes集群的过程变得更加简单,且我们相信通过云管理平台进行Kubernetes安装是大多数Kubernetes用户的最佳选择。

在Rancher Labs,我们希望Kubernetes有朝一日成为所有云服务商支持的标准化的基础架构,且一直在为了实现这个愿景而努力。已推出技术预览版、将于2018年初正式发布的Rancher 2.0,将可以同时纳管和导入任何类型、来自任何云提供商的Kubernetes集群,包括RKE、AWS EKS、Google Container Engine (GKE)、Azure Container Service (AKS)等等。

下一步,一起走吧

秉承Rancher一贯100%开源的风格,你可以直接从GitHub上下载RKE

本文转自kubernetes中文社区-Rancher Kubernetes Engine(RKE)正式发布:闪电般的Kubernetes安装部署体验

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
20天前
|
Kubernetes Java Docker
利用(K8S)配合Docker部署jar包
通过Docker打包并部署到Kubernetes(K8S)集群的过程。首先,通过SpringBoot生成jar包,接着在K8S环境中创建并编辑Dockerfile文件。随后构建Docker镜像,并将其推送到镜像仓库。最后,通过一系列kubectl命令(如get pods、get svc、logs等),展示了如何在K8S中管理应用,包括查看Pod状态、服务信息、Pod日志以及重启Pod等操作。
80 2
|
21天前
|
Kubernetes jenkins 持续交付
从代码到k8s部署应有尽有系列-java源码之String详解
本文详细介绍了一个基于 `gitlab + jenkins + harbor + k8s` 的自动化部署环境搭建流程。其中,`gitlab` 用于代码托管和 CI,`jenkins` 负责 CD 发布,`harbor` 作为镜像仓库,而 `k8s` 则用于运行服务。文章具体介绍了每项工具的部署步骤,并提供了详细的配置信息和示例代码。此外,还特别指出中间件(如 MySQL、Redis 等)应部署在 K8s 之外,以确保服务稳定性和独立性。通过本文,读者可以学习如何在本地环境中搭建一套完整的自动化部署系统。
51 0
|
18天前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
118 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
18天前
|
Kubernetes 负载均衡 前端开发
二进制部署Kubernetes 1.23.15版本高可用集群实战
使用二进制文件部署Kubernetes 1.23.15版本高可用集群的详细教程,涵盖了从环境准备到网络插件部署的完整流程。
40 2
二进制部署Kubernetes 1.23.15版本高可用集群实战
|
19天前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
53 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
3天前
|
Kubernetes Cloud Native Linux
云原生入门:Kubernetes的简易部署与应用
【8月更文挑战第49天】在云原生的世界里,Kubernetes(K8s)是一颗璀璨的星。本文将带你走进K8s的世界,从安装到简单应用,轻松驾驭这个强大的容器编排工具。让我们一起探索云原生的奥秘,解锁新技能!
|
9天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes上安装Metallb和Ingress并部署应用程序
Kubernetes上安装Metallb和Ingress并部署nginx应用程序,使用LoadBalancer类型的KubernetesService
41 2
|
17天前
|
存储 Kubernetes Ubuntu
Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
这篇文章详细介绍了在Ubuntu 22.04 LTS系统上使用VMware Fusion虚拟化软件部署Kubernetes 1.30+版本的完整过程,包括环境准备、安装containerd、配置etcd、生成证书、部署高可用组件、启动Kubernetes核心组件以及网络插件的部署和故障排查。
50 4
|
18天前
|
Kubernetes Ubuntu 网络安全
Ubuntu基于kubeadm快速部署K8S实战
关于如何在Ubuntu系统上使用kubeadm工具快速部署Kubernetes集群的详细实战指南。
72 2
|
18天前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
53 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇