LoginSignup
3
1

CKA対策vol.3です。

バックナンバーはこちら

設定ファイルに問題がある場合

  • kubectl cluster-info --kubeconfig=/path/to/the/fileというコマンドを打つと指定したkubeconfigファイルに基づいて選択されたクラスターの情報が出力される。あとはその内容を是正していく。

「すべてのノードのExternal IPのリストを表示します」を深堀する

kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="ExternalIP")].address}'が何をしているのかを詳しく見る。

  • .items[*]
    • kubectlが返すJSONオブジェクトのitems配列を表す。
    • ワイルドカード*はその配列内の全ての要素を指す。items[]配下の全ての.status.addresses[?(@.type=="ExternalIP")].addressが出力される。
  • [?(@.type=="ExternalIP")]
    • フィルタ演算子?は条件に一致する要素だけを抜き出す。
    • 現在の要素(ちゃんとした呼び名がわからなかった)@は配列内の現在の要素を表す。
    • type=="ExternalIP"その中からtypeがExternalIPのものを抜き出す。

TaintとTolerations

  • kubectl taint node <nodeName> <key>=<value>:<effect>でnodeにtaintを付与する。
  • Tolerationsはpodに付与する。spec.tolerationsに設定をする。operator: "Exists"の場合は、value: "value1"は不要。
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    env: test
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
  tolerations:
  - key: "example-key"
   value: "value1"
    operator: "Equal"
    effect: "NoSchedule"

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1