kubestronautへの道 ~CKAD編 その8~

tech article

本記事の内容

今回はKiller Shellを実施した際に気になったところをメモしていきたいと思います。

Killer Shell

Killer Shellというのは、CKA, CKAD, CKS試験を購入すると使用できる試験シミュレータ(模試)
です。
実際の試験よりもかなり難しく、問題量も多くて、時間内に解ききることはほぼ不可能だと思います。

そのため、Killer Shellで合格点に達していなくても全く気にする必要はありません。
ただ、Killer Shellの内容をきちんと理解できていれば合格は目の前です。
試験環境もほぼ本番と同じで、貴重な試験対策リソースです。

一度シミュレータを起動すると36時間は自由に使うことが出来ます。
一回の試験購入につき、シミュレータを起動する権利が2回分与えられます。

勉強記

Q4

  • helmにもnemespaceが存在する
  • helm install でレプリカを2にする方法
    • helm show values bitnami/apacheで修正できる値を確認する
    • replicaCount: 1が見つかるので、helm -n mercury install internal-issue-report-apache bitnami/apache –set replicaCount=2とする
    • helm listはそのままだとpending-install状態のインストールは出てこないので、-aオプションをつける

Q8

  • grepで前後n行確認する方法
    • grep -<num>
    • 例えば、grep -10で、前後10行が確認できる
  • k rollout undo <resource> <resource name>
    • k rollout undo deploy nginxとかで、直前のリビジョンにロールバックできる

Q10

  • podからsvcへの疎通の仕方
    • defaultでないnamespaceに存在する場合は、svcの名前の後に.<namespace>をつける
    • — curl http://project-plt-6cc-svc.pluto:3333

Q11

  • docker
    • docker build -t <name>:<tag>で名前(タグ)をつける。複数付けることもできる。その場合、-tオプションを二回使うことになる
    • 最後にDockerfileの配置ディレクトリ(カレントディレクトリなら.)をつける
  • podman
    • dockerコマンドとほぼ同じ
    • podman run -d –name sun-cipher registry.killer.sh:5000/sun-cipher:v1-podman
    • -dはデタッチの意味で、バックグラウンドでコンテナが動く
    • podman psでpodmanで動いてるコンテナがリストされる
    • podman logs <podman name>でログを出力する

Q12

  • podにsecretマウント
Secret
Secretとは、パスワードやトークン、キーなどの少量の機密データを含むオブジェクトのことです。 このような情報は、Secretを用いないとPodの定義やコンテナイメージに直接記載することになってしまうかもしれません。 Secretを使用すれば、アプリケーションコードに機密データを含める必要がなくなります。 なぜなら、...
Secret
Secretとは、パスワードやトークン、キーなどの少量の機密データを含むオブジェクトのことです。 このような情報は、Secretを用いないとPodの定義やコンテナイメージに直接記載することになってしまうかもしれません。 Secretを使用すれば、アプリケーションコードに機密データを含める必要がなくなります。 なぜなら、...
  • secretを用いた環境変数の設定方法
    • secretKeyRefはnameにsecretの名前、keyにキーの名前
    • 環境変数として設定するだけならマウントは不要
# /opt/course/14/secret-handler-new.yaml
apiVersion: v1
kind: Pod
metadata:
  name: secret-handler
  namespace: moon
spec:            
  containers:
  - name: secret-handler
    image: bash:5.0.11
    env:
    - name: SECRET1_USER              
      valueFrom:                      
        secretKeyRef:                 
          name: secret1               
          key: user                               

Q16

  • k8sにおけるsidecar contasinerはrestartPolicy: Alwaysに設定されているinitContainersのこと
サイドカーコンテナ
FEATURE STATE: Kubernetes v1.29 サイドカーコンテナは、メインのアプリケーションコンテナと同じPod内で実行されるセカンダリーコンテナです。 これらのコンテナは、主要なアプリケーションコードを直接変更することなく、ロギング、モニタリング、セキュリティ、データの同期などの追加サービスや機能を...
  • メインコンテナとおなじボリュームの同じパスにtail -fでログを書き出すことでk logs -cでそのコンテナのログも見られるようになる?ちょっとよくわからない

Q17

  • なんで/tmp/web-contentにindex.htmlをおけばよいことになっている?実はどこかで設定している?

Q20

  • podのマニフェストファイルのspec.serviceAccountNameを設定することで、特定のSAがpodを管理するように設定できる

Q22

  • k lebal pod -l “key=value” <key=value>で、特定のラベルが存在するpodに対して <key=value>となるラベルを設定できる
  • k annotate pod <pod name>でアノテーションを設定できる
    • labelよりながいやつってイメージ?ほぼラベルと同じだが、valueがstrig扱いとなっていて、コマンドで設定するときはvalueを””でくくる

2週目

Q4

  • helm show values <chart>で変数探す
  • installのときに–setオプションで変数を上書きできる
    • ➜ helm -n mercury install internal-issue-report-apache bitnami/apache –set replicaCount=2

Q5

  • secretのtokenについて。get -o yamlで取得するときはエンコードされているが、describeで取得するときはエンコードされていない

Q15

  • secretについて、–from-fileで中身を指定したとき、dara配下のフィールドは参照したファイルの名前になるっぽい。ここはeditですんなり編集できる。

Q17

  • echoの後は””で括る必要あり

Q22

  • k labelで変更されたpodはlabeledというログが出力される。逆に、ログが出力されなければラベル付けされていないということになる。
タイトルとURLをコピーしました