自動化kolla-ansible部署ubuntu20.04+openstack-victoria單機


自動化kolla-ansible部署ubuntu20.04+openstack-victoria單機

歡迎加QQ群:1026880196 進行交流學習

 

一. 環境信息

1. 硬件信息

型號:Dell R730
CPU:Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz*2
內存:DDR4 192GB
系統: SSD480GB*2 raid 1  /dev/sda
數據: SSD480GB*6 raid 10 /dev/sdb
網卡: eno1 192.168.1.83    eno2 dhcp(需要路由器或者交換機開啟dhcp  網卡能夠自動獲取IP地址)   
 

2. 系統信息

#系統安裝參考https://www.cnblogs.com/yyx66/p/14515383.html 
#系統鏡像下載地址:
網易:   http://mirrors.163.com/ubuntu-releases/20.04.2.0/ubuntu-20.04.2-live-server-amd64.iso
中科大:  https://mirrors.ustc.edu.cn/ubuntu-releases/20.04.2.0/ubuntu-20.04.2-live-server-amd64.iso
ubuntu-20.04.2-live-server-amd64.iso 
  英文=標准安裝

  系統分區
  /boot 1000M /swap 8192M 其余/

  設置主機名
  sudo hostnamectl set-hostname sstack


3. 配置hosts
sudo vim /etc/hosts
192.168.1.82 kolla.zixuanyun.com
192.168.1.83 sstack
 

4. 配置ssh
sudo vim /etc/ssh/sshd_config 

100行  #ClientAliveInterval 0
101行  #ClientAliveCountMax 3
修改成
ClientAliveInterval 60
ClientAliveCountMax 60

重啟ssh服務
sudo systemctl restart sshd && systemctl status sshd

5.  配置ssh允許root登陸(切換到root管理員權限下 su  root )
sed -i '/PermitRootLogin/d' /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
service sshd reload
 

6. ssh免密驗證 #sstack節點操作
ssh-keygen
ssh-copy-id root@sstack
 

7. 配置國內源

1.備份
sudo cp -v /etc/apt/sources.list /etc/apt/sources.list.backup


2.修改文件權限,確保文件可修改
sudo chmod 777 /etc/apt/sources.list


3.使用圖形化界面或vim直接修改文件內容
> /etc/apt/sources.list
vim /etc/apt/sources.list


4.將文件中的原內容全部注釋,添加國內源地址



清華源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan focal restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan focal restricted universe multiverse 
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-updates focal restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-updates focal restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-backports focal restricted universe multiverse 
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-backports focal restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-security focal restricted universe multiverse 
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-security focal restricted universe multiverse 
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-proposed focal restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-proposed focal restricted universe multiverse4.

修改完成后記得點擊圖形界面的保存按鈕/vim中按esc推出編輯模式,輸入:wq保存並退出


5.更新軟件
sudo apt update  -y
sudo apt upgrade -y


8. 設置默認python、pip(軟連接)並換源

Pip
pip是一個用來安裝Python軟件包的工具,由於Python 2已經退出了歷史的舞台,Ubuntu20.04也移除了Python 2,所以不能夠使用python-pip安裝pip。


1. 安裝pip3
sudo apt-get install python3-pip -y


2. 當安裝結束,檢查pip版本:
pip3 --version


3. 更換pip源
pip默認使用境外源,下載速度較慢且時而報錯,我們可以更換為國內的pip源:

mkdir ~/.pip/
cd .pip
sudo vim pip.conf

將下列內容加入到pip.conf文件中:
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn



4. 查看當前源:
pip3 config list


#其他國內源:

# 清華源
https://pypi.tuna.tsinghua.edu.cn/simple
# 騰訊源
http://mirrors.cloud.tencent.com/pypi/simple
# 豆瓣源
http://pypi.douban.com/simple/


5. 更新pip
sudo pip3 install --upgrade pip

 

二. 配置環境

1.  更新軟件包索引  
sudo apt-get update -y


2.  安裝常用軟件包
sudo apt-get install python3-dev libffi-dev gcc libssl-dev -y


3. 安裝python3-pip
sudo apt-get install python3-pip -y


4.  升級pip
sudo pip3 install -U pip


5.  安裝docker。之前有安裝過 docker , 先刪除(新安裝的20.04版本沒有安裝,其他版本可能會默認安裝了)
sudo apt-get remove docker docker-engine docker.io containerd runc


6.  安裝依賴
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y


7.  信任 docker 的 GPG 公鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -


8.  添加軟件倉庫
sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"


9.  更新並安裝軟件
sudo apt-get update -y
sudo apt-get install docker-ce docker-ce-cli containerd.io -y


10.  設置開機啟動
sudo systemctl enable docker && systemctl start docker && sudo systemctl status docker


11.  設置 docker 鏡像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://3wk75oh9.mirror.aliyuncs.com"], "insecure-registries": ["kolla2.zixuanyun.com:4000"] } EOF 12. 重新加載 sudo systemctl daemon-reload && systemctl restart docker && sudo systemctl status docker 

