2.6. ネットワーク
OSToy アプリケーションは、クラスター内ネットワークを使用して、マイクロサービスによって機能を分離します。
このワークショップには、それぞれ独自のサービスを持つ少なくとも 2 つの個別の Pod があります。1 つの Pod は、サービスとパブリックにアクセス可能なルートを備えたフロントエンド Web アプリケーションとして機能します。もう一方の Pod は、フロントエンド Pod がマイクロサービスと通信できるように、サービスオブジェクトを備えたバックエンドマイクロサービスとして機能します。
複数の Pod がある場合、Pod 間で通信が行われます。マイクロサービスには、クラスターの外部や他の namespace やプロジェクトからはアクセスできません。このマイクロサービスの目的は、内部 Web リクエストを処理し、現在のホスト名 (Pod の名前) と、ランダムに生成されたカラー文字列を含む JSON オブジェクトを返すことです。このカラー文字列により、OSToy アプリケーションの Web コンソールに、その色のボックスが表示されます。
ネットワークの制限の詳細は、ネットワークポリシーについて を参照してください。
2.6.1. クラスター内ネットワークの設定 リンクのコピーリンクがクリップボードにコピーされました!
OSToy アプリケーションでネットワーク設定を表示できます。
手順
- OSToy アプリケーション Web コンソールで、左側のメニューの Networking をクリックします。
ネットワーク設定を確認します。"Hostname Lookup" というタイルは、Pod 用に作成されたサービス名が、どのように内部 ClusterIP アドレスに変換されるかを示しています。
"Hostname Lookup" タイルに、
<service_name>.<namespace>.svc.cluster.localという形式で、作成したマイクロサービスの名前を入力します。次のコマンドを実行すると、ostoy-microservice.yamlのサービス定義でこのマイクロサービス名を見つけることができます。$ oc get service <name_of_service> -o yaml出力例
apiVersion: v1 kind: Service metadata: name: ostoy-microservice-svc labels: app: ostoy-microservice spec: type: ClusterIP ports: - port: 8080 targetPort: 8080 protocol: TCP selector: app: ostoy-microserviceこの例では、完全なホスト名は、
ostoy-microservice-svc.ostoy.svc.cluster.localです。IP アドレスが返されます。この例では
172.30.165.246です。これはクラスター内 IP アドレスであり、クラスター内からのみアクセスできます。