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 つの記事で紹介することはできません。あなた自身でさらに多くの用途を探求し続けることができます。

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

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

推薦する

医療業界におけるマルチアクセスエッジコンピューティングの応用

5G商用時代の完全な進歩により、エッジコンピューティングは革新的なアプリケーションサービスを促進する...

Aruba、802.11ax 規格をサポートする初の IoT ワイヤレス AP を発表

2018年12月18日、次世代ネットワークソリューションの世界的大手プロバイダーであるArubaは北...

基本的な最適化の強化: ウェブサイトの内部リンク構築をより洗練させる方法

検索エンジンのランキングの決定的な列に入るにはどうすればよいでしょうか? 多くの人は、外部リンクとコ...

ウェブサイトのおすすめ: Makies 3D プリントで仮想キャラクターを本物の人形に変身

Makies が提供するキャラクター テンプレートは非常に大げさです。小人たちはバービー人形のような...

タオバオキーワード最適化

タオバオキーワード最適化スキル今日は、Taobao のキーワード最適化テクニックをいくつか分析します...

@yourdomain.com を構築するには、Namecheap の安価で信頼性の高いメール サービスをお勧めします。

ウェブマスターはこれまで無料のメールボックスを使用していましたが、最近有料版を使い始めました。ここで...

Mogujieの評価額は10億ドル:ショッピングガイドウェブサイトは脇役ではなく主役になり始めている

さらに読む:物議を醸すモグジエ:変革後の8か月で評価額が10億ドル急上昇モグジエは2億ドルを超える新...

cmivps: 「618 イベント」、香港無制限トラフィック VPS、30% 割引、100M 帯域幅、CMI ライン

cmivps の 618 プロモーション: 香港 CMI ラインの VPS、年間支払いで 30% オ...

検索エンジンが使用する3つの一般的なウェブサイトランキングアルゴリズム

検索エンジンはどのようにしてインターネット上の多数のウェブサイトを適切にランク付けするのでしょうか。...

IT運用におけるクラウドコンピューティングの役割

IT リーダーは、クラウド コンピューティングのビジネス価値を十分に引き出すために、一貫性があり、拡...

SEO は急速に変化しています。オンラインプロモーションに適応するにはどうすればよいでしょうか?

検索エンジン最適化 (SEO) 業界で働く友人たちは、とても苦労しています。退屈で面倒な作業に対処す...

ウェブサイトがBaiduの審査サイクルをスムーズに通過するためのいくつかの重要な段階

ご存知のとおり、ウェブサイトの運用最適化は段階的なプロセスです。ウェブサイト構築後の SEO の各段...

最適化されたウェブマスターの垂直思考をお持ちですか?

ウェブサイトの最適化は、もはや神秘的なものではありません。多くのウェブマスターは、大量の外部リンクを...

301サーバーがウェブサイトのドメインのブロックやブロックを防ぐ方法

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスドメイン名のブロックとは...