# FAQ(よくあるご質問)
よくあるご質問に関しては以下を参考にしてください。
# 1. ApiFront環境のみの作成はできますか
詳細
ApiFront環境のみの作成は推奨しておりません。Qmonus SDK Labを用いSDK環境とApiFront環境を構築しているため、Qmonus SDK Lab の構築をお願いしております。
# 2. GitHub連携モードとはなんですか
詳細
git hubと連携することでlab上での編集をgit hubに反映するなどが可能となります。詳細については以下のリンクを参照してください。参考:Qmonus SDK マニュアル »ワークスペース
# 3. APIフロントを含めた環境のデプロイに時間がかかります
詳細
デプロイの際、SPAをビルド設定を入れていることにより時間が掛かってしまう場合がございます。(初期設定の場合は当てはまりません。)この場合、SPAのファイルをソースディレクトリ配下の/distに配置することでデプロイの速度が改善される可能性があります。
# 4. リポジトリ設定を変更したい
詳細
誤った設定で作成してしまった場合は、お手数ですが画面中央の[+]アイコンから新しく設定を作り直し、使用しない設定を[×]で消していただくようお願いいたします。
アップデートによりリポジトリ設定は変更できる仕様になりました。
# 5. サービスアカウントの確認方法を教えてください
詳細
サービスアカウント確認方法作成されたサービスアカウントは、以下のURLから該当のプロジェクトを選択することで確認することができる一覧、またはコマンドによって確認することができます。
gcloud container clusters describe {CLUSTERNAME} --region {REGION} --project {PROJECT_ID} | grep serviceAccount
アカウントの判別例
ユーザーが作成したサービスアカウントは、以下のフォーマットに従っているかどうかで判別することが可能です。
hogefuga@${PROJECT_ID}.iam.gserviceaccount.com
ComputeEngineデフォルトサービスアカウント
${PROJECT_NUMBER}-compute@developer.gserviceaccount.com
# 6. 自動作成されたNamespace( qmonus-lab-env-*** )がどの開発環境に紐付いているかがわからない
詳細
開発環境の CloudService が ClusterPool の場合、 Namespace は「 qmonus-lab-env-{environmentId} 」として作成されます。{environmentId} は開発環境の名前の上部に表示される固有ID です。こちらと照らし合わせることで判別することができます。
また、Qmonus SDK Lab v22.9R1(2022/09/08 リリース)以降に環境作成/更新した環境の場合は、以下のコマンドを使用することで Namespace 名と開発環境名を同時に確認することも可能です。
確認コマンド例:
kubectl get ns -o "custom-columns=Name:.metadata.name,EnvironmentName:.metadata.annotations.qmonus/environmentName"
# 7. 残っているPodを削除したい
詳細
以下の手順を実行してください。GUI(Google Cloud コンソール)での削除方法
該当のPodをクリックし、上部の「削除」を選択することで削除することが可能となります。
該当するPodの名前を選択します。
右上にある削除を選択し、削除確認で「削除」を選択します。
CUIでの削除方法
kubectlを実行できる環境にて以下をお試しください。
kubectl delete pod <該当のPodのName> -n <該当のネームスペースID>
コマンド例
kubectl delete pod scenario -n qmonus-lab-env-1a2b3c4d
削除エラーの場合
CUIでの削除方法
kubectlを実行できる環境にて以下を試してください。
kubectl delete pod <該当のPodのName> -n <該当のネームスペースID>
このコマンドにてエラーが出る場合はそのエラーに応じた対応をお願いします。
kubectlによるPod情報取得方法
kubectl describe pod <該当のPodのName> -n <該当のネームスペースID>
このコマンドにてエラーなど状態を確認できます。
kubectlによるPod強制削除(PodがTerminatingのまま削除が完了しない場合)
kubectl delete pod <該当のPodのName> -n <該当のネームスペースID> --grace-period=0 --force
PodがTerminatingのまま削除が完了しない場合にこのコマンドによりPodを強制削除が可能です。
上記、もしくはGoogle Cloud コンソールにて該当のPodを押下して詳細表示画面にてエラーが出ていないか、クラスタ自体のリソース枯渇などの問題がないかなどをご確認ください。
GUI(Google Cloud コンソール)での強制削除
KUBECTLからDeleteを押した後に表示されるCloudShellのコマンドに「--grace-period=0 --force」を加えることでも同様に強制削除を行うことができます。
# 8. NTT Communicationsの提供しているKUJIRA環境を利用する際の注意事項
詳細
1. クラウドサービス設定について
クラウドサービス設定を新しく追加する場合、「Annotations」に以下を追加する必要がありますのでご注意ください。
{
"sre-manifest-policy.tamac-io/ignore-validation": "true"
}
2
3
2. KUJIRA環境にてNFS > type: internalを利用した場合に不定期で動作不良が発生する場合があります。※
KUJIRA環境を利用される場合は、KUJIRAのFilestoreを申請しQmonus開発環境作成の際はNFS > type: externalを選択してください。
FilestoreのインスタンスはQmonus開発環境で共有可能 (開発コードやログが混ざることはありません) なため、Filestoreは1インスタンスのみ申請するようにご協力いただければと思います。
※ labsharedを利用した環境に関してはこの問題は確認されていませんが、同様の事象が発生する可能性があります
# 9. super-api-keyを変更したい
詳細
環境作成(または環境更新)の際にSecretとして環境に指定してすることにより、任意の文字列に変更することができます。
"secrets": [
{
"rid": "super-api-key (任意)",
"type": "generic",
"mountType": "env",
"mountProducts": [
"Qmonus-SDK",
"Qmonus-Portal",
"Qmonus-ApiFront",
"Qmonus-FrontTester",
"Qmonus-NetFaker",
"Qmonus-Exam",
],
"data": [
{
"name": "QMONUS_ENV_API_KEY",
"alias": "QMONUS_ENV_API_KEY",
"data": "固定したい任意のSuperApiKeyを入力"
}
]
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 10. routingsディレクトリ/設定ファイルが作成されない
詳細
github連携モードでない場合、ローカルディスクモードで起動されており、この場合routingsディレクトリ/設定ファイルが作成されない仕様となっております。ご利用の端末等から直接routingsディレクトリの作成およびyamlファイルのpush実施をしてください。 参考: Qmonus SDK マニュアル »ワークスペース
github連携モードをご利用いただくことでQmonus SDKからpushが可能です。
TIP
Qmonus PortalのGUIからrougingsをダウンロードすることが可能です。
# 11. リポジトリサービス設定におけるtokenと開発環境作成/更新におけるgithubAccessTokenの違いを教えてください
詳細
事前に登録が必要となるリポジトリサービス設定は、プロジェクト内にある複数の環境で使用することを想定しております。共通で使用することとなるため、tokenはマシンユーザのtokenの登録を推奨しております。→ リポジトリサービス設定におけるSecretの設定
これに対し、各環境に設定するgithubAccessTokenは設定したそれぞれの環境で使用されます。
設定することでGitHub連携モードの環境が作成されますが、この環境でのGit操作はgithubAccessTokenに紐づいたアカウントにより行われます。そのため、個人アカウントの情報を記載いただくことを推奨しております。
※githubAccessTokenに限らず、リポジトリ登録画面のconfigs(以下のTip参考)についても個人アカウントの情報を記載いただくことを推奨しております。
→ GitHub連携
configs
各環境でのリポジトリ登録画面のconfigsとなります。
/var/plugins配下にgit cloneされるリポジトリのgit config user.nameおよびgit config user.emailを指定できます。
# 12. プロジェクトの名前は変更できますか
# 13. GitHub連携モードを解除したい
詳細
環境の詳細更新画面より、githubAccessTokenを空白のまま更新することでGitHub連携モードを解除することができます。詳細手順は以下を参考にしてください。
GitHub連携モードを解除する
# 14. 環境操作ログをダウンロードする方法を教えてください
詳細
Qmonus SDK Labの左のメニューから[操作履歴]を選択いただき、該当の操作履歴の詳細から環境操作ログをダウンロードすることができます。詳細手順は以下を参考にしてください。
操作履歴の閲覧・ログの取得
GCP ログエクスプローラーでの取得
Lab経由ではなく、GCP ログエクスプローラーで取得することも可能となります。
クエリは以下を参照してください。 (environmentIdとtimestampは用途に合わせて指定してください。)
resource.type="k8s_container"
resource.labels.namespace_name="qmonus-lab-env-{environmentId}"
timestamp>"2023-03-15T00:00:00Z"
severity>=DEFAULT
2
3
4
# 15. 作成した開発環境内でアカウントに権限を設定しても元に戻ってしまう
詳細
Qmonus SDK Labのアカウントと同じアカウントを開発環境で編集した場合、次回ログイン時にQmonus SDK Labの情報に上書きされる仕様となっております。本事象を回避するには以下の対応を行ってください。
- 開発環境における開発ではQmonus SDK Labアカウントとは別名のアカウントを利用する
- 開発環境にはAuth0認証を使ってログインする
ログイン仕様詳細
Qmonus認証 でのログイン
- Qmonus SDK Labのアカウント認証を行い、開発環境にログイン
- Qmonus SDK Labのアカウントが開発環境に存在しない場合、自動で作成する
- Qmonus SDK Labのアカウントと同名でその他の情報が異なる場合、上書きする
Auth0認証 でのログイン
- Auth0の認証を使って開発環境にログイン
- Auth0のアカウントが開発環境に存在しない場合、ログインが失敗する
# 16. scenarioのインポート方法を教えてください
詳細
以下の画像のアイコンを選択し、シナリオ画面に移ります
シナリオ一覧の右上にある三本線のアイコンを選択し表示されたメニューから「Import Scenario」を選択してください。
表示された画面でImportしたいファイルを選択するとImportすることができます。
# 17. 画面に 「200」 と大きく表示されてログインができない
詳細
ログイン後に以下の画面が表示されてしまった場合、アカウントの有効期限が切れてしまっている可能性があります。
切れてしまった期限を延長するには lab_admin(プロジェクト管理者)の権限を持つユーザの操作が必要になります。
lab_admin 権限を持った方に以下の手順を実行いただくようご依頼ください。
→ アカウント期限の延長方法 ( lab_admin )
# 18. SSLポリシーの設定がwebサイト上に反映されない
詳細
前の環境状態やsslpolicy名の設定によっては、誤ったsslpolicy名が設定されているにも関わらず、正常に環境更新が完了してしまう場合があります。
本事象が発生した場合、GCP上に作成したSSLポリシー名とLab上で設定したSSLポリシーの名前が一致していることをご確認いただき、再度環境の更新をお願いします。
設定状況確認方法
GCPコンソール上からGKE > ワークロードで該当のIngressの設定を確認
Ingressの設定の中からロードバランサを選択
LoadBalancerの設定からSSLポリシーの設定を確認し、意図した設定になっているかを確認可能