~/openstack# . pre.sh
proxy를 사용하여 외부의 데이터를 사용할 경우가 생기므로 proxy.sh의 설정을 소스파일에 덮어 씌워준다.
kvm을 사용하기 위한 인스톨 파일 설치
Terraform 0.12.26 을 사용한다 (안정화 버전의 이유로 0.13이 아닌 0.12 버전을 사용)
내부의 host only 네트워크로 사용하기 위한 internal1 network에 대해 설정.
Terraform을 통해 생성될 kvm들이 사용할 default pool 설정.
~/openstack/terraform-libvirt-ubuntu/controller# ssh-keygen -t rsa -b 4096 -f id_rsa -C simple -N "" -q
#cloud-config
hostname: ${hostname}
fqdn: ${fqdn}
manage_etc_hosts: true
users:
- name: deploy
sudo: ALL=(ALL) NOPASSWD:ALL
groups: users, admin
home: /home/ubuntu
shell: /bin/bash
lock_passwd: false
# only cert auth via ssh (console access can still login)
password: asdfqwer
chpasswd: { expire: False }
ssh_pwauth: True
disable_root: false
packages:
- qemu-guest-agent
network_interface {
network_name = "default"
}
network_interface{
network_name = "internal1"
}
version: 2
ethernets:
ens3:
dhcp4: true
# default libvirt network
addresses: [ 192.168.122.3/24 ]
gateway4: 192.168.122.1
nameservers:
addresses: [ 192.168.122.1 ]
ens4:
dhcp4: true
# default libvirt network
addresses: [ 172.16.1.3/24 ]
gateway4: 172.16.1.1
nameservers:
addresses: [ 172.16.1.1 ]
위의 경우 default network에 192.168.122.3 , internal1 172.16.1.3 을 자동으로 할당해주게 된다.
하지만 두 네트워크 모두 nat 네트워크로 가상화 노드의 default network로 설정이 되어있다. 이를 해결하고자 한다면 2가지 방법이 존재한다.
Bridge
ifmetric
ifmetric ens4 600
ifmetric ens3 0
terraform init
terraform plan
terraform apply
staticip.tf , cloud-init.cfg의 데이터를 기반으로 kvm을 설치한다.
접속 방법
ssh deploy@192.168.122.3 -i id_rsa
~/openstack/terraform-libvirt-ubuntu/compute1# ssh-keygen -t rsa -b 4096 -f id_rsa -C simple -N "" -q
compute1 node에서 접속에 사용될 ssh key 생성
이하 위의 controller node의 설치와 동일하다.
기본적으로 compute1 의 경우 network는 192.168.122.4, 172.16.1.4 을 사용하며 user는 deploy로 사용되어진다.
/openstack/terraform-libvirt-ubuntu/controller# ssh deploy@192.168.122.3 -i id_rsa
root@controller:~/openstack/controller# . Prerequest.sh
Openstack.org 의 설치가이드를 토대로 설치하였다.
세부사항을 알고자 한다면 공식 홈페이지를 참조하기 바랍니다.
설치 순서
설치 버전
설치 참고사항
root@controller:~/openstack/controller# . keystone.sh
keystone-manage bootstrap --bootstrap-password 1234 \
--bootstrap-admin-url http://controller:5000/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
root@controller:~/openstack/controller# . glance.sh
root@controller:~/openstack/controller# . horizon.sh
OPENSTACK_NEUTRON_NETWORK = {
...
'enable_router': True,
'enable_quotas': False,
'enable_ipv6': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': True,
}
root@controller:~/openstack/controller# . placement.sh
root@controller:~/openstack/controller# . nova-controller.sh
root@controller:~/openstack/controller# . neutron.sh
root@controller:~/openstack/controller(demo)]# ifmetric ens3 0
root@controller:~/openstack/controller(demo)]# ifmetric ens4 600
~/openstack/terraform-libvirt-ubuntu/compute1# ssh deploy@192.168.122.4 -i id_rsa
root@compute1:~/openstack/compute-script# . nova-compute.sh
root@compute1:~/openstack/compute-script# . neutron-compute.sh
root@controller:~/openstack/controller# . create-network.sh
iptables -I FORWARD -m state -d 192.168.122.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 10.90.149.153 --dport 25000 -j DNAT --to-destination 192.168.122.3:22
Openstack 설치계획서 (0) | 2020.10.08 |
---|---|
Region & AZ (0) | 2020.10.08 |
Neutron (0) | 2020.10.08 |
Nova (0) | 2020.10.08 |
Placement (0) | 2020.10.08 |