opsxcq.linux_server
Linuxサーバーロール
Debian Linuxの一般的なセットアップをインストールする役割:
- Docker
- Prometheusを使用した監視(ノードエクスポーター + cAdvisor)
- カーネルパラメータ
- 基本的なツールとパッケージ
- GitHubからのSSHキーとGPGキーのインポート
例のプレイブック
これは例のプレイブックです。
- hosts: all
vars:
hostname: "template"
domain: "strm.sh"
network:
ip: "192.168.0.9"
cidr: "/24"
gateway: "192.168.0.1"
dns:
- "8.8.8.8"
- "1.1.1.1"
extra_ips:
- "192.168.0.2"
- "192.168.0.3"
- "192.168.0.4"
extra_raw: |-
iface tun0 inet static
address 10.0.0.8/24
static_hosts: "{{ lookup('file', 'hosts') }}"
loki:
url: 'http://loki.strm.sh:3100/loki/api/v1/push'
github_user: opsxcq
tasks:
- debug:
msg: "他のタスクはここに"
roles:
- ../..
オプションの変数:
network.cidr
:デフォルト値は/24
です。static_hosts
:存在しない場合、/etc/hosts
は変更されません。loki
:定義されると、システムとコンテナのログがLokiに送信されるように設定します。
要件ファイル
- src: git+https://github.com/opsxcq/ansible-role-linux-server.git
name: "opsxcq.linux_server"
Tmux設定
このセットアップにはTmuxが追加されていますが、Ctrl+A
を使用する違いがあります。これにより、ローカルでTmuxセッション(Ctrl+B
を使用)を保持しながら、リモートに接続できます。
監視
Prometheusのような監視ツールに加えて、リソース使用量をローカルで監視するためのツールもあります。
- htop
- iostat -x 1 - リアルタイムのI/Oデータを表示
- slurm -i ens192 - インターフェース ens192 のリアルタイムネットワーク統計を表示