1. 구성내용
- 강사용 deploy 서버 1대
- 교육생 별 5대
ssh 192.168.x.x (openstack deploy node)
source ~/venv/openstackclient/bin/activate
source /etc/kolla/k8sedu-openrc.sh
# 192.168.x.x edu-main 생성
openstack server create --image ubuntu-focal-20.04-20220615-osc --flavor C2R4D50 --key-name openstack-deploy --nic net-id=ex-net,v4-fixed-ip=192.168.200.5 edu-main
password
-> PASSWORD 설정
apt update
apt install -y python3-venv python3-pip
apt install ansible
VM 생성
192.168.x.11 edu01-master1
192.168.x.12 edu01-master2
192.168.x.13 edu01-master3
192.168.x.14 edu01-worker1
192.168.x.15 edu01-worker2
192.168.x.21 edu02-master1
192.168.x.22 edu02-master2
192.168.x.23 edu02-master3
192.168.x.24 edu02-worker1
192.168.x.25 edu02-worker2
192.168.x.21 edu03-master1
192.168.x.22 edu03-master2
192.168.x.23 edu03-master3
192.168.x.24 edu03-worker1
192.168.x.25 edu03-worker2
192.168.x.31 edu04-master1
192.168.x.32 edu04-master2
192.168.x.33 edu04-master3
192.168.x.34 edu04-worker1
192.168.x.35 edu04-worker2
192.168.x.41 edu05-master1
192.168.x.42 edu05-master2
192.168.x.43 edu05-master3
192.168.x.44 edu05-worker1
192.168.x.45 edu05-worker2
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.11 edu01-master1
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.12 edu01-master2
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.13 edu01-master3
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.14 edu01-worker1
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.15 edu01-worker2
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.21 edu02-master1
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.22 edu02-master2
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.23 edu02-master3
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.24 edu02-worker1
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.25 edu02-worker2
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.31 edu03-master1
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.32 edu03-master2
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.33 edu03-master3
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.34 edu03-worker1
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.35 edu03-worker2
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.41 edu04-master1
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.42 edu04-master2
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.43 edu04-master3
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.44 edu04-worker1
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.45 edu04-worker2
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.51 edu05-master1
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.52 edu05-master2
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.53 edu05-master3
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.54 edu05-worker1
openstack server create --image ubuntu-focal-20.04 --flavor C2R4D50 --key-name edu-main-key --nic net-id=ex-net,v4-fixed-ip=192.168.x.55 edu05-worker2
VM 셋팅
#apt install sshpass
---------------------------
# ansible-hosts 작성
[all]
edu01-master1 ansible_host=192.168.x.11 ip=192.168.x.11
edu01-master2 ansible_host=192.168.x.12 ip=192.168.x.12
edu01-master3 ansible_host=192.168.x.13 ip=192.168.x.13
edu01-worker1 ansible_host=192.168.x.14 ip=192.168.x.14
edu01-worker2 ansible_host=192.168.x.15 ip=192.168.x.15
edu02-master1 ansible_host=192.168.x.21 ip=192.168.x.21
edu02-master2 ansible_host=192.168.x.22 ip=192.168.x.22
edu02-master3 ansible_host=192.168.x.23 ip=192.168.x.23
edu02-worker1 ansible_host=192.168.x.24 ip=192.168.x.24
edu02-worker2 ansible_host=192.168.x.25 ip=192.168.x.25
edu03-master1 ansible_host=192.168.x.31 ip=192.168.x.31
edu03-master2 ansible_host=192.168.x.32 ip=192.168.x.32
edu03-master3 ansible_host=192.168.x.33 ip=192.168.x.33
edu03-worker1 ansible_host=192.168.x.34 ip=192.168.x.34
edu03-worker2 ansible_host=192.168.x.35 ip=192.168.x.35
edu04-master1 ansible_host=192.168.x.41 ip=192.168.x.41
edu04-master2 ansible_host=192.168.x.42 ip=192.168.x.42
edu04-master3 ansible_host=192.168.x.43 ip=192.168.x.43
edu04-worker1 ansible_host=192.168.x.44 ip=192.168.x.44
edu04-worker2 ansible_host=192.168.x.45 ip=192.168.x.45
edu05-master1 ansible_host=192.168.x.51 ip=192.168.x.51
edu05-master2 ansible_host=192.168.x.52 ip=192.168.x.52
edu05-master3 ansible_host=192.168.x.53 ip=192.168.x.53
edu05-worker1 ansible_host=192.168.x.54 ip=192.168.x.54
edu05-worker2 ansible_host=192.168.x.55 ip=192.168.x.55
------------------------
vi /etc/ssh/ssh_config
StrictHostKeyChecking no
ansible -m shell -a "sed -i \"s/# StrictHostKeyChecking*/StrictHostKeyChecking no/\" /etc/ssh/sshd_config" -i ansible-hosts all
ansible -m shell -a "systemctl restart sshd" -i ansible-hosts all
# key 복사
cat /etc/hosts | grep 192.168.x | awk '{print "sshpass ssh-copy-id " $1}' | sh
#root 로그인 허용
ansible -m shell -a "sed -i \"s/#PermitRootLogin.*/PermitRootLogin yes/\" /etc/ssh/sshd_config" -i /root/update-root-pw/ansible-hosts all
VM root P/W 변경을 위한 yaml 파일
vi update-root-pw.yaml
---
- hosts: all
gather_facts: no
tasks:
- name: Update Root user's Password
user:
name: root
update_password: always
password: "{{ PASSWORD | password_hash('sha512') }}"
#root 패스워드 변경
ansible-playbook -i ansible-hosts update-root-pw.yaml --extra-vars "PASSWORD=password123123"