次の方法で共有


AKS 用 Azure Linux Container Host の一般的な問題のトラブルシューティング

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

開始する前に

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 HCIAzure 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 (正確に同等の値はありません。 を読み取るpackages /var/lib/rpm フォルダー内のファイル)
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 で /etc/ssl/certs ca-certificates.crt 証明書ファイルを使用することを想定している場合、コンテナーは代わりにどこにも指さないシンボリック リンクを取得します。 この動作により、コンテナー内の証明書関連のエラーが発生します。 コンテナーは、シンボリック リンク チェーンに従うことができるように/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 拡張機能がインストールされている場合は、 OSSku パラメーターの値が AzureLinux になるように、新しいバージョンをインストールします。 拡張機能をアップグレードするには、次の az 拡張機能の更新 コマンドを実行します。

    az extension update --name aks-preview
    

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

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

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

サードパーティのお問い合わせ窓口に関する情報は、ユーザーの便宜のために提供されているものであり、 この連絡先情報は、予告なしに変更される可能性があります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。

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

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