Red Hat OpenShift API Satellite リンク・エンドポイントへのアクセス
デフォルトでは、 Red Hat OpenShift on IBM Cloud API の Satellite リンクエンドポイントは、 IBM Cloud コントロールプレーンからのトラフィックのみを受け入れるように保護されています。 他のソースからアクセスするには、エンドポイントにアクセス制御リスト(ACL)を設定する必要があります。
creating access control lists by using console の説明に従って、または以下のCLIコマンドを実行することで、エンドポイントのACLを設定できます。
ibmcloud sat acl create --name NAME --location LOCATION --endpoint ENDPOINT --subnet SUBNET [--subnet SUBNET ...]
Satellite の場所にある Red Hat OpenShift APIエンドポイントを見つけるには、 ibmcloud sat endpoints --location LOCATION を実行し、出力結果の中から、名前が openshift-api- で始まるエンドポイントを探してください。
ACLが許可する必要のあるサブネットは、どこからAPIサーバーにアクセスしようとしているのか、例えば kubectl コマンドをどこから実行しようとしているのかによって異なります。 エンドポイントにアクセスしている実際の発信元IPアドレスは、必ずしも想定通りのIPアドレスとは限りません。特に、発信元がVPC内の Kubernetes クラスターまたはインスタンスである場合はなおさらです。
お使いの環境に応じて、以下の手順のいずれかを行ってください。
-
VPC で実行している場合、以下のコマンドを使ってソースIPを見つけることができます。
ibmcloud is vpc VPC出力の中の
Cloud Service Endpoint source IP addressesセクションを探してください。 以下に例を示します。Cloud Service Endpoint source IP addresses: Zone Address us-south-1 10.22.13.83 us-south-2 10.12.158.57 us-south-3 10.12.164.28クラウド・サービス・エンドポイントのソースIPを使用してACLを構成します。 以下に例を示します。
ibmcloud sat acl create --name myOpenShiftACL --location myLocation --endpoint openshift-api-cqv7rh4w0pf9mjcsacd0 --subnet 10.22.13.83 --subnet 10.12.158.57 --subnet 10.12.164.28 -
従来の VM をご利用の場合は、以下のコマンドを実行して、仮想サービスインスタンスのIPアドレスを確認してください。
ibmcloud sl vs list出力例:
id hostname domain cpu memory public_ip private_ip datacenter action 146349551 myhost mydomain.ibmcloud.private 1 2048 169.48.27.170 10.166.165.5 tor01仮想サービスインスタンスの
private_ipを使用してACLを設定します。 以下に例を示します。ibmcloud sat acl create --name myOpenShiftACL --location myLocation --endpoint openshift-api-cqv7rh4w0pf9mjcsacd0 --subnet 10.166.165.5 -
他のすべての場合では、Red Hat OpenShift API Satelliteリンクエンドポイントを、IBM Cloud Log Analysis ロケーションの Satellite ログを見てください。 これらのログを開くには、リンクのログの下にあるダッシュボードを開くをクリックします。 モニター・インスタンスにフィルターをセットアップして、必要な値をフィルターで除外することができます。 例えば、ログで
flowlog: rejected byを検索すると、拒否されたクライアントIPが表示されます。 エンドポイントのIPに一致するサブネットを持つACLを追加する。 このIPは、Red Hat OpenShift API上のリンクエンドポイント経由でocコマンドを使用したときに記録されます。 詳細は Satelliteのログ記録 を参照。