Kubernetes 「ホストが見つかりません」が原因でコンテナーが起動しません

Kubernetes での Sametime 11.6 Premium ミーティングの『「ホストが見つかりません」が原因でコンテナーが起動しません』のトラブルシューティングについては、この情報を参照してください。

このタスクについて

Sametime 11.6 ミーティングをインストールした後、サーバーが正しく応答しません以下の症状が発生する可能性があります。
  • ミーティング・ルームを作成または保存できない
  • ミーティング・ルームのリストを取得できない
  • 録画に失敗する
  • ログインできません
  • ミーティング内でのグループ・チャットに障害が発生する
  • メディア・ストリームが機能しない
問題を調査するには、次のコマンドを使用します。
kubectl get po

これにより、実行中のプロセス (ポッド) のリストが表示されます。通常の作業環境では、ステータスが「実行中」のすべてのプロセスが表示されます。



このリスト内のプロセスの 1 つが「実行中」ではない場合、問題を示します。通常、上記の問題は MongoDB または Sametime プロキシに接続しているミーティング・サーバーの問題を示しています。これら 2 つの領域をさらに調査するには、プロセスの名前を「name」列にあるとおり使用します。ストレージ関連の問題 (ミーティング・ルームの作成/取得) については、カタログ・プロセスになります。以下のコマンドを実行して詳細を調べてください。
kubectl describe catalog
認証の問題については「auth」プロセスを調べてください。
kubectl logs <auth-name> 
例えば上記のスクリーン・ショットでは、auth プロセス名は auth-77fbc6cf67-vrf77 で、コマンドは次のようになります。
kubectl logs auth-77fbc6cf67-vrf77
記録については「recordings」プロセスを調べてください。
kubectl logs <recordings-name>
その他の Sametime プロキシ関連の問題については「Web」プロセスを調べてください。
kubectl logs <web-name>
メディアの問題については「video」プロセスを調べてください。
kubectl logs deploy/video

「ホストが見つかりません」に関するエラーが表示された場合、Kubernetes 環境では MongoDB サーバーまたはプロキシ・サーバーの解決が困難になります。

解決方法

DNS で MongoDB や Sametime プロキシのホスト名を一貫して解決できない場合は、これらのホスト名と IP アドレスを手動で構成に追加できます。Kubernetes では、これらのホスト名と IP アドレスをホスト別名に追加できます。この機能の詳細については、以下を参照してください。HostAliases を使用したポッド /etc/hosts へのエントリーの追加

「ホストが見つかりません」というエラー・メッセージを生成する各ポッドでは、ホスト別名を更新する必要があります。

テンプレートを変更して、組み込みたい今後の変更によってこれらのホスト別名が提供されるようにします。または実行中のインスタンスを変更して、変更が即時に有効になるようにできます。
注: 実行中のインスタンスを変更する場合、ポッドを再起動するとこれらの設定が失われる可能性があります。テンプレートを変更することをお勧めします。
  1. 以下の表を使用して、変更する必要があるテンプレートを判別してください。実行中のインスタンスを変更するコマンドも提供されます。
    1. 変更するテンプレート
    解決する名前 ポッド (Pod) テンプレート名 実行中のインスタンスを変更するコマンド。
    Sametime プロキシのホスト名 auth ポッドと Web ポッド

     helm/charts/web/templates/deployment.yaml

    helm/charts/auth/templates/deployment.yaml

    kubectl edit deploy web
    kubectl edit deploy auth
    MongoDB サーバーのホスト名 catalog helm/charts/catalog/templates/deployment.yaml
    kubectl edit deply catalog
    STUN サーバー・ホスト ビデオ helm/charts/video/templates/deployment.yaml
    kubectl edit deploy video
    記録リポジトリー・ホスト 記録 helm/charts/recordings/templates/deployment.yaml
    kubectl edit deploy recordings
  2. テンプレートを変更します。

    yaml ファイルに関する注意 - インデントを使用する場合はタブ・キーを使用し、インデントごとに 2 つのスペースを使用します。

    テキスト・エディター (vi など) でテンプレートを開きます。

    restartPolicy=Always という行を見つけて、新しい行を挿入します。

    以下のテキスト例を使用して、解決する必要があるホスト名を含めます。
    hostAliases:
        - hostnames:
          - "sametimeproxy.example.com"
          - "sametimeproxyalias.example.com"
          ip: "10.10.10.10"
        - hostnames:
          - "mongodb.example.com"
          ip: "10.10.10.11"

    「ホスト名」フィールドでは、サーバーを 1 つのホスト名としてのみ指定できます。必要に応じて、複数の別名を追加できます。

    テンプレートを保存する前に、インデントにスペースのみを使用して、インデントが正しいか確認してください。「hostAliases:」行は、同じインデント・レベルの「restartPolicy」行の下に正確に整列されるべきです。コピーして貼り付けた後に、他の行も修正する必要がある場合があります。視覚的には、次のように表示されます。



    注: テンプレートには余分なブランク行は含めないので、必ず除去してください。

    変更が完了したら、テンプレートを保存して閉じます。

    このプロセスは関係するテンプレートすべてについて完了する必要があります。

  3. 変更内容をサーバーに適用します。
    次のコマンドを実行します。
    helm uninstall sametime-meetings
    
    helm install sametime-meetings .
    注: 最後のドットはコマンドの一部です。