返回
Featured image of post ansible 入門指南 - Managed Node

ansible 入門指南 - Managed Node

學 Ansible 但沒有 Managed Node 該怎麼練習?

Managed Node

Managed Node主機需安裝python3,但當今流行ubuntu預設有python3,可不用另安裝,若之後操作 Playbook Module 時無法操作,可往這方向排解。

使用 Docker 當作搭建 Managed Node

把 container 當VM練習用,不良示範,而且在後續 module 操作 systemd_service 會出錯!,但練習可友善使用 Dockerfile

FROM ubuntu:latest
RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
# 將 root 設置密碼為 root
RUN echo 'root:root' | chpasswd
# 更改sshd_config設定檔,可用 root 登入
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

docker-compose.yml

version: "3.1"

services:
  server1:
    image: openssh-svc:${TAG:-latest}
    build: .
    container_name: server1
    restart: "always"
    ports:
      - 2222:22/tcp

快速使用

$ docker-compose up -d
# 測試本地 ssh 進入 container 密碼 root
$ ssh -l root -p 2222 0.0.0.0

使用 GCE 當作搭建 Managed Node

# 登入 gcloud
$ gcloud auth login
# ssh-keygen 產生金鑰
$ ssh-keygen -t rsa -f ~/[專案目錄]/ansible -C ansible -b 2048
# 建立 gce e2-micro
$ gcloud compute instances create ansible-manage-node \
    --image=ubuntu-2204-jammy-v20230919  \
    --image-project ubuntu-os-cloud \
    --zone=asia-east1-b \
    --machine-type=e2-micro 

前往 Compute Engine/中繼資料/安全殼層金鑰 添加剛剛新增的 public key

刪除 GCE

不使用請刪除以免產生費用

$ gcloud compute instances delete ansible-manage-node --zone=asia-east1-b

前往 Compute Engine/中繼資料/安全殼層金鑰 移除新增的 public key

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus