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 に基づいています。 AKS、AKS 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 |
(正確に同等の値はありません。 を読み取る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 フィードバック コミュニティに製品フィードバックを送信することもできます。