zaki work log

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

Linux

[Proxmox VE] Cloud-Initのvendorデータを使ってサブスクリプション済みRHELのVMをサクッと作成する

Proxmox VEのWeb UIから設定できるCloud-Init項目は以下の通りで、最低限必要な設定はできるけど、追加パッケージの指定とかがデフォルトでは現状できない。 ユーザ パスワード DNSドメイン DNSサーバ SSH公開鍵 プロビジョニング時のパッケージアップグレー…

[Proxmox VE] テンプレートとクローンとCloud-Initを使ってVMをサクサクシュッと生やす (Fedora / Ubuntu)

Proxmox VEには、VMのテンプレート化とクローン機能があり、さらにCloud-Initを使って初期設定込みで簡単にVMをプロビジョニングできる機能がある。 もうすぐFedora40やUbuntu 24.04がリリースされそうなので、その時にサラサラとテンプレート作成できるよう…

Proxmox VEのVMのIPアドレスをサマリーに表示する

特にESXiから移行したVMなんかで表示されない「サマリー画面」のIPsですが、次の2点を対応すればVMのIPアドレスが表示されます。ほぼ小ネタ。 1. VMオプションの「QEMU Guest Agent」の有効化 [オプション]->[QEMU Guest Agent]の値がデフォルトは無効になっ…

Proxmox VEのweb管理画面にCPUの温度を表示する

去年の春に構築して灼熱の夏は無事に乗り越えたMINISFORUM NAB6だけど、以前使ってたIntel NUC(現在win11が入ってる)はちょいちょい熱暴走起こしてたので、念のために簡単にモニタリングできるようにしてみた。 2024.04.01 パッケージバージョンアップで変更…

[Ansible / AAP / AWX] EEのコンテナイメージ作成にAnsible Builderは必ずしも必要ないかを確認してみた (小ネタ)

AAPやAWXでジョブ実行に必要なExecution Environments(EE)を作るために通常はAnsible Builderを使ってコンテナイメージをビルドするが、要件を満たせばDockerfileを直接書いて自前でビルドしても動くのでは…と思ったので確認してみた。 結論としては、以下が…

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…

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

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

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

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

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

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

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アク…

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

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

[Linux] GitHubに登録している公開鍵を ~/.ssh/authorized_keys に取り込む

取り込むというか単にcurlで取得できるよ、という小ネタ。 少し前からUbuntuのOSインストール時にGitHubに登録してるSSH公開鍵を設定できるようになってたりしてますが、GitHubの公開鍵は特定のURLで簡単に参照できるので、OSインストール後でも任意のタイミ…

[VyOS] NAT設定を使ったネットワーク間のルーティング (手動 & Ansible / vyos_config)

VyOS自体のIPアドレス設定は前回までにできたので、ようやく(?)ネットワーク間でNATを使ったルーターとして動作するための設定をやってみる。 (試行錯誤でやってるんで「こうした方がいい」とか「いや、そのりくつはおかしい」とかあったらぜひ教えて欲しい……

[Linux] systemdのユニットファイルを自分で書いてプログラムをdaemon動作させてみる

systemdのユニットファイルを作成してみる。 rcスクリプト育ちだったのでsystemctlコマンドは慣れるのに時間はかかったといえさすがにもう息を吸うように使うようになったけど、systemdのユニットファイル周りは基本的な部分があまりわかってないのでお試し…

[Linux] ターミナルでコマンド履歴の検索とsttyのstop設定

bashやzshはシェル上でCtrl-r押下してからコマンド名やオプションの文字列を入力すると、コマンド履歴からインクリメンタルサーチできる。 (reverse-i-search)`': Ctrl-rを押下すると↑のようにプロンプトが変化するので、例えばここにkubectlと入力すれば、…

[ssh / docker / kubectl] ローカルの標準出力をリモートの標準入力にする

sshやdocker exec、kubectl execで、シェルを起動せずに直接コマンドを実行できるが、sshなどを実行するローカルの標準出力をリモートホストやコンテナの標準入力として処理する方法について。 SSHの場合 前提。 ローカルのhostnameはcloud-devで、リモート…

[Oracle Cloud] CLIツールのセットアップメモ

Oracle CloudをCLIで操作するためのツールのインストールとセットアップについて。 以前何事もなくセットアップしていたんだけど、新しい環境に入れようとしたらいろいろ(鍵設定周りで)詰まったのでメモ。 (全自動でAPIキー設定出来る方法があるかもしれない…

VS CodeのRemote Development SSHのサーバー側のプロセスを再起動する

Ctrl + Shift + p(winの場合)でコマンドパレットを出して「Remote-SSH: Kill VS Code Server on Host」を選択し、プロセスをkillする対象サーバーを指定する。 実行するとどうなる サーバー側のVS Codeプロセスが終了するため、一度VS Codeがリモートから切…

[Ansible] acme_certificateモジュールでLet's Encryptから証明書を発行しApacheでHTTPSサーバー構築

httpdパッケージでApacheをインストール・HTTPS対応し、Let's Encryptの証明書の発行と設定までAnsibleで設定、できるのかな?と思って試したらうまくいった。 Let's Encryptで証明書を作成するには、ACMEプロトコルを利用し、このACMEプロトコルを操作する…

[Ansible] ターゲットホストのIPアドレスの参照とデフォルトゲートウェイの設定についてのメモ

Ansibleの実行の際に、設定ファイルを作ったりしたい場合に使えると便利なターゲットホストのIPアドレスの参照方法について。 内容は「動かしてみてその内容をまとめたもの」なので、ドキュメントやソースコードを追ったりまでは確認できていないです。 play…

VS CodeのRemote DevelopmentでSSHアクセスすると接続先の高負荷状態が続く問題と対応

年末くらいから、メインの作業用Linuxマシン(この1台のみ)にVS CodeのRemote DevelopmentでSSHアクセスすると一定時間高負荷状態が続いていたので、なんとかならないかと原因調査した結果。 なお、クライアント側のVS CodeはどのPCから接続しても、特定の接…

SNMP Exporterを使ってArista EOSのSNMPの情報をPrometheusから参照する

SNMP Exporterをお試し。 環境は、SNMP ExporterもPrometheusもCentOS 7上で直接バイナリを実行している。(非K8s環境) SNMPエージェントについてはDockerで動作するArista EOSを使用。 Prometheusバージョンは2.23を使用。 実行用バイナリの入手 SNMP Export…

kickstartインストールで公開鍵の登録処理も追加

kickstartインストールのcfgファイルに %post command 1 command 2 : : %end と記述しておけば、インストール処理の最後に実行される。 access.redhat.com なので、ここに公開鍵を作成したいユーザの/home/<username>/.sshディレクトリを作成し、公開鍵の内容をcatでフ</username>…

PrometheusのBlackbox Exporterを使ったターゲットノードの死活チェックをお試し (HTTP / TCP)

Blackbox Exporterをお試し。 機能的にはKubernetesのヘルスチェックのhttpGetおよびtcpSocketのように、外部からターゲットに対してネットワーク的に疎通確認を行うExporterとなっている。 (よって、監視対象ノード上で動かす必要はなく、Exporter(を動かす…