AKS 用 Azure Linux コンテナー ホストに関する一般的な問題のトラブルシューティング

この記事では、Azure Kubernetes Service (AKS) で Azure Linux コンテナー ホストを使用するときに発生する可能性がある一般的に報告される問題のトラブルシューティング手順について説明します。 AKS で Azure Linux コンテナー ホストの使用を開始する方法の詳細については、「AKS で Azure Linux を使用する」を参照してください。

はじめに

Kubernetes クラスターのトラブルシューティングに関する公式ガイドを参照してください。 また、 Kubernetes のトラブルシューティングに関する Microsoft エンジニアガイドも参照してください。 このガイドには、ポッド、ノード、クラスター、およびその他の機能をトラブルシューティングするためのコマンドが含まれています。

最後に、 Azure Linux の既知の制限事項の一覧を確認します。 解決しようとしている問題は、既に取り組んでいる問題である可能性があります。

前提条件

  • Azure CLI バージョン 2.31 以降。 Azure CLI が既にインストールされている場合は、 を実行 az --versionしてバージョン番号を確認できます。

AKS 用 Azure Linux コンテナー ホストについて

Azure Linux は、Microsoft が作成したオープンソースの Linux ディストリビューションです。 軽量 OS として、Azure Linux には次の機能があります。

  • コンテナー ワークロードの実行に必要なパッケージのみが含まれます
  • Azure 検証テストを受ける
  • Azure エージェントと互換性がある

AKS 用 Azure Linux Container Host は、コンテナー ワークロードの実行用に最適化された AKS 用のオペレーティング システム イメージです。 これは Microsoft によって管理され、Azure Linux に基づいています。 AKSAKS on Azure Stack HCI、および Azure Arc 製品全体で、クラウドからエッジまで信頼性と一貫性を提供します。 Azure Linux コンテナー ホストを使用して、次のプロセスを実行できます。

  • 新しいクラスターに Azure Linux ノード プールをデプロイします。
  • 既存の Ubuntu クラスターに Azure Linux ノード プールを追加します。
  • Ubuntu ノードを Azure Linux ノードに移行します。

Azure Linux の詳細については、 Azure Linux GitHub リポジトリに関するページを参照してください。

トラブルシューティング チェックリスト

手順 1: Ubuntu と Azure Linux で同等のコマンドを確認する

プロセス状態 (ps) コマンドなど、Azure Linux OS のほとんどのコマンドは、Ubuntu で使用されるコマンドに似ています。 ただし、パッケージ管理は Tiny DNF (tdnf) コマンドを使用して行われます。 次の表に、Ubuntu の一般的なコマンドと、Azure Linux での同等のコマンドを示します。

Ubuntu コマンド 推奨される Azure Linux コマンド
apt -- list installed rpm -qa
apt autoclean tdnf clean all
apt autoremove dnf autoremove
apt dist-upgrade dnf distro-sync
apt download tdnf download
apt install tdnf install
apt install --reinstall tdnf reinstall
apt list - upgradable dnf list updates
apt remove tdnf remove
apt search tdnf search
apt show tdnf list
apt upgrade tdnf upgrade
apt cache dump tdnf list available
apt-cache dumpavail tdnf list available
apt-cache policy tdnf list
apt-cache rdepends dnf repoquery -- alldeps - whatrequires
apt-cache search tdnf search
apt-cache show tdnf info
apt-cache stats (まったく同等ではない。/var/lib/rpm フォルダー内の Packages ファイルを読み取ります)
apt-config shell dnf shell
apt-file list dnf repoquery -l
apt-file search tdnf provides
apt-get autoremove dnf autoremove
apt-get install tdnf install
apt-get remove tdnf remove
apt-get update dnf clean expire-cache dnf check-update
apt-mark auto tdnf install dnf mark remove
apt-mark manual dnf mark install
apt-mark showmanual dnf history userinstalled

手順 2: Azure Linux のバージョンを確認する

正しいバージョンの Azure Linux を使用していることを確認します。 使用するためにサポートされている Azure Linux のバージョンは Azure Linux 2.0 です。 次の az aks nodepool list コマンドの出力では、 プロパティは osSKU を読み取 AzureLinuxる必要があります。

az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name>

このコマンドは、発生している問題には対処できない可能性がありますが、バージョン管理は、エージェントまたは拡張機能が Azure Linux で正しく動作していないと報告するユーザーにとって一般的な問題です。

手順 3: 証明書ファイル パスの違いを理解する

Azure Linux (およびその他の RPM ディストリビューション) では、Ubuntu とは異なる方法で証明書が格納されます。

Azure Linux では、 /etc/ssl/certs パスは /etc/pki/tls/certs へのシンボリック リンクです。 コンテナーが Azure Linux 上の ca-certificates.crt 証明書ファイルを使用するように /etc/ssl/certs をマップすることを想定している場合、コンテナーは代わりに、どこにも指さないシンボリック リンクを取得します。 この動作により、コンテナー内の証明書関連のエラーが発生します。 コンテナーがシンボリック リンク チェーンに従えるように、コンテナーは /etc/pki をマップする必要もあります。 コンテナーが Ubuntu と Azure Linux の両方のホストで動作する必要がある場合は、hostPath ボリュームの型をDirectoryOrCreate使用して /etc/pki をマップできます。

手順 4: Azure CLI と AKS プレビュー拡張機能を更新する

Azure CLI を使用して Azure Linux AKS クラスターをデプロイしようとすると、パラメーターに対してオプションがサポートされていないことを AzureLinux 示すエラー メッセージが OSSku 表示されることがあります。 このメッセージは、古いバージョンの Azure CLI または AKS プレビュー拡張機能を使用している可能性があることを意味します。 この問題を解決するには、次の 2 つのアクションのいずれかまたは両方を実行します。

  • Azure CLI が最新でない場合は、最新バージョンをインストールします。 Azure CLI をアップグレードするには、次の az upgrade コマンドを実行します。

    az upgrade
    
  • 以前のバージョンの拡張機能がaks-previewインストールされている場合は、パラメーターの値AzureLinuxが になるように、新しいバージョンをOSSkuインストールします。 拡張機能をアップグレードするには、次の az extension update コマンドを実行します。

    az extension update --name aks-preview
    

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

サードパーティのお問い合わせ窓口に関する免責事項

Microsoft では、このトピックに関する追加情報を見つけるのに役立つサード パーティの連絡先情報を提供しています。 将来予告なしに変更されることがあります。 Microsoft は、第三者の連絡先情報の正確性を保証しません。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。