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 に基づいています。 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 |
(まったく同等ではない。/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 フィードバック コミュニティに製品フィードバックを送信することもできます。