Google GKE、AWS EKS、Oracle OKE の管理を統合する方法

Google GKE、AWS EKS、Oracle OKE の管理を統合する方法

Rancher が登場する前は、さまざまなクラウド プロバイダーで実行されている Kubernetes クラスターを管理することは決して簡単な作業ではありませんでした。 Rancher とは何ですか?これはオープンソースの Kubernetes 管理プラットフォームです。ユーザーは、Rancher 上でさまざまなクラウドに接続された Kubernetes クラスターを作成したり、既存の Kubernetes クラスターを直接インポートして統合管理したりできます。

この記事では、Google Cloud、AWS Cloud で Kubernetes クラスターを起動する方法と、Oracle Cloud からクラスターをインポートする方法を説明します。最終的には、3 つのクラスターすべてが Rancher ダッシュボード上で直感的に表示され、均一に管理できるようになります。この記事では、Rancher から Kubernetes クラスターを作成する方法と、Rancher ダッシュボードを使用して簡単に監視およびデプロイする方法を段階的に説明します。

Rancher Labs は、Rancher Kubernetes 管理プラットフォームに加えて、ユーザーが選択できる独自の RKE (Rancher Kubernetes Engine) もリリースしました。 RKE は、どこでも使用できる非常にシンプルで超高速な Kubernetes インストーラーです。したがって、ベアメタル サーバーまたは VM に Kubernetes クラスターをインストールする手間が省かれ、カスタマイズの柔軟性も大幅に高まります。

[[265705]]

RKE のインストール

この章では、3 台の VM に Rancher Kubernetes クラスターをインストールする方法を説明します。まず、RKE クラスターを起動するために 3 台のマシンが必要です。ブートイメージとして Ubuntu 18.04 を搭載した 3 つの EC2 インスタンスを使用しています。これで、これら 3 つのノードのすべてのインストールを実行する別の VM ができました。そのうちの 1 つはマスター ノードになり、他の 2 つはワーカー ノードになります。インストールについては公式ドキュメントに従いましたが、作業全体を簡単にするためにいくつかの手順を少し調整しました。

ステップ1: RKEバイナリをダウンロードする

  • wget
  • https://github.com/rancher/rke…amd64

ステップ 2: mv rke_linux-amd64 rke

ステップ3: PATH=/home/cloud_user/rke:$PATHをエクスポートする

ステップ 4:これまでのところ、docker がインストールされた Ubuntu EC2 マシンが 3 台あります (Ubuntu ユーザーが docker にアクセスできるように、「usermod -aG docker ubuntu」を必ず実行してください)。また、これらのインスタンスを作成するときに使用した秘密鍵ファイルもあります。必要なのは、現在の VM にファイルを作成し、キーの内容をコピーし、キーの権限を変更して、EC2 インスタンスの 1 つにログインしてみることです。

次に、次のコマンドを実行します。

  1. rke config --name cluster.yml (パスをまだ設定していない場合は、ここで ./rke を使用できます)。  

Enter キーを押すと、いくつかの異なるパラメータ値の入力を求められ、それらのパラメータ値に基づいて cluster.yml ファイルが作成されます。これらのパラメータは基本的に定義するノードの特性であり、rke は自動的に cluster.yml を作成します。 Rancher のドキュメントに従って独自のものを作成することもできます。

上記は私が渡したパラメータであり、それに基づいて cluster.yml ファイルが生成されました。基本的には、デフォルトで選択した他のクラスター関連の構成を含む 3 つのノード構成です。

上記は、渡したパラメータに基づいて cluster.yml ファイル内でノードがどのように見えるかを示しています。 cluster.yml ファイルの準備ができたので、次の手順に進むことができます。

ステップ 5: 「rke up」を実行してクラスターを起動します (同じ場所に cluster.yml ファイルがある場合)。cluster.yml 以外のファイルがある場合は、次のコマンドを実行できます: rke up --config abc.yml

それでおしまい!!!次に、クラスターが起動し、クラスターを起動してノードを接続するためのさまざまなタスクが実行され、さまざまな INFO ログが表示され始めます。これにより、舞台裏で何が起こっているかを確認できるため、クラスターの作成に関連するすべての手順を把握できます。これらが必要ない場合は、「正常に確立された Kubernetes クラスター」を参照してください。

部分ログ

この後、rke は、クラスターと対話するために使用できる「kube_config_cluster_yml」という名前の kubeconfig ファイルも作成します (この前に kubectl をインストールする必要があります)。 yml ファイルに別の名前を使用する場合は、「kube_config_test_yml」になり、この構成ファイルを使用してクラスターと対話できるようになります。

セットアップ完了

Rancherのインストール

ここでは、Rancher をインストールし、Rancher ダッシュボードからクラスターを作成/インポートする方法を説明します。 RKE のインストールに使用したのと同じ VM を使用します。ポート 80 で Rancher を Docker コンテナとして実行します。

注文:

  1. docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher  

それでおしまい! Rancher が稼働中です!

