この記事では、Azure Kubernetes Service (AKS) ハイブリッド クラスターに接続されているクラウド サービス ネットワーク (CSN) の一部であるインターネット ホスト名に到達するときに問題が発生するシナリオのトラブルシューティングについて説明します。
[前提条件]
- 次の情報を収集します。
- サブスクリプション ID
- クラスター名とリソース グループ
- AKS ハイブリッド クラスター名とリソース グループ
- AKS ハイブリッド クラスターへの接続の手順を理解します。
一般的なシナリオ
ジャンプ サーバーにログインしているとします。 ワーカー ノードまたはコントロール プレーン VM の IP アドレスを使用して、SSH を使用して AKS ハイブリッド仮想マシン (VM) にアクセスしました。 AKS ハイブリッド VM から、CSN を使用する AKS ハイブリッド VM を作成したときに取得したエグレス エンドポイントに到達することはできません。
インターネット ホスト名の完全修飾ドメイン名 (FQDN) にアクセスしようとすると、エラーが発生します。
curl -vk [http://www.ubuntu.com](http://www.ubuntu.com)
\* Trying 192.xxx.xxx.xxx:xx...
\* TCP_NODELAY set
\* Trying 2607:f8b0:xxxx:c17::xx:xx...
\* TCP_NODELAY set
\* Immediate connect fail for 2607:f8b0:xxxx:c17::xx: Network is
unreachable
\* Trying 2607:f8b0:xxxx:c17::xx:xx...
\* TCP_NODELAY set
\* Immediate connect fail for 2607:f8b0:xxxx:c17::xx: Network is
unreachable
\* Trying 2607:f8b0:xxxx:c17::xx:xx...
\* TCP_NODELAY set
\* Immediate connect fail for 2607:f8b0:xxxx:c17::xx: Network is
unreachable
\* Trying 2607:f8b0:xxxx:c17::93:xx...
推奨されるソリューション
最初の試行
回避策の最初の試行のコードを次に示します。
curl -x "http_proxy=http://169.xxx.x.xx.xxxx" -vk "https://ubuntu.com"
https_proxy=<http://169.xxx.x.xx.xxxx> tdnf -y install openssh-clients
出力を次に示します。
error:**
\* Could not resolve proxy: http_proxy=http
\* Closing connection 0
curl: (5) Could not resolve proxy: http_proxy=http
https_proxy=[http://169.xxx.x.xx.xxxx](http://169.xxx.x.xx.xxxx/) curl
-vk "https://ubuntu.com" shows connected but user get 403 Access denied.
2 回目の試行
別の試行の最初のオプションは、curl を使用してプロキシをインラインで設定することです。 コマンドが完了すると、設定は終了します。
curl -x "http://169.xxx.x.xx.xxxx" -vk "https://ubuntu.com"
次の 2 番目のオプションでは、ユーザーがシェルに残っている間、プロキシ設定が有効になります。
export https_proxy="http://169.xxx.x.xx.xxxx"
export HTTPS_PROXY="http://169.xxx.x.xx.xxxx"
curl -vk <https://ubuntu.com>
シェル スクリプトを使用して RPM パッケージのインストールを実行している場合は、シェル スクリプト内 https_proxy ローカルに明示的に設定してください。
--httpproxyオプションと--httpportオプションを使用して、RPM でプロキシをインラインでオプションとして設定することもできます。
RPM にはプロキシ フラグがあり、これを設定する必要があります。
sudo rpm --import <https://aglet.packages.cloudpassage.com/cloudpassage.packages.key>
--httpproxy 169.xxx.x.xx --httpport 3128
注
これらのフラグをシステム全体に設定すると、kubectl をローカルで実行できなくなる可能性があります。 効果を最小限に抑えるために、最初にスクリプト内でインラインで設定します。
詳細については、 プロキシの背後に RPM パッケージをインストールする方法に関する Xmodulo の記事を参照してください。
さらに不明な点がある場合は、サポート にお問い合わせください。 サポート プランの詳細については、Azure サポート プランに関するページを参照してください。