zaki work log

作業ログやら生活ログやらなんやら

Kubernetes

[kubectl / oc] ネームスペースの作成と削除と切り替え (コマンドメモ)

kubectxを使わずkubectlで済ます方法。 namespaceを作る kubectl create dry-run マニフェストから namespace切り替え namespace削除 kubectl delete マニフェストから OpenShiftだと 作成 切り替え 削除 namespaceと違うとこ 環境 namespaceを作る kubectl …

[Ansible] playをまたいだ変数保持をdelegate_toとfact変数で行う (Ansibleでkubeadmのworkerノード追加)

task(1)の実行結果を保持してtask(2)の入力にする、であればregisterを使って可能だけど、play(A)の実行結果を保持してplay(B)の入力にするには、、、registerで保持できる変数のスコープはplay内(←この認識は誤り)で、環境変数なんかはAnsibleから更新する…

[kubectl / oc]コンテキストやクラスタ情報の確認 (コマンドメモ)

OpenShiftだとoc loginやoc project使ってあまり意識しないので簡単にまとめ。。 設定情報 $ kubectl config view apiVersion: v1 clusters: - cluster: certificate-authority-data: DATA+OMITTED server: https://k8s-master.esxi.jp-z.jp:6443 name: kube…

[kubernetes] トークン・証明書の失効後のkubeadmを使ったmasterノードの追加

masterノードをHA構成でクラスタデプロイしたときに使用した、以下のトークンがどちらも失効したあとに別のmasterノードをクラスタに追加したい場合。 [zaki@k8s-master01 ~]$ kubeadm token list TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS 1s127v…

[kubernetes] kubeadmを使ったmasterノードのHA構成クラスタ

kubeadm使ってmasterをHA構成にするには、kubeadm initのパラメタにLBを指定して構築する。 kubernetes.io 環境(使用バージョン)はkubeadm 1.18 [zaki@k8s-master01 ~]$ kubeadm version kubeadm version: &version.Info{Major:"1", Minor:"18", GitVersion:…

[kubernetes] kubeadmで構築した後トークン失効後にworkerノードを追加する

kubeadmでクラスタ構築するとworkerノード追加のためのコマンドが表示されて簡単にノード追加できるが、使用するtokenの期限が(デフォルトでは24時間で)切れてしまうため、同じ引数でkubeadm joinしてもこの通り、失敗する。 [zaki@k8s-worker03 ~]$ sudo ku…

[kubectl / oc] get eventなどの一覧表示を時系列で表示してみる(--sort-by)

大抵のオブジェクトには、作成されたタイミングで.metadata.creationTimestampという定義が付与されます。 これを、kubectl/ocの汎用オプションの--sort-byに指定することで、出力の表示順を作成日でソートできます。 使い勝手が良いのは、デフォルトでは時…

[Kubernetes] kubeadmを使ってCentOSへk8sクラスタをデプロイしてみた (firewalld有効版)

今回は(今回も)CentOS 7.7 1908 Minimalを素で入れて、公式ツールであるkubeadmを使ってKubernetesクラスタを作ってみた。 何だかんだで一度もやったことがなかった基礎… kubernetes.io kubernetes.io 追記2: masterを複数ノードにする場合は、kubeadm init…

[oc / kubectl] run --commandを使って何もしないpodや一定時間後に任意のリターンコードで終了するpodをデプロイ

tail -f /dev/nullやsleep,exitを使ってデバッグや動作確認用に。 run実行で作成されるworkloadsリソースについては以下も参照。 zaki-hmkc.hatenablog.com usage runningするだけで何もしないpod 60秒後に実行完了するpod 60秒後にエラーで完了するpod 任意…

oc runでPod単体デプロイするとoc adm drainで退避できないので注意 (作業ログ)

oc run --restart=NeverでPod単体で動作させると、oc adm drainでノードをサービスアウトさせようとしても、Podが退避されないのでその様子の実行ログ。 この記事の補足的な内容。 zaki-hmkc.hatenablog.com 環境 [zaki@okd4-manager ~]$ oc version Client …

[oc / kubectl] runでデプロイできるpodとその親リソースについて (廃止予定オプション--generatorの動作)

oc runを使ったPodのデプロイについて。 OpenShift v4では、oc runを使ってDeploymentConfigやDeploymentを作成するとDEPRECATEDの警告が表示さるようになった。(正確にはv4.1は触ったことないからわからない) k8sバージョン1.18で無くなる模様。 github.com…

[oc / kubectl] コマンドや引数の補完設定 【completion】

bashを使っているのであれば $ source <(oc completion bash) とか $ source <(kubectl completion bash) で。 OCP v3でmasterノードでばかり作業してると、たまにCRCとかクラスタ外部サーバで作業すると、「あれ?」となってしまうので備忘録。 なお、実行…

[kubectl / oc] custom-columnsを指定して欲しい情報だけリストアップする

custom-columnsの簡単な使い方について。 お題 OCP v4の場合 OCP v3の場合 jsonpath(参考) custom-columns 凡例 お題 例えばcluster-admin権限でログインしてる状態でoc get sccすると、、、 OCP v4の場合 $ oc get scc NAME AGE anyuid 54d hostaccess 54d …

[kubectl / oc] jsonpathフィルター芸

前の記事でjsonpathを使って特定のカラムのみをピックアップする指定について説明したけど、条件を指定するフィルターも使えます。 zaki-hmkc.hatenablog.com kubernetes.io 使用するのは?()という書式。 全体 例1 コンテナ名が"mysql"のpod名を出力 例2 sta…

CentOS 7.7 1908へ --vm-driver=none を使ってMinikubeをベアメタルインストールする

起動が早くて便利なので、Minikubeを入れているホストOSであるCentOSに(VMを作らずに)直接インストールする手順。 ちなみに以前はSELinuxをPermissiveにしたり、--extra-config=kubelet.cgroup-driver=systemdをオプション追加したり、libcgroup-toolsパッケ…

(k8s / openshift) リソースにlabelを後から設定する

labelは後から付与することもできる。 zaki-hmkc.hatenablog.com podに直接 追加する 更新する 削除する deploymentなど podに直接設定した場合、deleteすると じゃあdeploymentに設定すると Workloads以外のリソース podに直接 基本はこんな感じ [zaki@mini…

ラベルとjsonpathを使ったkubectl/ocの出力のフィルタリング

grepやawkが便利なのでそれ使うのもいいけど… ラベル ラベル一覧を表示する 指定ラベルを出力カラムの一つとして表示する 指定ラベルを持つリソース(今回はpod)のみ表示する jsonpath 特定リソースの指定項目を表示 podのIPアドレスとデプロイしているノード…

k8sやOpenShiftのマニフェストをJSONで書く

qiita.com (ちょっと間が空きましたが)Kubernetes3 Advent Calendar 2019の13日目の記事を(ちょうど13日の金曜日だったので)Qiitaにアップしてました。 元ネタは id:akira6592 さんのAnsibleのPlaybookはJSONで書ける、という記事から。 tekunabe.hatenablog…

tcpSocketを使ったヘルスチェックとpodのビルド&デプロイについて

という内容でKubernetes2 Advent Calendar 2019の11日目の記事としてアップしました。 qiita.com ヘルスチェックと使ったスクリプトについてさらっと書く予定だったのですが、podのビルドとデプロイそういえばあまり慣れてなかったので、おまけコンテンツの…