zaki work log

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

2023-01-01から1年間の記事一覧

[Ansible / AAP / AWX] AnsibleでAAPリソースの作成を自動化する

本エントリは「エーピーコミュニケーションズ Advent Calendar 2023」の24日目のエントリです。クリスマスイブは一切関係ないネタです。 Ansible Automation PlatformのAutomation Controller(旧Ansible Tower / 以下AAP)やAWXはGUIでAnsibleを実行すること…

[Ansible] kubernetesコネクションプラグインとインベントリプラグインを使ってみる

本エントリは、Ansible Advent Calendar 2023の14日目の記事です。煽られて(?)即席で書き上げました。 昨年共著で出版させていただいたAnsibleクックブックでは紙面の都合 * で掲載しなかった、kubernetesコネクションプラグインについて簡単に使い方の例を…

[Ansible] S3互換オブジェクトストレージのデータをget/putする

本エントリは、Ansible Advent Calendar 2023の8日目の記事です。 昨日のAnsibleアドカレ7日目で id:usagi_automate さんがAWXで作成したテキストファイルをZipに固めて手元に持ってきたい - うさラボという記事で「バイナリデータもBase64でテキスト化して…

[Ansible / K3s] 2023年版AWXクイックインストールガイド

本エントリは、Ansible Advent Calendar 2023の6日目の記事になります。 AWXのセットアップがDocker ComposeからKubernetes環境になって手を出しづらくなったとか、インストール方法がわかりづらいなどの声を観測範囲で聞くことがあったので、ローカル環境で…

[Ansible] 日付書式の文字列から「〇分後」を求める (既存フィルター or カスタムフィルター)

Ansibleで「指定日時の5分後」みたいな時刻加減算をやる機会があったけど、ちょうど良い機能が見当たらなかったのでいろいろ試した話。 だいぶ面倒なことをやってるので「〇〇すればシュッとできるよ」とか情報があれば教えてください。 Pythonの場合の日時の加…

[Python] 標準ライブラリで"2023-09-27T12:43:39.123456Z"のようなISO 8601拡張形式の文字列のdatetime変換とタイムゾーン

"2023-09-27T12:43:39.123456Z" のようなISO 8601拡張形式の文字列をPythonでdatetimeオブジェクトとして扱ったり、JSTのYYYY/mm/dd HH:MM:SS文字列に変換するサンプルコードについて。 最小限の環境で動くように、標準ライブラリで実装している。(pip insta…

[Chrome拡張作成] 特定のサイトのみでコンテキストメニューを表示する

特定のサイトでのみ動作するChrome拡張を作る場合、セオリーというとmanifest.jsonのcontent_scripts内でmatchesを使って指定できるが、Chrome拡張でコンテキストメニュー(右クリックメニュー)を作成するためにはbackgroundから指定するサービスワーカーで実…

[Ansible Builder v3] execution environment definitionのversion 3 formatでAlmaLinuxをベースにビルドお試し

Ansible Builderのバージョンが3になり、execution-environment.ymlのフォーマットもver3が使えるようになったのでお試し。 RHEL系の任意のイメージをベースに使えるようになったので、試しにAlmaLinux 9のminimal版をベースにすることで、イメージサイズの…

Proxmox VEを7から8へアップグレード

Ver7だとCPU種別で制限があるというか新しいVMで不都合があるので、Proxmox VEを7から8へインプレースアップグレードしてみた記録。 あまり使い込んでないので最小構成レベルでの作業になってる。はず。 Proxmox VEの内部的にはDebian 11(Bullseye)からDebia…

Proxmox VE 7のVM上でRocky LinuxやAlmaLinuxのRHEL系コンテナが「CPU does not support x86-64-v2」エラーになるときの対策

Proxmox VE 7.4-16 で発生する現象。 暫定的にはVMのCPU種別を「host」にすれば回避可能。 恒久対策としてはProxmox VEをバージョン8へアップグレードしCPU種別を「x86-64-v2」を指定。 現象 [zaki@cloud-dev2 ~]$ docker run --rm -it rockylinux:9-minimal…

[dnsmasq] Proxmoxで直接DNS+DHCPサーバーを動かす

もともとDNSとDHCPサーバーは専用PCで稼働してたのをハードが壊れてからVM運用に切り替えてたけど、プラットフォームをDebianベースのProxmoxへ移行したついでにaptでHypervisor側に直接入れられないか試してみたら特に問題なくうまく行ったのでその記録。 P…

Proxmox VEを使った仮想環境をMINISFORUM NAB6に構築しESXiからVMを移行

2023-08-11: RHEL系VMの起動エラーの対応について追記 新しく購入したMINISFORUM NAB6に自宅検証マシンとして仮想化プラットフォームのProxmox VEをセットアップしたのでその記録。 上に乗せてるのはサイズ比較用キーボードのキートップストラップ。 Proxmo…

[Ansible / AAP] 古いバージョンのAAPインストールが「Unsupported parameters for (ansible.legacy.command) module: warn」で失敗

古いバージョンのAAPのインストールでエラーが発生したのでメモ。 ターゲットOSはRHEL8.8 access.redhat.com 状況 1年近く前からデモ用環境として使用時にAAP環境を都度構築していたのですが、先週は大丈夫だったAAP 2.1.2-1(かなり古い)のsetup.sh実行が今…

[Windows] Rufusを使ってUSBブートできるメディアを作る

OSのインストールメディアとかのISOファイルをダウンロードしたあと、仮想環境だとISOファイルのまま使ったりできることは多いのに対して、物理マシンにインストールとかする場合はDVDに焼いたりするケースが多いけど、このツールを使えばどこのご家庭にも1…

pyenvを使ったPython実行/開発環境の構築

普段はいつもvenvを使って環境構築するんだけど、OSアップグレードしてPythonバージョンが更新されると、venv作成時のPythonバージョンと差異が発生して環境がおかしくなってしまうので、Python自体をインストールするpyenvを試してみた。 github.com venvが…

GitHub ActionsとAnsible BuilderでExecution Environmentコンテナイメージの自動ビルド

周りでGitLab Runnerを使ったExecution Environmentの自動ビルドが急に流行りだしたので、GitHub Actionsを使った自動ビルドを試してみた。 Ansibleの実行環境がコンテナ化し、その定義ファイルとしてexecution-environment.ymlに内容を記述できるようになっ…

[Kubernetes] Fluent Bitを使ってリモートのSyslogサーバーへPodのログを集約する

Fluent Bitを使ってKubernetesのPodのログをSyslogサーバー(rsyslog)へ転送してみた。 Fluent Bitとは KubernetesへのFluent Bitインストール Syslog転送設定 kubernetesフィルタ使用時のデータ構造 Syslog outputプラグイン設定 ホスト名やアプリ名などを指…

[VS Code / Windows] ターミナルのデフォルトシェルをGit BashやCygwinのシェルにする

WindowsにインストールしたVS CodeのターミナルはデフォルトでPowerShellだけど、設定でGit BashやCygwinのシェルに変更できる。 設定方法 Git Bash Cygwin bash Cygwin zsh 補足 設定方法 Git Bash Git for WindowsをインストールするとついてくるGit Bash…

[K3s / Kubernetes] KUBECONFIGを通常ユーザーでも読めるように起動オプションを指定または変更する

TL;DR K3sのKUBECONFIGファイル 起動オプションと環境変数の指定方法 起動オプションと環境変数一覧 インストール済みのK3sの設定を変更したい場合 サービス起動用のsystemdユニットファイルを修正する K3sの設定ファイルを作成・更新する TL;DR 結論を先に…