zaki work log

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

[Kubernetes] KustomizeでConfigMapを扱う (configMapGenerator)

KustomizeにおけるConfigMapの管理おためし。 configMapGeneratorを使用する。 kubectl.docs.kubernetes.io ConfigMapリソースの作成 key=value形式をkusomization.yamlにインライン記述 key=value形式のファイル参照 ファイルそのものをConfigMap化 ConfigM…

[Kubernetes] Kustomize事始め

Helmあるから別にいいかーと避けていたkustomize、仕事で触れる機会があったのでごくごく簡単にまとめ。 kubectl.docs.kubernetes.io ※ Kustomizeの用途でよくあるbaseとoverlayを使った環境(dev/stg/prd)ごとのパラメタセットの切り替えは本エントリではま…

[Ansible] 任意のタイミングでダイナミックインベントリのホスト情報収集を行う

Ansibleで(CFnなどのモジュールを使って、も含む)クラウドリソースを作成し、後続のタスクで作成したコンピュートインスタンス(EC2)へ接続して処理を行いたい、みたいなケースで、ダイナミックインベントリを使用することでタグなどを使ってEC2情報を動的に…

(作業ログ) RHEL 8.5へのDocker 20.10インストール

諸事情でRHELでPodmanでなくDockerを使う必要があったため、インストールした時の作業ログ。 状況 環境 手順 Dockerのインストール 古いバージョンの削除 リポジトリのセットアップ Dockerのインストール Dockerの開始 動作確認 状況 RHELの公式パッケージに…

[AWX / AAP] ジョブの実行をリモートのKubernetesクラスタで行う

デフォルトでは、ジョブの実行はAWXをデプロイしているKubernetesクラスタ上でpodがデプロイされて行われる。設定によって、podをデプロイするクラスタを、異なるクラスタ(AWXをデプロイしていないクラスタ)へ変更することができる。 本記事内では便宜上、AW…

Ubuntu 22.04をDVDブートしてAutoinstallで自動インストール (TFTP/PXEブート無し)

ググるとPXEブートしてネットワークインストールの情報はたくさんあるけど、DVDブートからAutoinstallする情報はみあたらなかったのでお試し(というか自動インストールというとkickstartしか知らずDebian/Ubuntu系ってどうするんだろう、という状態でしたw)…

[Ansible] ansible.builtin.gather_factsモジュールでfactsを収集するタスクを作成する

ansible.builtin.gather_factsモジュールを使うと、リモートホストのfacts変数を収集するタスクを定義できる。 収集する項目のサブセット指定も可能。 このモジュールはplayの定義でgather_factsをfalseにしていても、タスク実行のタイミングでfactsを収集し…

[RHEL / Ansible] 最小構成でセットアップしたRHELにAAPをオフラインインストールするときの諸注意(備忘録)

注意! 現時点で、開発者アカウントの場合はサブスクリプション登録に必要なマニフェストのzipファイル作成がポータルでできなさげ(作成権限がない)。 (なので開発者アカウントの場合はオンラインでやりましょう) 商用アカウントなどでカスタマポータルへロ…

Kubernetes v1.24でServiceAccountのトークンを生成・取得する

ここのところKubernetes関連の情報をキャッチアップできておらず、今月作ったk8sクラスタで期待する動作をせずにプチハマりしたので、トークン取得に関連した確認した内容の備忘録。 qiita.com LegacyServiceAccountTokenNoAutoGeneration feature gateがベ…

WSLでVM環境のコピー(exportとimport)

WSLにはVMの内容をtar形式のアーカイブファイルへエクスポートする機能がある。 これでVMのバックアップやスナップショット的な状態保存、別名でインポートすることで同じディストリビューションのVMを複数作ったりできる。 Dockerでいうとexport/importに相…

オフライン環境へのRHEL8.6インストールとサブスクリプション割り当て

