この記事では、Sitecore Managed Cloud Containersのさまざまなシナリオをトラブルシューティングするための手順を記載しています。
多くの場合、Azure Kubernetesクラスタにアクセスする必要があります。クラスタに接続するには、Kubernetes用のコマンドラインツールであるkubectlを通じてクラスタと直接やりとりできるコマンド ライン ツールを使用します。kubectlはデフォルトでAzure Cloud Shell内で使用でき、ローカルにインストールすることもできます。
Azure CLI がインストールされているかどうかを確認するには、次のコマンドを実行してください。
az –version
kubectl を検証するには、次のコマンドを実行します。
kubectl version --client
エラーが出力された場合は、Azure CLI または kubectl がシステムにインストールされていないことを意味します。
必要に応じて、以下のリンクからAzure CLIまたはkubectlをダウンロードしてインストールしてください。
註:コマンドライン シェルからのインストール後に kubectl が機能せず、常に kubectl フォルダーに移動する必要がある場合は、次のパス変数にkubectl.exeフォルダーの場所を追加することが可能です。
Advanced System Settings -> Advanced -> Environment Variables -> Path
例えば、C:\kubeにファイルを保存した場合、このフォルダパスをpath変数に追加してください。
Advanced System Settings -> Advanced -> Environment Variables -> C:\kube
インストールと前提条件の確認が終わったら、以下のコマンドを実行してクラスタに接続します。
az login
az account set --subscription <Subscription-Id>
az aks get-credentials --resource-group <Resource-group-name> --name "Aks-name"*
// *AKS name is: name of your resource group + "aks".
// In most cases, the <Aks-Name> is created using the pattern: <Resource-group-name>aks
az account set --subscription <Subscription-Id>
az aks get-credentials --resource-group <myResourceGroup> --name <myResourceGroup>aks
注:角括弧内の値は、必要な値に置き換えてください。例:
az account set --subscription 525fsdf-4124-gsdg2-5fg412
az aks get-credentials --resource-group mcc5rgd325dkfkf45 --name mcc5rgd325dkfkf45aks
PowerShellのkubectlオートコンプリートの設定
PowerShell向けのkubectlのオートコンプリート機能を設定するには、PowerShellのプロンプトで以下の行を実行します。
kubectl completion powershell >> $PROFILE
シェルを再読み込みすると、kubectlのオートコンプリート機能が動作するようになります。
問題を調査するには、以下のオプションをお試しください。
Grafanaへのアクセス方法の詳細については、以下の記事を参照してください。
https://doc.sitecore.com/xp/en/developers/101/managed-cloud/getting-started-with-managed-cloud-premium.html#access-grafana_body
Prometheusへのアクセス方法
Prometheusへアクセスするには、以下を実施してください。
kubectl port-forward prometheus-prometheus-servicemonitors-0 -n=monitoring 9090:9090
http://localhost:9090/graph
Kibana KibanaでElastic Cloudにアクセスする方法
Kibanaへのアクセス方法については、以下の記事を参照してください。
https://doc.sitecore.com/xp/en/developers/102/managed-cloud/getting-started-with-managed-cloud-standard.html#access-kibana_body
SearchStax Solrインスタンスへのアクセス方法については、以下の記事を参照してください。
https://doc.sitecore.com/xp/en/developers/101/managed-cloud/getting-started-with-managed-cloud-premium.html#access-searchstax-solr-instance_body
Sitecoreポッドに接続するには、次のコマンドを実行してください。
kubectl exec -it "pod_name" -n "namespace" -- powershell kubectl exec -it cd-c9bcbb668-8gs74 -n sitecore -- powershell
注:ポッドに接続しようとしたときに次のエラーが発生した場合、昇格された権限でget credentialsコマンドを実行し、IAM(Identity and Access Management)のDevOpsグループに所属していることを確認してください。
Error from server (Forbidden): pods "prc-75786fd57c-gz6s2" is forbidden: User "test-user@sitecore.net" cannot create resource "pods/exec" in API group "" in the namespace "sitecore""
get credentialsコマンドの例は次の通りです。
az aks get-credentials --resource-group myResourceGroup --name myResourceGroupaks --admin
DevOps グループのメンバーとなるには、サービス リクエストを作成してください。 マネージド クラウドのセキュリティ ロールの詳細については、こちらを参照してください。
ポッドからローカル システムにファイルまたはフォルダーをコピーする方法
Sitecoreポッドに接続すると、C:\inetpub\wwwrootに入ります。 これは、ポッド内のデフォルトの作業ディレクトリです。コピー操作でもデフォルトで使用されます。
例:
kubectl cp "namespace"/"pod_name":"file_src" "file_dest" kubectl cp sitecore/cd-c9bcbb668-8gs74:Web.config web.config
上記のコマンド例は、C:\inetpub\wwwrootフォルダーに存在するWeb.configファイルを、新しい名前「web.config」で、貴社のローカルの作業ディレクトリ(Get-Locationまたはpwd)にコピーするものです。
ポッドの削除、デプロイの変更、またはローカル ポートをポッド上のポートに転送するには、DevOpsロールと昇格されている権限が必要です。
注: |
AKSポッドの制限を調整する場合など、何らかの操作を本番クラスタに直接実行する必要がある場合は、Infrastructure as Code(IAC)アプローチに従うことが必要です。 本番クラスタに対して直接削除や修正の操作を実行することは推奨されません。 Managed Cloud Containerソリューションのスケーリング、サイジング、およびチューニングの詳細については、Managed Cloud を設定するの記事を参照してください。貴社のManaged Cloud ContainerソリューションにIACアプローチに従うことができない場合は、サービス リクエストを作成してください。 |