Kubernetes
kubectlコマンドって$HOME/.kube/configファイルか、--kubeconfigかKUBECONFIG環境変数に指定したファイルの接続情報を見て実行するものと思ってたので、「podの中からkubectlコマンドを実行したいときはsecretとか経由でkubeconfigファイルを注入する必要が…
本来であればマニフェストファイルを更新してkubectl applyの替わりにkubectl diffを実行すれば、リソースの変更箇所をunified diff形式で確認できる。 しかし、いろいろな事情でマニフェストファイルを管理できておらず、リソースの変更をkubectl patchでバ…
先日AWXデプロイ時にkube-rbac-proxyのpullエラーが発生して代替としてquay.io/brancz/kube-rbac-proxyを使用するよう修正したが、これがそもそも何をやっているのか、という話。 github.com 最新のdevel版で使われていないので、将来はこの機能がなくなるの…
ここ最近Keycloakは初めての利用だったため、以下のGetting startedのKubernetesのページに載っているデプロイ方法で用意されているマニフェストをあまり細かく見ずに使用していたが、詳しく(?)確認してみた。 www.keycloak.org よくよく見るとちょっと不思…
Keycloakでいろいろ認証してみるシリーズ第4弾 今回はNetBox。ログイン時にユーザー名・パスワードでなく、Keycloakを使って認証してみよう、というもの。 環境は以下の通り NetBox Community v4.5.3-Docker-4.0.1 / インストールは公式Helmチャート netbox-…
※ 2/21追記: 本記事は初のKeycloak構築・設定だったためなんとなくReal名を vault としたが、「ローカル環境のSSO管理」を目的としてlab-ssoとかの方が良さそう。それならVault以外のシステム(AWXとか)の認証を管理しても自然だからね。 VaultのGitLab認証編…
業務でAuth0を使った構成はさわったけど同じことを検証するとパクリ業務情報の持ち出しと思われそうだったのと、VaultでサポートされているOIDCプロバイダリストを眺めているとローカル環境でも使ってるGitLabがあったのでお試し。 設定に使うのは以下のJWT/…
Docker Compose版k3sについては以下 zaki-hmkc.hatenablog.com タイトル通りの操作を行うと後処理が必要になるため、情報整理してみた。 なお、上記の記事を書いた当時と比較してagentノード用のボリュームも定義される修正がcomposeファイルに追加されてい…
教訓として、k3sのHelmChartを使って標準でインストールされるコンポーネントをHelmChartConfigで設定上書きする場合、特段の事情がない限りはイメージバージョンをカスタムしないのが吉。 k3sをv1.30から(1.31, 1.32を経て)1.33までアップグレードしたとこ…
デプロイ済みリソースのアノテーションを編集する必要があって操作方法を調べてみたけど、ラベルの編集と全く同じだった。 ラベルの編集は5年前に一度エントリ作っていたので、アノテーションについてもとりあえずメモ。 before $ kubectl describe -n loggi…
知ってれば何てことないんだけどプチはまりで時間をだいぶ溶かしてしまったので備忘録。 というか.dockerconfigjsonであれば以下の通り。 kubectl get secret ecr-credential -o jsonpath='{.data.\.dockerconfigjson}' | base64 -d ドットを含むキー名に含…
検証用などでリモートにSSHサーバーが必要な際に、linuxserver/openssh-server のコンテナを使うと簡単に準備できる。 github.com 認証情報やrootへの昇格設定をすべて環境変数でセットできるためアクセス方法の自由度が高いのが特徴。たぶん。 ベースはAlpi…
以前まとめた以下の「[AWX / AAP] ジョブの実行をリモートのKubernetesクラスタで行う」内容はwebのUIで手動で設定するものだったが、本記事ではこの設定操作をplaybookで自動化する方法についてのメモ。 zaki-hmkc.hatenablog.com 大きな流れとしては以下の…
zaki-hmkc.hatenablog.com 昨年末にHelm版の存在に気づいて試したときはリポジトリを追加する手順がなくいきなりhelm installを実行する方式だったけど、改めて公式サイトを見てみるとリポジトリのURLなど一般的なHelmチャートインストールと同じ内容になっ…
Prometheus Adapterの設定にPrometheusサーバー本体のアドレスを設定する箇所があったのは覚えてたので、ここにリモートで動作するサーバーを指定すれば、クラスター内にPrometheus本体や溜めたデータのストレージを持つ必要がなくなるはずと見込んで、ラズ…
結論としては、構築済みK3sの場合でも他の設定変更と同様に起動オプションに設定してサービス再起動すればOK --disableを追加すれば削除され、削除フラグを除外すれば再デプロイされる。 K3sのインストールオプションで以下のコンポーネントは--disableに指…
K3sインストールで標準でついてくるTraefik Ingress Controllerは、デプロイしたPodへ簡単にHTTPSアクセスを実現できるので大変便利です。 デフォルトではダミーの証明書が使われるので、プライベート環境などであれば証明書エラーを無視して運用するという…
ドキュメント通りなので特に問題ないけどメモとして残してなかったので一応。 docs.k3s.io 概要 スクリプト再実行によるアップグレード 実行ファイル入れ替えによるアップグレード 概要 ポイントは「インストールした時と同一のオプションで」再度インストー…
2025.05.05:チャートのリポジトリが追加された件について&K3sのHelmChart使用について追加記事作成 zaki-hmkc.hatenablog.com 2025.02.06追記:チャートのリポジトリ追加について追記 しばらくキャッチアップしてなかったNetBox、職場のチームの周りでNetB…
K3sのインストール時にコマンドラインオプションや環境変数でパラメタをいろいろ設定できるが、数が多くなると見通しが悪くなりメンテ性も落ちる。 そんな時は設定ファイルにパラメタを指定すれば管理しやすい。 設定のコメントも書ける docs.k3s.io ファイ…
少し前に実施したシングルノード構成の「オフライン環境へのK3sインストール」に、workerノードを追加する。 環境は引き続きインターネット接続のないオフライン環境。 zaki-hmkc.hatenablog.com 手順はAir-Gap Installの通りで大丈夫。 docs.k3s.io 構成 (…
業務で元リソースはそのままでPodを一時的に停止していろいろ確認するなんやかやがあり、DeploymentやStatefulSetはkubectl scaleでレプリカ数を0にすれば良かったんだけど、DaemonSetってそういえばレプリカ0にできないというかそもそもレプリカの概念がな…
2024.04.11追記 forum.ansible.com AWX 24.2.0とAWX Operator 2.15.0がリリースされ、GitHub Container Registryにしかなかったarm64版awxイメージがquay.ioからもpullできるようになりました。 image repository tag awx-operator quay.io/ansible/awx-oper…
2年前にKubernetesで動くAWXをarmアーキテクチャのホストで動かそうとした際には、armプラットフォーム用のコンテナイメージが何一つ用意されてなく全部自前でビルドしてた。が、2024年現在、状況が結構変わってかなり簡単になってたので、今時点でどうすれ…
いろんなものを業務でオフライン動作させてきた身としては一度はやっておきたかったインターネット接続の無いオフライン環境へのインストールお試し。 K3sは軽量Kubernetesとして様々な環境で動作するのが特徴の一つで、インターネット接続の無い環境でもAir…
Helmチャートをインストールすると、sh.helm.release.v1.<リリース名>.v1というシークレットリソースが作成されるけど、これ何だっけ?と思って調べてみた。 結論から言うと、Helmでインストールしたリリース情報がgzip形式で格納されている。これを手動で消…
K3sにHelmを使って何かをデプロイする場合、K3s自体にHelmChartカスタムリソースを使ったチャートのインストールがサポートされており、helmCLIコマンドを使わずにマニフェストを作成するだけでチャートのインストールが可能なので試してみた。 docs.k3s.io …
ここのブログでHashicorp Vaultを扱うのはそういえば初めてだったけど、Vault使う上で面倒なunsealなどを自動処理する方法を調べる機会があったのでまとめました。 なお、unseal keyやroot tokenを記事用に全部書き出してますが、機密情報なので実際は厳重に…
K3sをインストールする際は、特に指定がない場合は「最新安定板」がインストールされますが、これはKubernetesの最新版の1個前だったりします。 このエントリ執筆時点(2024.02.08)のKubernetesのバージョンは1.29.1が最も新しいですが、K3sのインストールで…
KubernetesのヘルスチェックのAPIエンドポイントを試す。 といっても提供されているエンドポイントをcurl叩けばよいだけ。 kubernetes.io 現在は3つのエンドポイントが提供されているが、1つは非推奨とのこと。 healthz (非推奨) livez readyz livezとreadyz…