ちょっと構築する機会があったのでメモ。 OSのインストール サブスクリプション割り当て カスタマポータル上でシステム登録 証明書ファイルを使ったサブスクリプション登録 Yumリポジトリ設定 デフォルトのリポジトリの無効化 ISOイメージ内のパッケージファ…

Docker版GuacamoleでSSH接続の日本語対応 (Debianイメージへの日本語フォント追加)

前夜まとめたDockerコンテナでデプロイした素のGuacamoleは、SSH接続しても日本語の表示や入力が文字化けする。 zaki-hmkc.hatenablog.com 今回はこの対応。 といっても先に結論を書くと、guacdコンテナに日本語フォントを追加すればOK 日本語フォント入りイ…

Apache Guacamoleを使ってwebブラウザでSSH接続をお試し (Docker版)

ネットワークの制限でwebアクセス(HTTP/HTTPS)しか許可されておらず、SSHアクセスが使えないような環境でリモートのLinuxサーバーのシェルへアクセスしたい場合、Apache Guacamoleを使うことでwebブラウザの画面でSSHログインを行う。(webページ内にSSHアク…

[Ansible] Gitリポジトリにあるコレクションのインストール

Ansible Galaxyと疎通がないとか、ローカル内でGit管理されているプライベート開発なコレクションのように、任意のGitリポジトリにあるコレクションをインストールする際のrequirements.ymlの記述例は以下の通り。 --- collections: - name: https://github.…

[Ansible / Docker / K3s] AWX 20.0.0をarm64環境でビルド&デプロイするplaybook

AWXはamd64向けのイメージしか提供されてないので、Oracle CloudのAlways Free枠で使用できる4コア・RAM24GBのA1.FlexインスタンスのようなARMアーキテクチャの環境ではそのままでは利用できません。 イメージをARM環境でリビルドしてやれば動作するので、さ…

[Ansible] metaモジュールを使ってPlayの処理を途中で終了する

プログラミングだとreturnやexit(0)などで、以降の処理が不要な場合に、その時点で処理を終了させることができる。 Ansibleのplaybookでも似たようなことができ、metaモジュールを使用し、任意のタイミングで処理を終了させるタスクを作成できる。 docs.ansi…

[Linux] ProxyJump設定でSSHの多段アクセスとscp/ポートフォワード

検証環境へアクセスするために踏み台サーバ―を経由しないとアクセスできないとか、踏み台サーバーを3つ経由しないと本番環境へアクセスできないとか、そんな場合でもsshで1コマンドでアクセスするためのオプション指定について、man sshを眺めていたらたまた…

[Ansible Builder]パッケージインストールに追加のリポジトリ設定やファイルコピーが必要な場合のイメージビルド

本記事はAnsible Advent Calendar 2021の14日目のエントリです。 珍しくインプットが湧いてきた1ため2日連続です笑 adventar.org 環境その他もろもろは、以前Ansible Builderについて試したこの記事のときのものと同じです。 解決したい課題 回避策 executio…

[Ansible] fetchモジュールを使ってリモートのファイルを実行ノードへ転送・集約する

最近アウトプットできてなかったけど、これはAnsible Advent Calendar 2021の13日目のエントリです。 adventar.org 個人的にあまりなじみがないfetchモジュールについての備忘録です。 このモジュールはcopyモジュールの逆で、マネージドノード上のファイル…

[Oracle Linux] arm64アーキテクチャのA1.FlexのVMでDocker版NetBoxをビルド&デプロイする (Ubuntu / Oracle Linux)

Oracle Cloudで無料で使えるA1.FlexシェイプのVM(arm64アーキテクチャ)でNetBoxをDockerでデプロイしてみました。 NetBoxのコンテナイメージはamd64版しか公開されていないため、arm64アーキテクチャでコンテナ版をデプロイするには、自前でビルドする必要が…

Docker PluginとしてDocker Compose (v2) のインストールとお試し実行 (arm64 / Oracle Cloud A1.Flex)

気が付いたらCompose v2がリリース版になってました。 github.com これまでのようにdocker-composeコマンド単体でなく、Docker Pluginとして利用する形式になっています。 あとv1系のときはx86_64のバイナリしかなかったけど、arm64やs390xのバイナリも配布…

[Oracle Cloud/A1.Flex] armアーキテクチャのLinuxへpipでDocker Composeインストール

Oracle CloudのA1.Flexのように、aarch64/arm64のアーキテクチャへのDocker本体のインストールは以下のとおり公式の手順で(ディストリビューションが対応してれば)インストールできる。 zaki-hmkc.hatenablog.com ただし、Docker Composeについては公式で配…

[Oracle Cloud] 無料枠のA1.FlexのコンピュートインスタンスにDockerインストール (Ubuntu/Oracle Linux)

少し前に比べると、最大で4CPUs・RAM24GBまで無料で使用できるA1.Flexのコンピュートインスタンス(VM)を作成しやすくなったのでお試し。 結論から言うとVMのイメージはUbuntuであれば問題なし。 Oracle Linuxの場合はデフォルトの7.9より8の方が手間は無い。…

Debian11(Bullseye)でRootless Dockerインストールしてコンテナをデプロイ

Debian10では依存パッケージのバージョンが古くてインストールできなかったルートレスDocker、先々週リリースされたDebian11ではパッケージバージョンが新しくなって全て要件を満たしていたので試してみた。 docs.docker.com Deiban10だとうまくいかないパタ…

[Ansible] roleの雛形作成をカスタムする (ansible-galaxy / --role-skeleton)

roleの雛形の作り方と、雛形のカスタマイズ。 今回は試さなかったけどcollectionにも使えるはず。。 role雛形の作成 role雛形のカスタム 雛形のスケルトンを作る スケルトンからroleの雛形を作成 role名の埋め込み role名変換とJinja2テンプレートの書式を同…

[Ansible] playbookと別リポジトリ管理のroleを実行するにはroles/requirements.ymlを使う (CLI / Tower)

playbookのリポジトリとroleのリポジトリを分けた場合に、どうやって別リポジトリのroleをplaybookから実行するかについて。半年以上前に情報として聞いてはいたけれど試してなかったので実際に動かしてみた。 roleのリポジトリ playbookのリポジトリ roleの…

Ansible Automation Platform 2.0 Early Accessお試し (Automation Controller 4.0でデモジョブ実行まで)

Ansible Automation Platform 2.0 Early Access Homepage - Red Hat Customer Portal 巷で流行っている次期Ansible TowerになるAnsible Automation Platform (2.0 Early Access)を手元の環境へインストールしてみる。開発者ライセンスがあればOKの模様。 acc…

[Ansible / Podman] もうこのぉ、venvを使った実行環境は終わりだ (Ansible RunnerとAnsible Builderお試し)

トキメk…じゃなくてAnsible RunnerやAnsible Builderの話で、Ansibleとコンテナ環境の話題がとても盛り上がってるところに乗り遅れつつある*1ので、マイペースに動作確認してみた作業ログ。 コンテナの中身寄り情報あり。 環境 Ansible Builder インストー…

Ansible Night Online 2021.07で「タグの継承を知らずにやらかした話」というLT登壇した振り返り

Ansible NightでLT登壇しましたので、その振り返りブログです。(1年ぶり2回目) ansible-users.connpass.com 振り返りといっても、LTでも触れましたが、以前記事にしたものを再構築してLT登壇だったので、詳細は過去記事参照…ということで、主に資料のリンク…

[YAML] 複数行テキストの行頭にインデントを設定するには (Ansible/Kubernetes)

YAMLで複数行のテキストを記述しつつ、その先頭にインデントを設定するにはどうするか。 YAMLの複数行テキスト インデント設定 複数行表記で使用する記号の種類と効果 記号まとめ インデント量の指定 Ansibleの場合は YAMLの複数行テキスト --- data: sample…