#以下在sstack節點安裝 1. 安裝ansible # 版本等於2.9.18 #查看Ansible版本 ansible --version sudo pip3 install -U 'ansible<2.10'

2. 將python默認版本為python2,改為python3 然后安裝docker

ln -svf /usr/bin/python3 /usr/bin/python
pip3 install -U docker

 
3. 安裝kolla-ansilbe 版本 對於victoria版本 要指定pip install kolla-ansible==11.0.0 
pip3 install kolla-ansible==11.0.0

4. 創建/etc/kolla目錄 sudo mkdir -p /etc/kolla
sudo chown $USER:$USER /etc/kolla

5. 復制globals.yml並passwords.yml到/etc/kolla目錄
cp -r /usr/local/share/kolla-ansible/etc_examples/kolla/* /etc/kolla

6. 將文件復制all-in-one並multinode清點到當前目錄
cp /usr/local/share/kolla-ansible/ansible/inventory/* .

 

三. 文件配置

1.  配置globals.yml文件,開啟需要的文件
vim /etc/kolla/globals.yml 

kolla_base_distro: "ubuntu"
kolla_install_type: "source"
openstack_release: "victoria"
node_custom_config: "/etc/kolla/config"
kolla_internal_vip_address: "192.168.1.82"
kolla_internal_fqdn: "kolla.zixuanyun.com"
docker_registry: "kolla2.zixuanyun.com:4000"
docker_namespace: "kolla"
docker_client_timeout: 120
network_interface: "eno1"
neutron_external_interface: "eno2"
neutron_plugin_agent: "openvswitch"
neutron_tenant_network_types: "vxlan,vlan,flat"
keepalived_virtual_router_id: "56"
#enable_chrony: "no"
enable_cinder: "yes"
enable_cinder_backup: "no"
enable_cinder_backend_lvm: "yes"
enable_heat: "no"
enable_neutron_provider_networks: "yes"
cinder_volume_group: "cinder-volumes"
nova_compute_virt_type: "kvm"
nova_console: "spice"


2.  配置 vim all-in-one 
vim /root/all-in-one 

修改如下:
[control]
sstack

[network]
sstack

[compute]
sstack

[storage]
sstack

[monitoring]
sstack

[deployment]
sstack



3.   生成隨機密碼
kolla-genpwd



4.  修改界面登陸密碼為xuanyi100
sed -i 's/^keystone_admin_password.*/keystone_admin_password: xuanyi100/' /etc/kolla/passwords.yml



5.  為后端存儲准備
#格式化 
mkfs.ext4  /dev/sdb
pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb



6.  設置nova配置文件
mkdir /etc/kolla/config
mkdir /etc/kolla/config/nova

cat >> /etc/kolla/config/nova/nova-compute.conf << EOF
[libvirt]
inject_password=true
cpu_mode=host-passthrough
virt_type = kvm 
EOF


7.  配置nova配額分配
cat >> /etc/kolla/config/nova.conf << EOF
[DEFAULT]
service_down_time = 120
cpu_allocation_ratio = 4.0   
disk_allocation_ratio=1.0
ram_allocation_ratio = 1.0   
reserved_host_disk_mb = 8192 
reserved_host_memory_mb = 8192 
allow_resize_to_same_host = True    
remove_unused_base_images = False
image_cache_manager_interval = 0
resume_guests_state_on_host_boot = True
EOF


8.  創建虛擬機界面禁止默認創建新卷.
mkdir /etc/kolla/config/horizon

cat >> /etc/kolla/config/horizon/custom_local_settings << EOF
LAUNCH_INSTANCE_DEFAULTS = {'create_volume': False,}
EOF

 

四. 部署安裝


#sstack上執行
1. 檢查
ansible -i all-in-one all -m ping
kolla-ansible -i ./all-in-one prechecks -vv

 

 

2. 引導各節點依賴
kolla-ansible -i ./all-in-one bootstrap-servers -vv


3. 部署
kolla-ansible -i ./all-in-one deploy -vv

 

 

4. 安裝OpenStack CLI客戶端:
add-apt-repository cloud-archive:victoria
apt update && apt dist-upgrade
apt install python3-openstackclient -y


5. 部署完成后生成rc文件
kolla-ansible -i all-in-one post-deploy
cp /etc/kolla/admin-openrc.sh ./
chmod +x admin-openrc.sh


6. 設置環境變量:
source /root/admin-openrc.sh


7. 編輯初始化腳本中的網絡配置
vim /usr/local/share/kolla-ansible/init-runonce
EXT_NET_CIDR=${EXT_NET_CIDR:-'192.168.1.0/24'}
EXT_NET_RANGE=${EXT_NET_RANGE:-'start=192.168.1.87,end=192.168.1.200'}
EXT_NET_GATEWAY=${EXT_NET_GATEWAY:-'192.168.1.1'}


8. 執行初始化腳本:
. /usr/local/share/kolla-ansible/init-runonce


9. 訪問dashbaord
http://kolla.zixuanyun.com admin zixuanyun

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM