차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
kolla-ansible_general_configuraion [2023/06/27 08:48] – 만듦 koov | kolla-ansible_general_configuraion [2025/02/24 02:36] (현재) – [배포 스크립트] koov | ||
---|---|---|---|
줄 37: | 줄 37: | ||
===== / | ===== / | ||
+ | ==== Openvswitch(OVS)환경의 경우 === | ||
<WRAP prewrap> | <WRAP prewrap> | ||
<code vim ml2_conf.conf> | <code vim ml2_conf.conf> | ||
줄 42: | 줄 43: | ||
type_drivers = flat, | type_drivers = flat, | ||
tenant_network_types = vxlan | tenant_network_types = vxlan | ||
- | mechanism_drivers = ovn,openvswitch, | + | mechanism_drivers = openvswitch, |
+ | extension_drivers = port_security | ||
+ | |||
+ | [ml2_type_vlan] | ||
+ | network_vlan_ranges = physnet1 | ||
+ | |||
+ | [ml2_type_flat] | ||
+ | flat_networks = physnet1 | ||
+ | |||
+ | [ml2_type_vxlan] | ||
+ | vni_ranges = 1:1000 | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== OVN 환경의 경우 === | ||
+ | <WRAP prewrap> | ||
+ | <code vim ml2_conf.conf> | ||
+ | [ml2] | ||
+ | type_drivers = flat, | ||
+ | tenant_network_types = geneve | ||
+ | mechanism_drivers = ovn, | ||
extension_drivers = port_security | extension_drivers = port_security | ||
줄 72: | 줄 93: | ||
</ | </ | ||
+ | ===== 배포 스크립트 ===== | ||
+ | '' | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | CURR=" | ||
+ | RELEASE=" | ||
+ | TARGET=" | ||
+ | while true; do | ||
+ | |||
+ | echo "########################"; | ||
+ | echo -n "0) ping nodes"; | ||
+ | echo -n "1) bootstrap"; | ||
+ | echo -n "2) precheck"; | ||
+ | echo -n "3) deploy"; | ||
+ | echo -n "4) post-deploy"; | ||
+ | echo -n "5) install client tools"; | ||
+ | echo -n "d) destroy"; | ||
+ | echo -n "p) purge images"; | ||
+ | echo -n "u) update os"; if [ " | ||
+ | echo -n "r) reboot nodes"; | ||
+ | echo -n "s) shutdown nodes"; | ||
+ | echo -n "c) ceph purging"; | ||
+ | echo -n "m) mariadb recovery"; | ||
+ | echo "exit) quit"; | ||
+ | echo "########################"; | ||
+ | echo " | ||
+ | |||
+ | read x | ||
+ | if [[ $x = "" | ||
+ | CURR=$x; | ||
+ | case $x in | ||
+ | exit) break ;; | ||
+ | |||
+ | 0) echo ping nodes...; | ||
+ | ansible -i ${TARGET} all -m ping; | ||
+ | ;; | ||
+ | |||
+ | 1) echo Bootstraping...; | ||
+ | kolla-ansible bootstrap-servers -i ./ | ||
+ | ;; | ||
+ | |||
+ | 2) echo Prechecking... ; | ||
+ | kolla-ansible prechecks -i ./ | ||
+ | ;; | ||
+ | |||
+ | 3) echo Deploying... ; | ||
+ | kolla-ansible deploy -i ./ | ||
+ | ;; | ||
+ | |||
+ | 4) echo post-deploy... ; | ||
+ | kolla-ansible post-deploy -i ./ | ||
+ | ;; | ||
+ | |||
+ | 5) echo install client tools... ; | ||
+ | pip install python-openstackclient python-cinderclient python-glanceclient python-novaclient python-neutronclient python-ironicclient python-designateclient python-heatclient python-manilaclient | ||
+ | ;; | ||
+ | |||
+ | d) echo Destroying.. ; | ||
+ | while true; do | ||
+ | read -p "Do you wish to DELETE ALL? " yn | ||
+ | case $yn in | ||
+ | [Yy]* ) | ||
+ | ansible -m shell -a ' | ||
+ | kolla-ansible destroy -i ./${TARGET} --yes-i-really-really-mean-it; | ||
+ | break;; | ||
+ | [Nn]* ) break;; | ||
+ | * ) echo " | ||
+ | esac | ||
+ | done | ||
+ | ;; | ||
+ | |||
+ | p) echo image purging..; | ||
+ | ansible -m shell -a ' | ||
+ | ;; | ||
+ | |||
+ | u) echo update os..; | ||
+ | ansible -m shell -a 'yum -y update; sync;' -i ./${TARGET} all; | ||
+ | ;; | ||
+ | |||
+ | r) echo reboot nodes..; | ||
+ | ansible -m shell -a ' | ||
+ | ansible -m shell -a ' | ||
+ | ;; | ||
+ | |||
+ | s) echo shutdown nodes..; | ||
+ | ansible -m shell -a ' | ||
+ | ansible -m shell -a ' | ||
+ | ;; | ||
+ | |||
+ | c) echo ceph purging..; | ||
+ | ansible -m shell -a 'for i in `rados lspools`; do rados purge ${i} --yes-i-really-really-mean-it; | ||
+ | ;; | ||
+ | |||
+ | m) echo MariaDB recovery.. ; | ||
+ | while true; do | ||
+ | read -p "Do you wish to run MariaDB Recovery? >" yn | ||
+ | case $yn in | ||
+ | [Yy]* ) | ||
+ | cd ~; | ||
+ | echo 'stop control1 mariadb container...'; | ||
+ | ansible -m shell -a ' | ||
+ | if [ $? -eq 0 ]; then | ||
+ | echo " | ||
+ | kolla-ansible mariadb_recovery -i ./ | ||
+ | else | ||
+ | echo " | ||
+ | fi | ||
+ | break;; | ||
+ | |||
+ | [Nn]* ) break;; | ||
+ | * ) echo " | ||
+ | esac | ||
+ | done | ||
+ | ;; | ||
+ | |||
+ | *) echo " | ||
+ | esac | ||
+ | done | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== DB 복구용 스크립트 ===== | ||
+ | |||
+ | '' | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | ############## | ||
+ | # recovery 시작하기 전에 control1~3 에서 mariadb container를 종료하여야 한다. | ||
+ | # docker stop mariadb | ||
+ | |||
+ | echo "#################################################################################" | ||
+ | echo "###### | ||
+ | echo "###### | ||
+ | echo " | ||
+ | echo "" | ||
+ | echo " | ||
+ | echo "Do you wish to run MariaDB Recovery?" | ||
+ | |||
+ | select yn in " | ||
+ | case $yn in | ||
+ | Yes ) | ||
+ | cd ~; | ||
+ | echo 'stop control1 mariadb container...'; | ||
+ | ansible -m shell -a ' | ||
+ | if [ $? -eq 0 ]; then | ||
+ | echo " | ||
+ | kolla-ansible -i multinode mariadb_recovery; | ||
+ | else | ||
+ | echo " | ||
+ | fi | ||
+ | break;; | ||
+ | |||
+ | No ) exit;; | ||
+ | * ) exit;; | ||
+ | esac | ||
+ | done | ||
+ | |||
+ | </ | ||
+ | </ |