CloudSigma PaaS を使用すると、ユーザーはパブリックIPアドレスを使用してアプリケーションを公開できます。このアドレスは、Kubernetesクラスター 環境のノードにアタッチする必要があります。CloudSigma PaaS環境でこれを実現するには、2つの方法があります:
- 1つの方法は、パブリックIPを専用のロードバランサーにアタッチすることです。

- もう1つの方法は、KubernetesのWorkerノードにパブリックIPをアタッチすることです。
このチュートリアルでは、 これら2つのアプローチのいずれかを使用して、Kubernetesアプリケーションへのアクセスを取得する方法をご案内します。
Kubernetesアプリケーションアクセス用の専用ロードバランサーの設定
まず、アプリケーションアクセス用の専用ロードバランサー のセットアップ方法を学びます:
- まずは CloudSigma Marketplace にアクセスして、Kubernetesクラスターを見つけてインストールします。次に、アプリケーションをデプロイします。例として、ここでは Jakarta EE Cargo Tracker.
- をデプロイします。Kubernetesクラスターの横にある Change Environment Topology をクリックします。表示されるウィンドウで、専用ロードバランサーノードを追加します。次に、以下のようにパブリックIPアドレスをアタッチします:

この例では、NGINX ロードバランサーノードを使用しています。他にも、HAProxy, LS Web ADC、Varnishなど、複数のロードバランサーが利用可能です。お好みのものを選択してください。
トポロジーの変更が完了すると、適用された変更は以下のようになります:


3. 次のステップは、カスタムドメインのAレコードを作成することです。前のステップで使用したのと同じパブリックIPアドレスを使用します。この例では、cargo-tracker.cloudsigma.website:

を使用します。4. これで、カスタムドメインをK8sクラスターにアタッチできます。これを行うには、信頼された Let’s Encrypt SSL 証明書の発行リクエストを送信します:
- ロードバランサーの上にホバーし、Add-Ons.
- をクリックします。そして、Let’s Encrypt Free SSL:

- を見つけてインストールします。設定でカスタムドメイン名を入力し、Install をクリックします。今回の例では、ドメイン名は以下の通りです:

これで、カスタムドメイン https://cargo-tracker.cloudsigma.website を使用してアクセスできるアプリケーションが完成しました。また、有効で信頼されたLet’s Encrypt SSL証明書を使用して、アプリケーション上のトラフィックも暗号化されています。
Kubernetes WorkerノードのパブリックIPアドレスを使用したアプリケーションへのアクセス取得
次に、Kubernetesクラスターの外部でアプリケーションを利用可能にするための別のアプローチを見ていきます。基本的には、アプリに直接アクセスできるようにするために、Kubernetesクラスター内のWorkerノードにパブリックIPアドレスをアタッチする方法を学びます:
先ほど示したのと同じ例で進めましょう。Cargo Trackerアプリケーションをデプロイしたのと同じクラスターを使用します。手順は以下の通りです:
1. Change Environment Topology をクリックします。WorkerノードにパブリックIPアドレスを追加します:

2. 次に、カスタムドメインのAレコードを作成し、今追加したIPにマッピングします。前の章で使用したものとは異なるドメイン名を使用していることを確認してください。例えば、次のドメイン名を使用します:cargo-tracker-worker.cloudsigma.website:

3. Control PlaneまたはMasterノードの上にホバーし、Add-Ons をクリックします。Certificate Manager を見つけてインストールします。これにより、LoadBalancerサービスタイプのNGINX ingressコントローラーとともに、cert-managerコントローラーがインストールされます。後者には、Workerノードに関連付けられたIPアドレスが含まれています。これは「nginx-cert」ingressクラスのリソースを提供します:

4. 指定されたフィールドに希望のドメイン名を入力し、Apply:

をクリックします。5. インストール時に、アドオンは helloworld-cert. というテストアプリケーションもインストールします。以下のコマンドを使用して、それが使用するリソースを簡単に削除できます:
|
1 2 3 4 5 |
$ kubectl delete deploy hello-cert-manager $ kubectl delete svc hello-cert-manager $ kubectl delete ing helloworld-cert |
これらのコマンドは、 SSH (SFTP) または Web SSH Gate( Control Plane または Master Node)を使用して入力および実行する必要があります。。ノードにカーソルを合わせて、隣にあるWeb SSH オプションをクリックしてゲートにアクセスします。
もう一つの方法は、Control Plane または Master Nodeにカーソルを合わせて、Configをクリックすることです。ここから、SFTP/SSH Gate に移動し、表示される指示に従います。
6. アプリケーションのSSLトラフィックを終端し、cargo-trackerサービスへのルーティングを処理するために、cargo-tracker-workerという名前のイングレスリソースを作成する必要があります。ここでは、cargo-tracker-worker-ingress.yamlを使用するとします。たとえば、vi などのエディタを使用してファイルを作成し、次のコードを貼り付けることができます:
|
1 |
vi cargo-tracker-worker-ingress.yaml |
その後、次のように進めます:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cargo-tracker-worker namespace: default annotations: kubernetes.io/ingress.class: nginx-cert cert-manager.io/cluster-issuer: "letsencrypt-prod" kubernetes.io/tls-acme: "true" nginx.ingress.kubernetes.io/affinity: "cookie" nginx.ingress.kubernetes.io/affinity-mode: "persistent" nginx.ingress.kubernetes.io/session-cookie-expires: "172800" nginx.ingress.kubernetes.io/session-cookie-max-age: "172800" spec: tls: - hosts: - cargo-tracker-worker.cloudsigma.website secretName: external-domain-tls rules: - host: cargo-tracker-worker.cloudsigma.website http: paths: - path: / pathType: ImplementationSpecific backend: service: name: cargo-tracker port: number: 80 |
|
1 |
$ kubectl apply -f cargo-tracker-worker-ingress.yaml |
7. このイングレスを作成すると、Certificate Managerが新しいドメイン名に対してLet’s Encrypt SSL証明書を自動的に発行します。新しいカスタムドメイン名(今回の場合はhttps://cargo-tracker-worker.cloudsigma.website)でアプリが利用可能になるまで、1〜2分お待ちください。
これで完了です!これらの手順に従うことで、2つの異なるアプローチを使用してアプリケーションを公開しました。その結果、2つのイングレスが表示されます。今回の例では以下の通りです:
- cargo-tracker
このイングレスは、専用ロードバランサーのパブリックIPを経由して入ってくるアプリケーショントラフィックを処理します。
- cargo-tracker-worker
このイングレスは、K8sワーカーノードにアタッチされているIPから直接流入するアプリケーショントラフィックを処理するように設定されています。
これらは次のように表示されます:

どの実装方法を選択するかによって、本番環境で必要となるイングレスは1つだけになります。CloudSigma PaaSは、ユーザーがロードバランシングをアプリケーションの必要に応じて実行するためのさまざまなツールへのアクセスを提供します。プラットフォーム上でのロードバランシングについて、ぜひ詳細をお読みになり、学んでください。また、NGINXやHAProxyなどの利用可能なツールを使用したロードバランシングの基本に関する詳細なガイドも用意しています。
ぜひ、 CloudSigma’s PaaSを 7日間の無料トライアルでお試しいただくか、詳細やプラットフォームのデモをご希望の場合は お問い合わせください。

コメント
コメントはまだありません。最初のコメントを投稿しましょう。