Red Hat OpenShift における IBM API Connect (APIC)の監視
包括的な監視のために、 Instana を使用して Red Hat OpenShift にデプロイされた IBM APIC を監視できます。
Red Hat OpenShift 上の IBM APIC を監視するには、以下のセクションに記載されている手順を完了してください:
Instana エージェントのインストール( Red Hat OpenShift )
APICの可観測性のために、 Red Hat OpenShift に Instana エージェントをインストールするには、次の手順を完了してください:
ステップ 1. 名前空間を作成し、権限を割り当てる
OpenShift CLI から、という名前のネームスペースを作成し instana-agent 、必要な権限を付与します。
$ oc create ns instana-agent
$ oc adm policy add-scc-to-user privileged -z instana-agent -n instana-agent
ステップ 2. Instana オペレータを OperatorHub からインストールしてください
- 開いて OperatorHub、名前空間に切り替えて
instana-agentください。 - でフィルタ Instana リングし、 Instana オペレータを選択します(例:バージョン 2.0.3 以降)。
ステップ 3. インストールオプションの設定
Instana オペレータをインストールする際は、以下の設定を使用してください:
- チャンネル:
stable - モード:
All Namespaces - インストール済み名前空間:
openshift-operators - 戦略:
Automatic
インストール後、名前空間を に切り替えて、 instana-agentInstana エージェントインスタンスを作成します。
ステップ 4. Instana エージェントインスタンスを作成する
OperatorHub から Instana オペレータを開きます。
Instana エージェントタブを選択します。
インスタンスを作成をクリックしてください。
YAML ビューに切り替えて、以下の設定を入力してください:
apiVersion: instana.io/v1
kind: InstanaAgent
metadata:
name: instana-agent
namespace: instana-agent
spec:
agent:
configuration_yaml: |
# Optional: Add custom agent configurations here.
endpointHost: <your-host-endpoint>
endpointPort: '443'
env: {}
key: uBp4GXpZQpKrHxMXNcvInQ
zone:
name: GCP US # Considered auto-generated
cluster:
name: <your-cluster-name>
instana-agent) やインスタンス名 (instana-agent) は変更しないでください。Instana のsgentインスタンスが作成されると、名前 instana-agent 空間内で可視化されます。 セットアッププロセスには約4~5分かかります。
ステップ5. OpenShift コンソールからのインストールを検証する
デプロイ後、 Instanainstana-agent エージェントポッドがnamespace内で実行されていることを確認してください。
クラスタ内の各ノードは、1つの Instana エージェントポッドをホストします。 たとえば、2ノードのクラスターには2つのポッドが表示されます。
確認のため、以下のコマンドを実行してください:
$ oc get pods,ds -n instana-agent
$ oc describe ds instana-agent -n instana-agent
権限の問題によりポッドの起動に失敗した場合は、SCCポリシーを再適用してください:
$ oc adm policy add-scc-to-user privileged -z instana-agent -n instana-agent
次に、 DaemonSet を再起動してポッドを再構築します:
$ oc rollout restart ds instana-agent -n instana-agent
Instana エージェントと IBM APICの統合
Instana エージェントを Red Hat OpenShift 上の IBM APICと統合するには、以下の手順を完了してください:
ステップ1: Instana オペレータが OpenShift クラスタにインストールされていることを確認する
続行する前に、目的のネームスペースで Instana オペレータが正常に実行されていることを確認してください。 例:
- Instana オペレーター版: 2.1.25
- 名前空間:
<namespace name>
Instana オペレータは、 OperatorHub から、または OpenShift CLIを使用してインストールできます。
OperatorHub, からオペレータをインストールするには、 OpenShift の「エージェントのインストール」 を参照してください。
OpenShift CLIを使用してオペレーターをインストールするには、次の CatalogSource スクリプトを適用します:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: ibm-operator-catalog
namespace: openshift-marketplace
spec:
displayName: IBM Operator Catalog
image: 'icr.io/cpopen/ibm-operator-catalog:latest'
publisher: IBM
sourceType: grpc
updateStrategy:
registryPoll:
interval: 45m
ステップ2: APIC用の Instana エージェントを設定する
APIC用の Instana エージェントを設定するには、次の手順を完了してください:
- Instana UI の [メニュー ] > [エージェント展開 ] > OpenShift [ YAML ] から構成を取得します。
例ベース YAML :
apiVersion: instana.io/v1 kind: InstanaAgent metadata: name: instana-agent namespace: <namespace name> spec: zone: name: <zone name> # Optional cluster: name: <cluster name> agent: key: <instana-agent-key> downloadKey: <instana-download-key> endpointHost: <instana-endpoint-host> endpointPort: "443" env: INSTANA_LOG_LEVEL: DEBUG - この設定をDEBUG モードでデプロイし、接続性とトラブルシューティングログを検証してください。
ステップ3: オペレータの再インストール(破損している場合)
Instana オペレーターまたはカスタムリソース定義(CRD)が破損した場合、以下のコマンドを使用して再インストールしてください:
oc delete crd/agents.instana.io
ステップ4: APICとの接続性を検証する
Instana を設定する前に、以下の curl 例に示すコマンドを使用して APIC の接続性を確認してください。
以下の詳細が必要になる場合があります:
- APIC管理ホスト URL : APICオペレーターの設定から取得します。
- クライアントID とクライアントシークレット :APIC Cloud Managerからダウンロードしたファイル
credentials.jsonから取得してください。
領域を取得するには、次の検証コマンドを実行してください:
curl -k -X GET "https://<apic-host>/api/cloud/provider/identity-providers?fields=title%2Crealm" -H "Accept: application/yaml" -H "Accept-Language: en-US" -H "User-Agent: Toolkit/10.0.8.0" -H "X-Ibm-Client-Id: <client-id>" -H "X-Ibm-Client-Secret: <client-secret>"
ベアラートークンを取得するには、次の検証コマンドを実行してください:
curl -k https://<apic-host>/api/token -H "Content-Type: application/json" -H "accept: application/json" -d '{"username":"<username>", "password":"<password>", "realm":"<realm>",
"client_id":"<client-id>", "client_secret":"<client-secret>", "grant_type":"password"}'
ステップ5: APIC統合を Instana エージェントに追加する
APIC モニタリングを有効にするには、次の手順を完了してください:
- Instana
configuration.yamlエージェントファイルを次のように更新してください:spec: agent: configuration_yaml: |- com.instana.plugin.ibmapiconnect: remote: - host: '<apic-host>' port: '443' username: '<username>' password: '<password>' realm: '<realm>' clientId: '<client-id>' clientSecret: '<client-secret>' availabilityZone: 'API-Connect' poll_rate: <desired-poll-rate> - 以下のコマンドを実行して変更を適用してください:
oc apply -f instana-agent.yaml
APIC証明書の追加
APIC証明書を安全に追加するには、以下の手順を完了してください:
ステップ1: APIC証明書をダウンロードする
API Connect の SSL 証明書をローカルにダウンロードするには、次のコマンドを実行します:
mkdir temp
cd temp
echo | openssl s_client -connect <apic-host>:443 | openssl x509 > ~/temp/apic.cer
ls -ltr
# Should display apic.cer
ステップ2: 証明書を Instana エージェントポッドにアップロードする
指定されたネームスペース内のすべてのポッドを一覧表示するには、次のコマンドを実行します:
oc get pods -n <namespace name>
ダウンロードした証明書を Instana エージェントポッドにコピーするには、次のコマンドを実行します:
oc cp ./apic.cer <pod name>:/tmp/apic.cer -n <namespace name>
ステップ3: 証明書をキーストアにインポートする
Instana エージェントコンテナ内に証明書をインポートするには、次のコマンドを実行します:
oc exec -it <pod name> -n <namespace name> -- /opt/instana/agent/jvm/bin/keytool -import -alias tempcert -keystore /opt/instana/agent/jvm/lib/security/cacerts -storepass changeit -file /tmp/apic.cer -noprompt
キーストアを抽出するには、次のコマンドを実行します:
oc cp <pod name>:/opt/instana/agent/jvm/lib/security/cacerts /tmp/cacerts -n <namespace name>
ステップ4: 証明書用の Kubernetes シークレットを作成する
既存のシークレットを削除するには、次のコマンドを実行してください:
oc delete secret ibm-apic-ca-secret -n <namespace name> --force
更新されたキーストアを使用して秘密鍵を作成するには、次のコマンドを実行します:
oc create secret generic ibm-apic-ca-secret --from-file=cacerts=/tmp/cacerts -n <namespace name>
ステップ5: Instana エージェントポッドにシークレットをマウントする
秘密ボリュームをマウントするには、 Instana エージェントの設定を次のように更新します:
spec:
agent:
pod:
volumeMounts:
- name: apic-cert-volume
mountPath: /opt/instana/agent/jvm/lib/security/cacerts
subPath: cacerts
volumes:
- name: apic-cert-volume
secret:
secretName: ibm-apic-ca-secret
ステップ6: Instana エージェント ポッドを再起動する
変更を適用するには、次のコマンドを実行して Instana エージェントを再起動してください: DaemonSet
oc rollout restart -n <namespace name> ds instana-agent
ポッドが再起動し、 Running 状態に達することを確認してください。