次に、Rancher にログインし、URL を使用してパスワードを設定します。

Rancherの最初の画面インターフェース


ランチャーダッシュボード

Rancher が起動して実行されたので、クラスターを作成してインポートする準備をすることができます。以下では、Rancher を使用して AWS および Google Cloud クラスターを作成する方法と、Oracle Cloud および最近作成した RKE からクラスターをインポートする方法を説明します。

Rancher を使用して AWS クラスターを作成する

ステップ 1: 「クラスターの追加」をクリックし、Amazon EKS を選択します。選択したら、クラスター名、アクセス キー、シークレット キーを指定する必要があります。

ステップ 2: 「クラスターの構成」をクリックし、Kubernetes のバージョンとサービス ロールを選択します。


クラスターオプション

ステップ 3: 「VPC とサブネットの選択」をクリックして、ノードの VPC とパブリック IP を選択します。


仮想PC

ステップ 4:インスタンス オプションを選択して、ノードの形状とサイズを指定します。


ノード

ステップ5:クラスターを作成する

「作成」をクリックすると、AWS EKS クラスターのプロビジョニングが開始され、AWS ダッシュボードと Rancher ダッシュボードの両方に表示されます。


AWS クラスターが作成されました

Rancher を使用して Google Kubernetes クラスタを作成する

ステップ 1: Google Cloud Console で次の権限を持つサービス アカウントを作成します。


サービスアカウント

ステップ 2:このサービス アカウントの JSON キーを作成し、コンピューターに保存します。このキーは、Rancher を通じてクラスターを作成するときに必要になります。

JSONキーの作成

ステップ 3: Rancher ダッシュボードに移動し、「クラスターの追加」をクリックして、「Google GKE」を選択します。クラスターの名前を入力し、手順 2 で作成したサービス アカウント JSON ファイルを貼り付けます。

クラスターを追加し、JSONファイルを提供する

ステップ 4: 「ノードの構成」をクリックすると、提供された JSON ファイルで認証され、適切なクラスター オプションを選択できるさまざまなセクションが表示されます。リージョン、Kubernetes のバージョン、ノード/シェイプ/イメージの数を選択し、自動修復、自動スケーリング、自動アップグレードなどの機能を有効/無効にして、「作成」をクリックします。

これで完了です。「作成」をクリックすると、Google Kubernetes クラスタが作成されます。


グーグル

Rancher を使用して RKE クラスターをインポートする

このセクションでは、この記事の冒頭で作成した RKE クラスターを Rancher にインポートする方法を説明します。

ステップ 1: [クラスターの追加] をクリックし、[インポート] オプションを選択して、クラスター名を入力し、[作成] をクリックします。


クラスターをインポートしています

ステップ 2:次の画面に記載されているコマンドを実行して、クラスター管理者ロールと Rancher がインポートするために必要な yaml を作成します。


注文


キャラクターを作成する


yamlファイルをRKEクラスタに適用して、Rancherのインポートを完了します。

Oracle Kubernetes EngineをRancherダッシュボードにインポートする

まず OKE (Oracle Kubernetes Engine) を作成し、Oracle OCI コンソールに移動して、メニューから「Developer Services」を選択し、「Cluster」を選択します。クイック作成オプションは非常にシンプルで、クラスター名とノードの形状と数を指定する以外に何もする必要がないため、これを選択します。


OKE クラスターの作成


クラスターが正常に作成されました

ランチャーダッシュボード

次に、Rancher ダッシュボードを見てみましょう。


あらゆる場所のクラスターを一箇所から管理

これで、Rancher ダッシュボードを使用してさまざまな操作を実行できるようになりました。

監視を有効にする

ダッシュボードを使用して Prometheus と Grafana のモニタリングを直接有効にし、すべてのクラスターの Grafana ダッシュボードにアクセスできます。以下では、Google Kubernetes クラスタでこれを行う方法を示しますが、手順は他のすべてのタイプのクラスタにも適用されます。

ステップ 1:監視を有効にするクラスターを選択します。

ステップ 2: [ツール] メニューから [監視] を選択します。


監視を選択

ステップ 3: [有効にする] をクリックして制限を設定します。 [保存]をクリックします。


構成

[保存] をクリックすると、監視が有効になります。クラスターをクリックすると、Grafana のロゴが表示されます。

いずれかの Grafana ロゴをクリックすると、Grafana ダッシュボードに移動し、すべてのメトリックを表示し、必要に応じてアラートを作成できます。


GKE 用 Grafana ダッシュボード


OKE の Grafana ダッシュボード


RKE 用 Grafana ダッシュボード

クラスターの管理

Rancher ダッシュボードを使用すると、クラスターにデプロイされたすべてのポッド、サービスなどを簡単に管理できます。


GKE ポッド

ここで、yaml ファイルを編集し、再デプロイし、必要に応じて構成を変更することができます。

アプリケーションをデプロイする

