zaki work log

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

[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 結論を先に…

[Kubernetes] 軽量ディストリビューションk3sのコンテナ版の紹介

本記事は「エーピーコミュニケーションズ Advent Calendar 2022」の21日目のエントリです。 軽量Kubernetesディストリビューションの一つにk3sというものがあります。 以下のコマンドで簡単にクラスタをデプロイでき、少ないリソースで動作し、プラットフォ…

[Ansible] 環境変数の利用についておさらい

本記事は「Ansible Advent Calendar 2022」の19日目のエントリとなります。 Ansibleで環境変数を参照したりタスク実行時にセットしたりする方法についておさらい。 環境変数の参照 コントロールノード(ローカル)の環境変数を参照 マネージドノード(リモート)…

[Kustomize / secretGenerator] 初期パスワードを指定したAWXのインストールとSecret作成基礎

本記事は「Ansible Advent Calendar 2022」の8日目のエントリとなります。 AAP(旧Ansible Tower)のadminの初期パスワードはインストール時に使用するインベントリファイルで指定できるので簡単ですが、AWXのadminの初期パスワードはデフォルトではランダムな…

[Ansible] ini形式のインベントリファイルの行コメントには注意

本記事は「Ansible Advent Calendar 2022」の5日目のエントリとなります。 ちょっと前にやらかしたインベントリファイルの行中コメントについて、詳しく調べてみた。 playbookのYAMLに埋め込まれてる変数定義をインベントリファイルに単に移すと動く変数と動…

共用アカウント環境における個人用GitとSSHの設定

本記事は「エーピーコミュニケーションズ Advent Calendar 2022」の2日目のエントリとなります。 Gitを使う作業を個人に与えられたOSアカウントで行う分には何も不都合はないけれど、共用サーバーの共用アカウントを複数人で使用する場合、コミット時の名前…

[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 日本語フォント入りイ…