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