Rancher ダッシュボードを使用すると、アプリケーションをクラスターにデプロイするのは非常に簡単です。クラスターのワークロード ページを開いて、アプリケーションをデプロイするだけです。

展開する

サンプルの nginx アプリケーションをデプロイしてみましょう。 「デプロイ」を選択すると、アプリケーションをデプロイするためのさまざまなオプションが表示されます。

アプリケーションをデプロイする

環境変数の設定、ノードのスケジュール設定、ヘルスチェックの実行、ボリュームの作成、スケーリング ポリシーの定義を行うことができます。また、単一のアプリケーション展開インターフェースを通じて、さらに多くのことを行うことができます (非常に便利です)。ポートを公開することもできます (私の展開では、外部ロード バランサーとして公開しています)。


正常にデプロイされたアプリケーション

kubectlコマンドを実行する

クラスターをプロビジョニングするときに生成される kubectl シェルを使用して、Rancher UI から kubectl コマンドを実行できます。ここでの問題の 1 つは、kubectl shell を複数回実行しようとすると、docker の問題により切断されてしまうことです。もう 1 つの方法としては、kubeconfig ファイルをダウンロードし、kubectl コマンドをローカルで実行する方法があります。

ボリュームの作成や CI/CD パイプラインの作成なども行えます。

結論

この投稿では、次のことを共有しました:

  • Rancherのインストール方法
  • Rancher を使用して Google GKE をインストールする方法
  • RKE セットアップ
  • Rancher で AWS EKS を作成する
  • Oracle Cloud OKE を Rancher にインポートする
  • Rancherからクラスターの監視を有効にする
  • Rancher UIを使用してサンプルアプリケーションをデプロイし、ロードバランサーとして公開する
  • Rancher UI を使用して Kubectl コマンドを実行する

Rancherには多くの機能があります。確かに、Rancher のすべての機能、特徴、その他の側面を 1 つの記事で紹介することはできません。あなた自身でさらに多くの用途を探求し続けることができます。

<<:  ハイブリッドクラウドと将来のクラウドアプリケーションの利点

>>:  純利益の「接近戦」クラウドコンピューティングが次の戦場か?

推薦する

分散システムに関する20,000語の詳細な入門書

WeTest の紹介 QQ、WeChat、Taobao など、特定のインターネット アプリケーション...

クラウド コンピューティング アーキテクチャは、サブスクリプション ベースで課金されます。 SaaSの魅力とは?

[[387234]]今日、デジタルの世界はますますソフトウェアによって定義されるようになっています。...

ヤフーはフェイスブックに対する特許訴訟を拡大し、12件の特許を侵害していると主張している

Sina Technology News:北京時間4月28日早朝のニュースによると、Yahooは金曜...

タオバオ、SNSをターゲットにした過去最大の改訂版を発表

10月18日、易邦電力網は情報筋から、タオバオが史上最大の改訂を完了しようとしており、新バージョンは...

OpenStackでCephを正しく使う方法

ストレージとして Ceph を使用する OpenStack に関する非常に貴重な記事を見つけました。...

上海SEO: 最適化は外部リンクの構築だけではない

偶然、あるウェブサイトで Google 検索エンジンのランキングに影響を与える要素と、その要素の割合...

高品質のソフト記事を素早く書くための私の個人的な経験について話す

はじめに:ウェブマスターの最適化担当者として、毎日または定期的にオリジナルの文章を書くことは必須です...

Xiong Zhanghao: ブログ最適化のための SEO テクニックは何ですか?

月収10万元の起業の夢を実現するミニプログラム起業支援プラン新しいメディアプラットフォームの発展に伴...

銀行ブランドマーケティング手法

わが国には、国有銀行 6 行、株式会社銀行 12 行、都市商業銀行 134 行のほか、農村商業銀行、...

1アイテム1コードとは何ですか?企業はワンツーワンマーケティングをどのように活用できるのでしょうか?

月収10万元の起業の夢を実現するミニプログラム起業支援プランモバイルインターネットの発展により、消費...

北京のインターネット漂流:李延紅の理想と引き換えの「不法滞在」10年

データマップ:百度創設者ロビン・リー中国新聞社、8月7日:1999年8月、海淀区政府は大規模な解体・...

Baidu のホームページが「一人、一つの世界」を実現する方法を分析する

中国ウェブマスターの主力として、Baidu は当然のことながら皆の注目と研究の的となっている。Bai...

小規模なウェブサイトは大規模なウェブサイトとどのように競争できるのでしょうか?

あなたのウェブサイトは、常に大手ウェブサイトに抑圧されていますか?あなたのオリジナル記事は大手ウェブ...

新たな垂直型電子商取引企業にとって、自らの原罪を認めているため、償いの道は困難である。

「適度な利益が得られると、資本は極めて大胆になる。利益が 10% あれば、あらゆる場所で利用される。...

データ所有権の観点からクラウド移行の過程を見る

ビジネスをクラウド コンピューティングに移行することは、世界中の企業に多大なチャンスをもたらします。...