关于Rancher 2.0 技术预览2

2018年1月24日,Rancher Labs发布了Rancher2.0 Tech Preview2。虽然与Tech Preview1的发布只相隔约4个月,但经历了巨大的变化。让我们逐个来看。

Rancher2.0 Tech Preview2的主要特点是什么?

    1. Rancher Server是用100% Go语言编写的,不再依赖MySQL数据库。

 

    1. 您可以将Rancher Server部署到传统的Docker主机或现有的Kubernetes集群中。

 

    1. 通过使用Rancher Kubernetes Engine(RKE)和Google Kubernetes Engine(GKE)等托管的Kubernetes服务,您可以创建新的Kubernetes集群。 Rancher将自动化RKE和GKE两种集群的部署过程。将来,我们还将添加对EKS和AKS等托管的Kubernetes服务的支持。

 

    1. 通过统一的集群管理界面,您可以管理所有的Kubernetes集群。不论这些Kubernetes集群托管在何处,Rancher都会实施集中管理的身份验证和授权。

 

    Rancher为所有的Kubernetes集群提供了一个简单的工作负载管理界面。这个工作还在进行中。我们将继续提供直观的Rancher 1.0风格的以容器为中心的界面。我们还增加了许多先进的工作负载管理功能,如应用程序目录、CI/CD和监控集成、精细的统计数据、日志集中管理等。

比较技术预览1的架构和技术预览2的架构。

MySQL在Tech Preview 1之前是存在的,但现在已经消失了,并且组件也发生了变化。让我们来比较一下Tech Preview 1和2的架构。

技术预览1的架构。

tp1.png
コンポーネント概要Rancher ServerRancher Serverは、Rancher2.0からDockerからKubernetesの仕組みとなり、クライアント、ホスト、インポートしたKubernetesクラスタを管理します。ステートレスなコンポーネントです。Rancher ControllerRancher Controllerは、Embedded Kubernetesクラスタの生成とGKEのような既存のKubernetesクラスタをインポートします。そして、以下のコンポーネントで構成されています。
・Websocketプロキシ:RancherエージェントまたはRancher UIからコアコントローラへの要求を出す
・Compose executor:composeファイルを解釈して実行します。
・Core controller:サービス、ロードバランサ、DNSなどのRancher constructsを実装して、Kubernetes Podsに登録する
・Core controllerはRancherにおいてJavaで書かれた唯一のコンポーネントです。他のすべてのコンポーネントはGoで書かれています。Rancher Database(MySQL)Rancher Database(MySQL)は、Rancher1.0系と同様Rancher Server用のデータベースとなります。Netes-agentNetes-agentは、Rancherコンテナー群の定義を取得してKubernetes Podとして実装して、管理下にあるすべてのKubernetesクラスタに接続します。Auth ProxyAuth Proxyは、クライアントからのKubectlコマンドやkubernetes APIの窓口となります。Embedded Kubernetes MasterEmbedded Kubernetes Masterは、マルチテナントAPIサーバ、コントローラマネージャ、スケジューラで構成されています。全てがステートレスで、障害に強いコンポーネントです。Rancher agentRancher agentはWebsocketプロキシ経由でRancher Serverに接続します。Websocketプロキシはポート8080でリッスンしてポート8081でRancher Serverに接続します。Websocket接続により、エージェントは全二重通信を実行できます。さらに、コンソールセッション、統計情報、およびログエントリもまた、ホストからRancher Serverに配信されます。エージェントは1分ごとにステータスパケットをRancher Serverに送信します。ステータスパケットには、すべてのコンテナとそのステータスのリストを含んでいます。多数の欠落したステータスパケットにより、ホストは、「再接続」状態となります。KubeletKubeletは、kubernetesのコンポートです。Podの起動や管理を行います。Docker DaemonDocker Daemonは、Kubeletと連携してコンテナーの起動、実行を行います。

技术预览2的架构

Rancher2tp2archi.png
コンポーネント概要Rancher API ServerEmbedded Kubernetes APIサーバとetcdデーターベース上に構築されています。次の機能を装備しています。
1.ユーザ管理機能。Rancher API Serverは、Active DirectoryやGitHubのような外部の認証プロバイダに対応するユーザIDを管理します。
2.認可。Rancher API Serverは、アクセス制御とセキュリティポリシーを管理します。
3.プロジェクト。プロジェクトは、クラスタ内の複数のnamespaceをグループ化したものです。
4.ノード。Rancher API Serverは、全クラスタ内の全ノードのIDを追跡します。Cluster Controller and Cluster AgentsCluster ControllerとCluster Agentsは、Kubernetesを管理するために必要なビジネスロジックを実装します。Rancherインストール全体に対するグローバルな全ロジックは、Cluster Controllerによって実装されます。別のCluster Agentインスタンスは、対応するクラスタに必要なロジックを実装します。
Cluster Agentは、次のアクティビティを実行します。
1.ワークロード管理。例えば、各クラスタにPodを作成したり、デプロイします。
2.グローバルポリシーで定義されているロールとバインディングをすべてのクラスタに適用する。
3.クラスタからRancher Serverにイベント、統計、ノード情報や状態を伝播します。
Cluster Controllerは、次のアクティビティを実行します。
1.クラスタおよびプロジェクトへのアクセス制御ポリシーを構成します。
2.必要となるDockerマシンドライバとRKEやGKEのようなKubernetesエンジンを起動して、クラスタのセットアップを行います。Auth ProxyAuth Proxyは、全てのKubernetes API呼び出しをプロキシして、ローカル認証、Active DirectoryやGitHubのような認証サービスと統合します。Kubernetes APIを呼び出すたびに、Auth Proxyは、呼び出し元を認証し、Kubernetes Masterへ呼び出しを転送する前に適切なKubernetesの偽装ヘッダーを設定します。Rancherは、サービスアカウントを使用してKubernetesクラスタと通信します。RKE/GKE Kubernetes MasterKubernetes Masterはkubernetesのコンポーネントで、API Server、Scheduler、Controller、etcd等の機能を有しています。図では、RKEとGKEですが、将来的にはEKS、AKS等も利用できる予定です。KubeletKubeletは、kubernetesのコンポートです。Podの起動や管理を行います。

开始使用 Rancher 2.0

准备下表中的Linux主机。

項目スペックOS64-bit Ubuntu 16.04Memat least 4GB of memoryDisk80GB +DockerInstall the latest stable version of Docker on the host.

1. 安装最新版本的Docker.

$ wget -qO- https://get.docker.com/ | sh

2. 安装 Rancher2.0 Tech Preview2。

$ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/server:preview

3. 浏览器访问

※ 最初的用户名「admin」和最初的密码「admin」

rancher2.0tp2.png

Rancher2.0技术预览2的主要功能

rancher2tp2_02.png

目前,您可以使用Rancher2.0服务器从GKE、EKS和AKS创建Kubernetes集群。请注意,目前(截至2018年2月),仅支持在GKE上创建。

您可以使用RKE(Rancher Kubernetes Engine)与AWS、Azure、DigitalOcean、Packet、VMware(截止至2018年2月)进行集成,创建Kubernetes集群。

「导入现有集群」是Rancher 2.0 从 Tech Preview1 开始提供的功能,允许将现有的 Kubernetes 集群导入到 Rancher 2.0 服务器并进行管理。

我希望能够另外发布验证结果,涉及到上述主要功能。

    • Rancher2.0 Tech Preview2 ~Create a Cloud Cluster~

 

    Rancher2.0 Tech Preview2 ~Create a RKE Cluster~

请参考以下资料。

牧场主2.0技术预览2

    • Announcing Rancher 2.0 Tech Preview 2

 

    • Updated Rancher 2.0 Architecture Document

 

    • The Quick Start Guide

 

    • Technical Release 2 page

 

    Hands-on with the Rancher2.0 Beta

RKE(Rancher Kubernetes Engine)

    • Announcing RKE, a Lightweight Kubernetes Installer

 

    • An Introduction to Rancher Kubernetes Engine (RKE)

 

    • 軽量KubernetesインストーラRKEを発表

 

    • Rancher Kubernetes Engine(RKE)の紹介

 

    • RKEってなんじゃ?

 

    • RKEでオンプレKubernetesクラスタを作り、その上でOpenFaaSを動かす – その1

 

    • RKE & Rancher2.0

 

    Rancher Kubernetes Engine(RKE) & Rancher 2.0 Technical Preview on Fujitsu K5
广告
将在 10 秒后关闭
bannerAds