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"

 

 

 

+ Recent posts