はじめに
Kubernetesのトラブルシューティングを行うことができるk8sGPTを試してみる。
環境
- Ubuntu20.04.6
構築と確認
OpenAPIのキーの取得
k8sGPTの使用にはOpenAPIのキーが必要である。
www.value-domain.com を参考にOpenAPIのキーを取得する。
構築と確認
github.com を参考に構築と確認を行う。
$ curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.26/k8sgpt_amd64.deb $ sudo dpkg -i k8sgpt_amd64.deb $ k8sgpt generate Please open: https://beta.openai.com/account/api-keys to generate a key for openai Please copy the generated key and run `k8sgpt auth add` to add it to your config file exec: "xdg-open": executable file not found in $PATH ubuntu@5gran-5gc:~/k8sgpt$ k8sgpt generate Please open: https://beta.openai.com/account/api-keys to generate a key for openai Please copy the generated key and run `k8sgpt auth add` to add it to your config file exec: "xdg-open": executable file not found in $PATH # キーの入力 $ k8sgpt auth add Warning: backend input is empty, will use the default value: openai Warning: model input is empty, will use the default value: gpt-3.5-turbo Enter openai Key: openai added to the AI backend provider list
次に、k8sGPTの動作を確認する。
www.creationline.com を参考に確認してみる
$ cat privileged.yaml apiVersion: v1 kind: Namespace metadata: name: k8sgpt-test labels: pod-security.kubernetes.io/enforce: baseline --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: privileged name: privileged namespace: k8sgpt-test spec: selector: matchLabels: app: privileged template: metadata: labels: app: privileged spec: containers: - image: nginx name: nginx securityContext: privileged: true $ kubectl apply -f privileged.yaml # 確認 $ k8sgpt analyze --explain AI Provider: AI not used; --explain not set 0 k8sgpt-test/privileged() - Error: Deployment k8sgpt-test/privileged has 1 replicas but 0 are available 1 k8sgpt-test/privileged-7f68864945(Deployment/privileged) - Error: pods "privileged-7f68864945-wp4mj" is forbidden: violates PodSecurity "baseline:latest": privileged (container "nginx" must not set securityContext.privileged=true)
問題を検出することができた。
問題を解決すると以下のような出力になる。
$ k8sgpt analyze --explain AI Provider: openai No problems detected