{"id":1015,"date":"2021-10-11T21:52:44","date_gmt":"2021-10-12T04:52:44","guid":{"rendered":"https:\/\/www.xh86.me\/?p=1015"},"modified":"2021-10-11T21:52:44","modified_gmt":"2021-10-12T04:52:44","slug":"kolla-ansible-%e5%a4%9a%e6%9c%ba%e9%83%a8%e7%bd%b2-v-%e7%89%88-openstack","status":"publish","type":"post","link":"https:\/\/www.xh86.me\/?p=1015","title":{"rendered":"Kolla-Ansible \u591a\u673a\u90e8\u7f72 V \u7248 OpenStack"},"content":{"rendered":"<h1 id=\"\u6d4b\u8bd5\u73af\u5883\u642d\u5efa\">\u6d4b\u8bd5\u73af\u5883\u642d\u5efa<\/h1>\n<p>\u4e4b\u524d\u628a\u672c\u5730\u955c\u50cf\u4ed3\u5e93\u3001OpenStack\u3001Jaeger \u5168\u90fd\u653e\u5728\u4e86\u4e00\u53f0\u4e3b\u673a\u4e0a\u8dd1\uff0c\u8d1f\u8f7d\u5f88\u5927\uff0c\u800c\u4e14\u4e5f\u4e0d\u4fdd\u9669\u3002\u73b0\u5728\u62c6\u5206\u4e3a 2 \u53f0\u4e3b\u673a\uff1a<\/p>\n<ol>\n<li>\u90e8\u7f72\u8282\u70b9\uff08Kolla-Ansible\uff09\n<ul>\n<li>Ubuntu 20.04<\/li>\n<li>4 CPU<\/li>\n<li>\u5185\u5b58 16 GB<\/li>\n<li>\u786c\u76d8 500 GB<\/li>\n<li>\u7f51\u53611<\/li>\n<\/ul>\n<\/li>\n<li>\u63a7\u5236\u8282\u70b9\uff08OpenStack\uff09\n<ul>\n<li>Ubuntu 20.04<\/li>\n<li>4 CPU<\/li>\n<li>\u5185\u5b58 16 GB<\/li>\n<li>\u786c\u76d8 500 GB<\/li>\n<li>\u7f51\u53611<\/li>\n<li>\u7f51\u53612\uff08\u672a\u542f\u7528\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>\u5728\u90e8\u7f72\u8282\u70b9\u7528 multinode \u914d\u7f6e\u8fdc\u7a0b\u90e8\u7f72 OpenStack\uff0c\u867d\u7136\u8fd9\u91cc\u53ea\u6709\u4e00\u53f0 OpenStack \u4e3b\u673a\ud83d\ude02<\/p>\n<h1 id=\"\u63a7\u5236\u8282\u70b9\">\u63a7\u5236\u8282\u70b9<\/h1>\n<p>\u63a7\u5236\u8282\u70b9\u53ea\u9700\u7ed9\u7528\u6237\u914d\u7f6e sudo \u6743\u9650<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u6dfb\u52a0\u7528\u6237<\/span><\/span>\r\n<span class=\"line\">sudo vim \/etc\/sudoers<\/span>\r\n<span class=\"line\"><span class=\"comment\">##includedir \/etc\/sudoers.d<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#op1 ALL=(ALL) NOPASSWD: ALL<\/span><\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<blockquote><p>Prior to Queens, when users want to connect using non-root user, they must add extra option\u00a0<code>ansible_become=True<\/code>\u00a0which is inconvenient and add security risk. In Queens, almost all services have support for escalation for only necessary tasks. In Rocky, all services have this capability, so users do not need to add\u00a0<code>ansible_become<\/code>\u00a0option if connection user has passwordless sudo capability.<\/p><\/blockquote>\n<h1 id=\"\u90e8\u7f72\u8282\u70b9\">\u90e8\u7f72\u8282\u70b9<\/h1>\n<h2 id=\"\u73af\u5883\u51c6\u5907\">\u73af\u5883\u51c6\u5907<\/h2>\n<ol>\n<li>\u914d\u7f6e Python3<br \/>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u8bbe\u4e3a\u9ed8\u8ba4<\/span><\/span>\r\n<span class=\"line\">sudo update-alternatives --install \/usr\/bin\/python python \/usr\/bin\/python3.8 1<\/span>\r\n<span class=\"line\"><span class=\"comment\">#sudo update-alternatives --remove python \/usr\/bin\/python3.8<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u5b89\u88c5 pip<\/span><\/span>\r\n<span class=\"line\">sudo apt install -y python3-pip<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<\/li>\n<li>\u66f4\u6362 pip \u6e90<br \/>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u521b\u5efa\u6587\u4ef6\u5939<\/span><\/span>\r\n<span class=\"line\">mkdir .pip &amp;&amp; <span class=\"built_in\">cd<\/span> .pip<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u521b\u5efa\u5e76\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6<\/span><\/span>\r\n<span class=\"line\">sudo vim pip.conf<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u914d\u7f6e\u5982\u4e0b<\/p>\n<figure class=\"highlight plain\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\">[global]<\/span>\r\n<span class=\"line\">timeout = 6000<\/span>\r\n<span class=\"line\">index-url = http:\/\/mirrors.aliyun.com\/pypi\/simple\/<\/span>\r\n<span class=\"line\">trusted-host = mirrors.aliyun.com<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<\/li>\n<li>\u66f4\u6362 Ubuntu \u6e90<br \/>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span>\r\n<span class=\"line\">13<\/span>\r\n<span class=\"line\">14<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u5907\u4efd<\/span><\/span>\r\n<span class=\"line\">sudo mv \/etc\/apt\/sources.list \/etc\/apt\/sources.list.bk<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u8bbe\u7f6e\u955c\u50cf\u6e90<\/span><\/span>\r\n<span class=\"line\">sudo vim \/etc\/apt\/sources.list<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u66f4\u65b0\u6e90<\/span><\/span>\r\n<span class=\"line\">sudo apt update<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u5347\u7ea7<\/span><\/span>\r\n<span class=\"line\">sudo apt dist-upgrade -y<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u91cd\u542f<\/span><\/span>\r\n<span class=\"line\">sudo reboot<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u955c\u50cf\u6e90\u914d\u7f6e\u5982\u4e0b\uff1a<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u9ed8\u8ba4\u6ce8\u91ca\u4e86\u6e90\u7801\u955c\u50cf\u4ee5\u63d0\u9ad8 apt update \u901f\u5ea6\uff0c\u5982\u6709\u9700\u8981\u53ef\u81ea\u884c\u53d6\u6d88\u6ce8\u91ca<\/span><\/span>\r\n<span class=\"line\">deb http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal main restricted universe multiverse<\/span>\r\n<span class=\"line\"><span class=\"comment\"># deb-src http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal main restricted universe multiverse<\/span><\/span>\r\n<span class=\"line\">deb http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-updates main restricted universe multiverse<\/span>\r\n<span class=\"line\"><span class=\"comment\"># deb-src http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-updates main restricted universe multiverse<\/span><\/span>\r\n<span class=\"line\">deb http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-backports main restricted universe multiverse<\/span>\r\n<span class=\"line\"><span class=\"comment\"># deb-src http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-backports main restricted universe multiverse<\/span><\/span>\r\n<span class=\"line\">deb http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-security main restricted universe multiverse<\/span>\r\n<span class=\"line\"><span class=\"comment\"># deb-src http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-security main restricted universe multiverse<\/span><\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<\/li>\n<li>\u914d\u7f6e\u514d\u5bc6\u767b\u5f55\n<p>\u6dfb\u52a0\u57df\u540d\u89e3\u6790 \/etc\/hosts<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># local<\/span><\/span>\r\n<span class=\"line\">10.111.1.125 controller<\/span>\r\n \r\n<span class=\"line\"><span class=\"comment\"># openstack<\/span><\/span>\r\n<span class=\"line\">10.111.1.250 openstack01<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u751f\u6210\u5bc6\u94a5\u5e76\u62f7\u8d1d\u5230\u76ee\u6807\u4e3b\u673a<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\">ssh-keygen<\/span>\r\n<span class=\"line\">ssh-copy-id -i \/home\/jck\/.ssh\/id_rsa.pub op1@openstack01<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<\/li>\n<li>\u5b89\u88c5\u4f9d\u8d56<br \/>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u66f4\u65b0\u6e90<\/span><\/span>\r\n<span class=\"line\">sudo apt update<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u5b89\u88c5 Python \u6784\u5efa\u4f9d\u8d56<\/span><\/span>\r\n<span class=\"line\">sudo apt install python3-dev libffi-dev gcc libssl-dev -y<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u5b89\u88c5\u00a0<code>venv<\/code>\uff0c\u521b\u5efa\u5e76\u4f7f\u7528\u865a\u62df\u73af\u5883<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u5b89\u88c5 venv<\/span><\/span>\r\n<span class=\"line\">sudo apt install python3-venv -y<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u521b\u5efa\u865a\u62df\u73af\u5883<\/span><\/span>\r\n<span class=\"line\">mkdir code<\/span>\r\n<span class=\"line\">python -m venv ~\/code<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u6fc0\u6d3b\u865a\u62df\u73af\u5883<\/span><\/span>\r\n<span class=\"line\"><span class=\"built_in\">source<\/span> ~\/code\/bin\/activate<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<\/li>\n<li>\u5b89\u88c5 Kolla-Ansible\uff0c\u6307\u5b9a Victoria \u7248\u672c<br \/>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span>\r\n<span class=\"line\">13<\/span>\r\n<span class=\"line\">14<\/span>\r\n<span class=\"line\">15<\/span>\r\n<span class=\"line\">16<\/span>\r\n<span class=\"line\">17<\/span>\r\n<span class=\"line\">18<\/span>\r\n<span class=\"line\">19<\/span>\r\n<span class=\"line\">20<\/span>\r\n<span class=\"line\">21<\/span>\r\n<span class=\"line\">22<\/span>\r\n<span class=\"line\">23<\/span>\r\n<span class=\"line\">24<\/span>\r\n<span class=\"line\">25<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u5b89\u88c5 Ansible<\/span><\/span>\r\n<span class=\"line\">pip install -U pip<\/span>\r\n<span class=\"line\">pip install <span class=\"string\">'ansible&lt;3.0'<\/span><\/span>\r\n<span class=\"line\">pip install kolla-ansible<\/span>\r\n<span class=\"line\">pip install kolla<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u4e0b\u8f7d\u6e90\u7801<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#pip install 'ansible&lt;2.10'<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#git clone https:\/\/github.com\/openstack\/kolla -b stable\/victoria<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#git clone https:\/\/github.com\/openstack\/kolla-ansible -b stable\/victoria<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># \u5b89\u88c5<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#pip install .\/kolla<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#pip install .\/kolla-ansible<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u521b\u5efa\u76ee\u5f55<\/span><\/span>\r\n<span class=\"line\">sudo mkdir -p \/etc\/kolla<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u6743\u9650\u8bbe\u7f6e<\/span><\/span>\r\n<span class=\"line\">sudo chown <span class=\"variable\">$USER<\/span>:<span class=\"variable\">$USER<\/span> \/etc\/kolla<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u62f7\u8d1d\u914d\u7f6e\u6587\u4ef6<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#cp -r kolla-ansible\/etc\/kolla\/* \/etc\/kolla<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#cp kolla-ansible\/ansible\/inventory\/* .<\/span><\/span>\r\n<span class=\"line\">cp -r \/home\/jck\/code\/share\/kolla-ansible\/etc_examples\/kolla\/* \/etc\/kolla<\/span>\r\n<span class=\"line\">cp \/home\/jck\/code\/share\/kolla-ansible\/ansible\/inventory\/* .<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<\/li>\n<li>\u914d\u7f6e Ansible<br \/>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u521b\u5efa<\/span><\/span>\r\n<span class=\"line\">sudo mkdir \/etc\/ansible<\/span>\r\n<span class=\"line\">sudo vim \/etc\/ansible\/ansible.cfg<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u914d\u7f6e\u5982\u4e0b<\/p>\n<figure class=\"highlight plain\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\">[defaults]<\/span>\r\n<span class=\"line\">host_key_checking=False<\/span>\r\n<span class=\"line\">pipelining=True<\/span>\r\n<span class=\"line\">forks=100<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<\/li>\n<li>\u5b89\u88c5 Docker \u548c docker-compose<br \/>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span>\r\n<span class=\"line\">13<\/span>\r\n<span class=\"line\">14<\/span>\r\n<span class=\"line\">15<\/span>\r\n<span class=\"line\">16<\/span>\r\n<span class=\"line\">17<\/span>\r\n<span class=\"line\">18<\/span>\r\n<span class=\"line\">19<\/span>\r\n<span class=\"line\">20<\/span>\r\n<span class=\"line\">21<\/span>\r\n<span class=\"line\">22<\/span>\r\n<span class=\"line\">23<\/span>\r\n<span class=\"line\">24<\/span>\r\n<span class=\"line\">25<\/span>\r\n<span class=\"line\">26<\/span>\r\n<span class=\"line\">27<\/span>\r\n<span class=\"line\">28<\/span>\r\n<span class=\"line\">29<\/span>\r\n<span class=\"line\">30<\/span>\r\n<span class=\"line\">31<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># docker<\/span><\/span>\r\n<span class=\"line\">sudo apt-get update<\/span>\r\n<span class=\"line\">sudo apt-get install -y \\<\/span>\r\n<span class=\"line\">    apt-transport-https \\<\/span>\r\n<span class=\"line\">    ca-certificates \\<\/span>\r\n<span class=\"line\">    curl \\<\/span>\r\n<span class=\"line\">    gnupg \\<\/span>\r\n<span class=\"line\">    lsb-release<\/span>\r\n \r\n<span class=\"line\">curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/usr\/share\/keyrings\/docker-archive-keyring.gpg<\/span>\r\n \r\n<span class=\"line\"><span class=\"built_in\">echo<\/span> \\<\/span>\r\n<span class=\"line\">  <span class=\"string\">\"deb [arch=amd64 signed-by=\/usr\/share\/keyrings\/docker-archive-keyring.gpg] https:\/\/download.docker.com\/linux\/ubuntu \\<\/span><\/span>\r\n<span class=\"line\"><span class=\"string\">  <span class=\"subst\">$(lsb_release -cs)<\/span> stable\"<\/span> | sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null<\/span>\r\n   \r\n<span class=\"line\">sudo apt-get update<\/span>\r\n<span class=\"line\">sudo apt-get install -y docker-ce docker-ce-cli containerd.io<\/span>\r\n \r\n<span class=\"line\"><span class=\"comment\"># \u7528\u6237\u7ec4\u8bbe\u7f6e<\/span><\/span>\r\n<span class=\"line\">sudo groupadd docker<\/span>\r\n<span class=\"line\">sudo usermod -aG docker <span class=\"variable\">$USER<\/span><\/span>\r\n<span class=\"line\">newgrp docker<\/span>\r\n \r\n<span class=\"line\"><span class=\"comment\"># \u5f00\u673a\u542f\u52a8<\/span><\/span>\r\n<span class=\"line\">sudo systemctl <span class=\"built_in\">enable<\/span> docker.service<\/span>\r\n<span class=\"line\">sudo systemctl <span class=\"built_in\">enable<\/span> containerd.service<\/span>\r\n \r\n<span class=\"line\"><span class=\"comment\"># docker-compose<\/span><\/span>\r\n<span class=\"line\">sudo curl -L <span class=\"string\">\"https:\/\/github.com\/docker\/compose\/releases\/download\/1.29.2\/docker-compose-<span class=\"subst\">$(uname -s)<\/span>-<span class=\"subst\">$(uname -m)<\/span>\"<\/span> -o \/usr\/<span class=\"built_in\">local<\/span>\/bin\/docker-compose<\/span>\r\n \r\n<span class=\"line\">sudo chmod +x \/usr\/<span class=\"built_in\">local<\/span>\/bin\/docker-compose<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u521b\u5efa\u914d\u7f6e\u6587\u4ef6 \/etc\/docker\/daemon.json\uff0c\u8bbe\u7f6e\u56fd\u5185\u955c\u50cf\u6e90<\/p>\n<figure class=\"highlight yaml\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span>\r\n<span class=\"line\">13<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\">{<\/span>\r\n<span class=\"line\">    <span class=\"attr\">\"registry-mirrors\":<\/span> [<\/span>\r\n<span class=\"line\">        <span class=\"string\">\"http:\/\/hub-mirror.c.163.com\"<\/span><\/span>\r\n<span class=\"line\">    ],<\/span>\r\n<span class=\"line\">    <span class=\"attr\">\"insecure-registries\":<\/span> [<\/span>\r\n<span class=\"line\">        <span class=\"string\">\"10.111.1.125:5000\"<\/span> <span class=\"comment\"># \u6307\u5411\u4e4b\u540e\u90e8\u7f72\u7684\u672c\u5730\u955c\u50cf\u4ed3\u5e93<\/span><\/span>\r\n<span class=\"line\">    ],<\/span>\r\n<span class=\"line\">    <span class=\"attr\">\"iptables\":<\/span> <span class=\"literal\">false<\/span>,<\/span>\r\n<span class=\"line\">    <span class=\"attr\">\"log-opts\":<\/span> {<\/span>\r\n<span class=\"line\">        <span class=\"attr\">\"max-file\":<\/span> <span class=\"string\">\"5\"<\/span>,<\/span>\r\n<span class=\"line\">        <span class=\"attr\">\"max-size\":<\/span> <span class=\"string\">\"50m\"<\/span><\/span>\r\n<span class=\"line\">    }<\/span>\r\n<span class=\"line\">}<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u91cd\u542f docker \u670d\u52a1<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\">sudo service docker restart<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<\/li>\n<\/ol>\n<h2 id=\"registry-registry-ui\">registry + registry-ui<\/h2>\n<p>\u76f4\u63a5\u4f7f\u7528\u00a0<a href=\"https:\/\/github.com\/Joxit\/docker-registry-ui\" target=\"_blank\" rel=\"noopener\">Joxit\/docker-registry-ui<\/a>\u00a0\u4ed3\u5e93\u7684\u793a\u4f8b\u914d\u7f6e\uff0c\u5728\u672c\u5730\u90e8\u7f72 registry \u548c registry-ui<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u514b\u9686\u4ed3\u5e93<\/span><\/span>\r\n<span class=\"line\">git <span class=\"built_in\">clone<\/span> https:\/\/github.com\/Joxit\/docker-registry-ui.git<\/span>\r\n<span class=\"line\"><span class=\"built_in\">cd<\/span> docker-registry-ui\/examples\/ui-as-standalone<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u4fee\u6539\u914d\u7f6e localhost -&gt; 10.111.1.125<\/span><\/span>\r\n<span class=\"line\">vim simple.yml<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u4fee\u6539\u914d\u7f6e Access-Control-Allow-Origin: ['*']<\/span><\/span>\r\n<span class=\"line\">vim registry-config\/simple.yml<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u8fd0\u884c\u5bb9\u5668<\/span><\/span>\r\n<span class=\"line\">docker-compose -f simple.yml up -d<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p><em>PS\uff1a\u7528\u5b8c\u4e4b\u540e\u624d\u53d1\u73b0\u5b8c\u5168\u53ef\u4ee5\u642d\u4e2a harbor \u7528\u2026<\/em><\/p>\n<p><a class=\"fancybox\" href=\"https:\/\/i.loli.net\/2021\/08\/31\/VrvtLg7TQ1YxwcH.png\" data-fancybox=\"group\" data-caption=\"\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/i.loli.net\/2021\/08\/31\/VrvtLg7TQ1YxwcH.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/i.loli.net\/2021\/08\/31\/VrvtLg7TQ1YxwcH.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" \/><\/div><\/a><\/p>\n<h2 id=\"\u6784\u5efa\u57fa\u7840\u955c\u50cf\">\u6784\u5efa\u57fa\u7840\u955c\u50cf<\/h2>\n<p>\u7f16\u5199 ubuntu 20.04 \u57fa\u7840\u955c\u50cf Dockerfile\uff0c\u66ff\u6362 source \u6e90\u548c pip \u6e90\uff0c<\/p>\n<figure class=\"highlight dockerfile\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"keyword\">FROM<\/span> ubuntu:<span class=\"number\">20.04<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"keyword\">ADD<\/span><span class=\"bash\"> pip.conf \/etc\/pip.conf<\/span><\/span>\r\n<span class=\"line\"><span class=\"keyword\">ADD<\/span><span class=\"bash\"> sources.list \/etc\/apt\/sources.list<\/span><\/span>\r\n<span class=\"line\"><span class=\"keyword\">RUN<\/span><span class=\"bash\"> apt-get update<\/span><\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u66ff\u6362 pip \u6e90\uff08pip.conf\uff09<\/p>\n<figure class=\"highlight ini\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"section\">[global]<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">timeout<\/span> = <span class=\"number\">6000<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">index-url<\/span> = http:\/\/mirrors.aliyun.com\/pypi\/simple\/<\/span>\r\n<span class=\"line\"><span class=\"attr\">trusted-host<\/span> = mirrors.aliyun.com<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u66ff\u6362 sources.list\uff0c\u6ce8\u610f\u8fd9\u91cc\u5199\u7684\u662f\u00a0<code>http<\/code><\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u9ed8\u8ba4\u6ce8\u91ca\u4e86\u6e90\u7801\u955c\u50cf\u4ee5\u63d0\u9ad8 apt update \u901f\u5ea6\uff0c\u5982\u6709\u9700\u8981\u53ef\u81ea\u884c\u53d6\u6d88\u6ce8\u91ca<\/span><\/span>\r\n<span class=\"line\">deb http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal main restricted universe multiverse<\/span>\r\n<span class=\"line\"><span class=\"comment\"># deb-src http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal main restricted universe multiverse<\/span><\/span>\r\n<span class=\"line\">deb http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-updates main restricted universe multiverse<\/span>\r\n<span class=\"line\"><span class=\"comment\"># deb-src http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-updates main restricted universe multiverse<\/span><\/span>\r\n<span class=\"line\">deb http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-backports main restricted universe multiverse<\/span>\r\n<span class=\"line\"><span class=\"comment\"># deb-src http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-backports main restricted universe multiverse<\/span><\/span>\r\n<span class=\"line\">deb http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-security main restricted universe multiverse<\/span>\r\n<span class=\"line\"><span class=\"comment\"># deb-src http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu\/ focal-security main restricted universe multiverse<\/span><\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u6784\u5efa\u955c\u50cf\u5e76\u53d1\u5e03\u5230 dockerhub<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u6784\u5efa\u955c\u50cf\uff0c--network=host \u907f\u514d\u57df\u540d\u89e3\u6790\u9519\u8bef<\/span><\/span>\r\n<span class=\"line\">docker build --network=host -t lycanj\/kolla_ansible-base_image-ubuntu:20.04 .<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u767b\u5f55 dockerhub<\/span><\/span>\r\n<span class=\"line\">docker login<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u4e0a\u4f20\u5230 dockerhub<\/span><\/span>\r\n<span class=\"line\">docker push lycanj\/kolla_ansible-base_image-ubuntu:20.04<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p><a class=\"fancybox\" href=\"https:\/\/i.loli.net\/2021\/08\/31\/4KVtSW6Bx5NYaeh.jpg\" data-fancybox=\"group\" data-caption=\"\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/i.loli.net\/2021\/08\/31\/4KVtSW6Bx5NYaeh.jpg'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/i.loli.net\/2021\/08\/31\/4KVtSW6Bx5NYaeh.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" \/><\/div><\/a><\/p>\n<h2 id=\"\u6784\u5efa\u7ec4\u4ef6\u955c\u50cf\">\u6784\u5efa\u7ec4\u4ef6\u955c\u50cf<\/h2>\n<p>\u4e0b\u8f7d Victoria \u7ec4\u4ef6\u6e90\u7801<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\">git <span class=\"built_in\">clone<\/span> https:\/\/github.com\/openstack\/keystone.git --branch stable\/victoria --single-branch<\/span>\r\n<span class=\"line\">git <span class=\"built_in\">clone<\/span> https:\/\/github.com\/openstack\/glance.git --branch stable\/victoria --single-branch<\/span>\r\n<span class=\"line\">git <span class=\"built_in\">clone<\/span> https:\/\/github.com\/openstack\/nova.git --branch stable\/victoria --single-branch<\/span>\r\n<span class=\"line\">git <span class=\"built_in\">clone<\/span> https:\/\/github.com\/openstack\/neutron.git --branch stable\/victoria --single-branch<\/span>\r\n<span class=\"line\">git <span class=\"built_in\">clone<\/span> https:\/\/github.com\/openstack\/heat.git --branch stable\/victoria --single-branch<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u4f7f\u7528 kolla-build \u751f\u6210\u955c\u50cf\uff0c\u5e76 push \u5230\u672c\u5730\u4ed3\u5e93\u3002\u4e0b\u8f7d kolla \u4ed3\u5e93\u5e76\u4f7f\u7528 tox \u751f\u6210\u914d\u7f6e\u6587\u4ef6\u3002<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u514b\u9686\u4ed3\u5e93<\/span><\/span>\r\n<span class=\"line\">git <span class=\"built_in\">clone<\/span> https:\/\/github.com\/openstack\/kolla.git --branch stable\/victoria<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u5b89\u88c5 tox\uff08\u865a\u62df\u73af\u5883\u4e2d\uff09<\/span><\/span>\r\n<span class=\"line\">pip install tox<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u751f\u6210\u914d\u7f6e\u6587\u4ef6<\/span><\/span>\r\n<span class=\"line\"><span class=\"built_in\">cd<\/span> kolla<\/span>\r\n<span class=\"line\">tox -e genconfig<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u4fee\u6539\u914d\u7f6e\u6587\u4ef6<\/span><\/span>\r\n<span class=\"line\">vim kolla\/etc\/kolla\/kolla-build.conf<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff0c\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n<ul>\n<li>\u6307\u5b9a\u57fa\u7840 ubuntu \u955c\u50cf<\/li>\n<li>\u4f7f\u7528\u6e90\u7801\u6784\u5efa\u955c\u50cf<\/li>\n<\/ul>\n<figure class=\"highlight ini\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span>\r\n<span class=\"line\">13<\/span>\r\n<span class=\"line\">14<\/span>\r\n<span class=\"line\">15<\/span>\r\n<span class=\"line\">16<\/span>\r\n<span class=\"line\">17<\/span>\r\n<span class=\"line\">18<\/span>\r\n<span class=\"line\">19<\/span>\r\n<span class=\"line\">20<\/span>\r\n<span class=\"line\">21<\/span>\r\n<span class=\"line\">22<\/span>\r\n<span class=\"line\">23<\/span>\r\n<span class=\"line\">24<\/span>\r\n<span class=\"line\">25<\/span>\r\n<span class=\"line\">26<\/span>\r\n<span class=\"line\">27<\/span>\r\n<span class=\"line\">28<\/span>\r\n<span class=\"line\">29<\/span>\r\n<span class=\"line\">30<\/span>\r\n<span class=\"line\">31<\/span>\r\n<span class=\"line\">32<\/span>\r\n<span class=\"line\">33<\/span>\r\n<span class=\"line\">34<\/span>\r\n<span class=\"line\">35<\/span>\r\n<span class=\"line\">36<\/span>\r\n<span class=\"line\">37<\/span>\r\n<span class=\"line\">38<\/span>\r\n<span class=\"line\">39<\/span>\r\n<span class=\"line\">40<\/span>\r\n<span class=\"line\">41<\/span>\r\n<span class=\"line\">42<\/span>\r\n<span class=\"line\">43<\/span>\r\n<span class=\"line\">44<\/span>\r\n<span class=\"line\">45<\/span>\r\n<span class=\"line\">46<\/span>\r\n<span class=\"line\">47<\/span>\r\n<span class=\"line\">48<\/span>\r\n<span class=\"line\">49<\/span>\r\n<span class=\"line\">50<\/span>\r\n<span class=\"line\">51<\/span>\r\n<span class=\"line\">52<\/span>\r\n<span class=\"line\">53<\/span>\r\n<span class=\"line\">54<\/span>\r\n<span class=\"line\">55<\/span>\r\n<span class=\"line\">56<\/span>\r\n<span class=\"line\">57<\/span>\r\n<span class=\"line\">58<\/span>\r\n<span class=\"line\">59<\/span>\r\n<span class=\"line\">60<\/span>\r\n<span class=\"line\">61<\/span>\r\n<span class=\"line\">62<\/span>\r\n<span class=\"line\">63<\/span>\r\n<span class=\"line\">64<\/span>\r\n<span class=\"line\">65<\/span>\r\n<span class=\"line\">66<\/span>\r\n<span class=\"line\">67<\/span>\r\n<span class=\"line\">68<\/span>\r\n<span class=\"line\">69<\/span>\r\n<span class=\"line\">70<\/span>\r\n<span class=\"line\">71<\/span>\r\n<span class=\"line\">72<\/span>\r\n<span class=\"line\">73<\/span>\r\n<span class=\"line\">74<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"section\">[DEFAULT]<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># The distro type of the base image. (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># Possible values:<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># centos - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># rhel - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># ubuntu - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># debian - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">base<\/span> = ubuntu<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># The base image name. Default is the same with base. (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">base_image<\/span> = lycanj\/kolla_ansible-base_image-ubuntu<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># The Docker namespace name (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#namespace = kolla<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># The network mode for Docker build. Example: host (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">network_mode<\/span> = host<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># Push images after building (boolean value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">push<\/span> = <span class=\"literal\">true<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># The docker registry host. The default registry host is Docker Hub<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">registry<\/span> = <span class=\"number\">10.111<\/span>.<span class=\"number\">1.125<\/span>:<span class=\"number\">5000<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># The method of the OpenStack install. (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># Possible values:<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># binary - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># source - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># rdo - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># rhos - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">install_type<\/span> = source<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># The Docker tag (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">tag<\/span> = victoria<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># OpenStack release for building kolla-toolbox (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">openstack_release<\/span> = victoria<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># Branch for source images (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">openstack_branch<\/span> = victoria-stable<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># Content of the maintainer label (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#maintainer = Kolla Project (https:\/\/launchpad.net\/kolla)<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># Path to custom sources.list (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#apt_sources_list = &lt;None&gt;<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"section\">[keystone-base]<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># Source location type (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># Possible values:<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># local - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># git - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># url - &lt;No description provided&gt;<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">type<\/span> = local<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># The location for source install (string value)<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">location<\/span> = \/home\/jck\/keystone<\/span>\r\n\r\n<span class=\"line\"><span class=\"section\">[glance-base]<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">type<\/span> = local<\/span>\r\n<span class=\"line\"><span class=\"attr\">location<\/span> = \/home\/jck\/glance<\/span>\r\n\r\n<span class=\"line\"><span class=\"section\">[nova-base]<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">type<\/span> = local<\/span>\r\n<span class=\"line\"><span class=\"attr\">location<\/span> = \/home\/jck\/nova<\/span>\r\n\r\n<span class=\"line\"><span class=\"section\">[neutron-base]<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">type<\/span> = local<\/span>\r\n<span class=\"line\"><span class=\"attr\">location<\/span> = \/home\/jck\/neutron<\/span>\r\n\r\n<span class=\"line\"><span class=\"section\">[heat-base]<\/span><\/span>\r\n<span class=\"line\"><span class=\"attr\">type<\/span> = local<\/span>\r\n<span class=\"line\"><span class=\"attr\">location<\/span> = \/home\/jck\/heat<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u7136\u540e\u6307\u5b9a\u8be5\u914d\u7f6e\u6587\u4ef6\u6784\u5efa\u955c\u50cf<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\">kolla-build --config-file ~\/kolla\/etc\/kolla\/kolla-build.conf<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p><a class=\"fancybox\" href=\"https:\/\/i.loli.net\/2021\/08\/31\/XHqEmYQgOL2lBU7.png\" data-fancybox=\"group\" data-caption=\"\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/i.loli.net\/2021\/08\/31\/XHqEmYQgOL2lBU7.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/i.loli.net\/2021\/08\/31\/XHqEmYQgOL2lBU7.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" \/><\/div><\/a><\/p>\n<h2 id=\"\u90e8\u7f72-OpenStack\">\u90e8\u7f72 OpenStack<\/h2>\n<p>\u4fee\u6539 multinode \u914d\u7f6e\uff0c\u7f16\u8f91\u6700\u524d\u9762\u7684\u51e0\u9879\uff0c\u5c06\u76ee\u6807\u4e3b\u673a\u8bbe\u7f6e\u4e3a\u00a0<code>openstack01<\/code><\/p>\n<figure class=\"highlight\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span>\r\n<span class=\"line\">13<\/span>\r\n<span class=\"line\">14<\/span>\r\n<span class=\"line\">15<\/span>\r\n<span class=\"line\">16<\/span>\r\n<span class=\"line\">17<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"section\">[control]<\/span><\/span>\r\n<span class=\"line\">openstack01       ansible_user=op1<\/span>\r\n\r\n<span class=\"line\"><span class=\"section\">[network]<\/span><\/span>\r\n<span class=\"line\">openstack01       ansible_user=op1<\/span>\r\n\r\n<span class=\"line\"><span class=\"section\">[compute]<\/span><\/span>\r\n<span class=\"line\">openstack01       ansible_user=op1<\/span>\r\n\r\n<span class=\"line\"><span class=\"section\">[monitoring]<\/span><\/span>\r\n<span class=\"line\">openstack01       ansible_user=op1<\/span>\r\n\r\n<span class=\"line\"><span class=\"section\">[storage]<\/span><\/span>\r\n<span class=\"line\">openstack01       ansible_user=op1<\/span>\r\n\r\n<span class=\"line\"><span class=\"section\">[deployment]<\/span><\/span>\r\n<span class=\"line\">localhost       ansible_connection=local<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u6d4b\u8bd5\u662f\u5426\u53ef\u8fbe<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\">ansible -i ~\/multinode all -m ping<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u53c2\u7167\u539f\u59cb\u7684\u914d\u7f6e\u7f16\u5199\u7cbe\u7b80\u914d\u7f6e\uff08\u53ea\u8bbe\u7f6e\u7528\u5230\u7684\u9009\u9879\uff09<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u751f\u6210\u7684\u793a\u4f8b\u914d\u7f6e\u6587\u4ef6<\/span><\/span>\r\n<span class=\"line\">\/etc\/kolla\/globals.yml<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u521b\u5efa\u7cbe\u7b80\u914d\u7f6e\u6587\u4ef6<\/span><\/span>\r\n<span class=\"line\">vim ~\/globals.yml <\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n<ul>\n<li>\u6307\u5b9a\u4f7f\u7528\u6e90\u7801\u6784\u5efa\u7684\u955c\u50cf\u00a0<code>openstack_tag=victoria<\/code><\/li>\n<\/ul>\n<figure class=\"highlight\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span>\r\n<span class=\"line\">13<\/span>\r\n<span class=\"line\">14<\/span>\r\n<span class=\"line\">15<\/span>\r\n<span class=\"line\">16<\/span>\r\n<span class=\"line\">17<\/span>\r\n<span class=\"line\">18<\/span>\r\n<span class=\"line\">19<\/span>\r\n<span class=\"line\">20<\/span>\r\n<span class=\"line\">21<\/span>\r\n<span class=\"line\">22<\/span>\r\n<span class=\"line\">23<\/span>\r\n<span class=\"line\">24<\/span>\r\n<span class=\"line\">25<\/span>\r\n<span class=\"line\">26<\/span>\r\n<span class=\"line\">27<\/span>\r\n<span class=\"line\">28<\/span>\r\n<span class=\"line\">29<\/span>\r\n<span class=\"line\">30<\/span>\r\n<span class=\"line\">31<\/span>\r\n<span class=\"line\">32<\/span>\r\n<span class=\"line\">33<\/span>\r\n<span class=\"line\">34<\/span>\r\n<span class=\"line\">35<\/span>\r\n<span class=\"line\">36<\/span>\r\n<span class=\"line\">37<\/span>\r\n<span class=\"line\">38<\/span>\r\n<span class=\"line\">39<\/span>\r\n<span class=\"line\">40<\/span>\r\n<span class=\"line\">41<\/span>\r\n<span class=\"line\">42<\/span>\r\n<span class=\"line\">43<\/span>\r\n<span class=\"line\">44<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># Valid options are ['centos', 'debian', 'rhel', 'ubuntu']<\/span><\/span>\r\n<span class=\"line\">kolla_base_distro: \"ubuntu\"<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># Valid options are [ binary, source ]<\/span><\/span>\r\n<span class=\"line\">kolla_install_type: \"source\"<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># Do not override this unless you know what you are doing.<\/span><\/span>\r\n<span class=\"line\">openstack_release: \"victoria\"<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># Docker image tag used by default.<\/span><\/span>\r\n<span class=\"line\">openstack_tag: \"victoria\"<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># This should be a VIP, an unused IP on your network that will float between<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># the hosts running keepalived for high-availability. If you want to run an<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># All-In-One without haproxy and keepalived, you can set enable_haproxy to no<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># in \"OpenStack options\" section, and set this value to the IP of your<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># 'network_interface' as set in the Networking section below.<\/span><\/span>\r\n<span class=\"line\">kolla_internal_vip_address: \"10.111.1.251\" # \u548c network_interface \u540c\u7f51\u6bb5<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># Custom docker registry settings:<\/span><\/span>\r\n<span class=\"line\">docker_registry: 10.111.1.125:5000<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># Namespace of images:<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#docker_namespace: \"kolla\"<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># This interface is what all your api services will be bound to by default.<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># Additionally, all vxlan\/tunnel and storage network traffic will go over this<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># interface by default. This interface must contain an IP address.<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># It is possible for hosts to have non-matching names of interfaces - these can<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># be set in an inventory file per host or per group or stored separately, see<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\">#     http:\/\/docs.ansible.com\/ansible\/intro_inventory.html<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># Yet another way to workaround the naming problem is to create a bond for the<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># interface on all hosts and give the bond name here. Similar strategy can be<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># followed for other types of interfaces.<\/span><\/span>\r\n<span class=\"line\">network_interface: \"ens160\"<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># This is the raw interface given to neutron as its external network port. Even<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># though an IP address can exist on this interface, it will be unusable in most<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># configurations. It is recommended this interface not be configured with any IP<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># addresses for that reason.<\/span><\/span>\r\n<span class=\"line\">neutron_external_interface: \"ens192\" # \u7a7a\u95f2\u7f51\u5361<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># Valid options are [ qemu, kvm, vmware ]<\/span><\/span>\r\n<span class=\"line\">nova_compute_virt_type: \"qemu\"<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u751f\u6210\u968f\u673a\u5bc6\u7801\uff0c\u5e76\u62f7\u8d1d\u5230\u5f53\u524d\u76ee\u5f55<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u751f\u6210\u5bc6\u7801<\/span><\/span>\r\n<span class=\"line\">kolla-genpwd<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u62f7\u8d1d<\/span><\/span>\r\n<span class=\"line\">cp \/etc\/kolla\/passwords.yml ~\/passwords.yml<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u90e8\u7f72 OpenStack<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span>\r\n<span class=\"line\">13<\/span>\r\n<span class=\"line\">14<\/span>\r\n<span class=\"line\">15<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># bootstrap<\/span><\/span>\r\n<span class=\"line\">kolla-ansible -i ~\/multinode --configdir ~ bootstrap-servers<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u68c0\u67e5<\/span><\/span>\r\n<span class=\"line\">kolla-ansible -i ~\/multinode --configdir ~ prechecks<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u62c9\u53d6\u955c\u50cf<\/span><\/span>\r\n<span class=\"line\"><span class=\"comment\"># kolla-ansible -i ~\/multinode --configdir ~ pull<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u90e8\u7f72<\/span><\/span>\r\n<span class=\"line\">kolla-ansible -i ~\/multinode --configdir ~ deploy<\/span>\r\n<span class=\"line\"><span class=\"comment\"># kolla-ansible -i ~\/multinode --configdir ~ reconfigure<\/span><\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u90e8\u7f72\u5931\u8d25<\/span><\/span>\r\n<span class=\"line\">kolla-ansible -i ~\/multinode --configdir ~ destroy --yes-i-really-really-mean-it<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<h1 id=\"\u9a8c\u8bc1\">\u9a8c\u8bc1<\/h1>\n<p>\u5728\u90e8\u7f72\u8282\u70b9\u4e0a\u6267\u884c\u4ee5\u4e0b\u6307\u4ee4\uff0c\u751f\u6210\u8eab\u4efd\u8ba4\u8bc1\u6587\u4ef6<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u5b89\u88c5 OpenStack CLI \u5ba2\u6237\u7aef<\/span><\/span>\r\n<span class=\"line\">pip install python-openstackclient<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u751f\u6210\u8ba4\u8bc1\u6587\u4ef6<\/span><\/span>\r\n<span class=\"line\">kolla-ansible -i ~\/multinode --configdir ~ post-deploy<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u8eab\u4efd\u8ba4\u8bc1<\/span><\/span>\r\n<span class=\"line\">. ~\/admin-openrc.sh<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u4f7f\u7528 Kolla-Ansible \u81ea\u5e26\u7684\u811a\u672c\u6d4b\u8bd5<\/p>\n<figure class=\"highlight bash\">\n<div class=\"highlight-tools \"><i class=\"fas fa-angle-down expand \"><\/i><\/p>\n<div class=\"copy-notice\"><\/div>\n<p><i class=\"fas fa-paste copy-button\"><\/i><\/div>\n<table>\n<tbody>\n<tr>\n<td class=\"gutter\">\n<pre><span class=\"line\">1<\/span>\r\n<span class=\"line\">2<\/span>\r\n<span class=\"line\">3<\/span>\r\n<span class=\"line\">4<\/span>\r\n<span class=\"line\">5<\/span>\r\n<span class=\"line\">6<\/span>\r\n<span class=\"line\">7<\/span>\r\n<span class=\"line\">8<\/span>\r\n<span class=\"line\">9<\/span>\r\n<span class=\"line\">10<\/span>\r\n<span class=\"line\">11<\/span>\r\n<span class=\"line\">12<\/span>\r\n<span class=\"line\">13<\/span><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"line\"><span class=\"comment\"># \u6267\u884c\u811a\u672c\u751f\u6210\u793a\u4f8b\u7f51\u7edc\u3001\u955c\u50cf\u3001\u5b9e\u4f8b\u7b49<\/span><\/span>\r\n<span class=\"line\">~\/code\/share\/kolla-ansible\/init-runonce<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u521b\u5efa\u5b9e\u4f8b<\/span><\/span>\r\n<span class=\"line\">openstack server create \\<\/span>\r\n<span class=\"line\">    --image cirros \\<\/span>\r\n<span class=\"line\">    --flavor m1.tiny \\<\/span>\r\n<span class=\"line\">    --key-name mykey \\<\/span>\r\n<span class=\"line\">    --network demo-net \\<\/span>\r\n<span class=\"line\">    demo1<\/span>\r\n\r\n<span class=\"line\"><span class=\"comment\"># \u786e\u8ba4\u5b9e\u4f8b\u72b6\u6001<\/span><\/span>\r\n<span class=\"line\">openstack server list<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p><a class=\"fancybox\" href=\"https:\/\/i.loli.net\/2021\/08\/31\/RYBPvwHzVpFrm84.jpg\" data-fancybox=\"group\" data-caption=\"\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/i.loli.net\/2021\/08\/31\/RYBPvwHzVpFrm84.jpg'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/i.loli.net\/2021\/08\/31\/RYBPvwHzVpFrm84.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" width=\"80%\" \/><\/div><\/a><\/p>\n<p>\u76f4\u63a5\u8bbf\u95ee\u00a0<a href=\"http:\/\/10.111.1.250\/\" target=\"_blank\" rel=\"noopener\">http:\/\/10.111.1.250<\/a>\u00a0\u53ef\u4ee5\u770b\u5230\u521a\u624d\u521b\u5efa\u7684\u5b9e\u4f8b\u6240\u5360\u7528\u7684\u8d44\u6e90<\/p>\n<ul>\n<li>\u7528\u6237\u540d\u5bc6\u7801\u67e5\u770b admin-openrc.sh \u6587\u4ef6\u5373\u53ef<\/li>\n<\/ul>\n<p><a class=\"fancybox\" href=\"https:\/\/i.loli.net\/2021\/08\/31\/QFzHXR43DqjsdwO.png\" data-fancybox=\"group\" data-caption=\"\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/i.loli.net\/2021\/08\/31\/QFzHXR43DqjsdwO.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/i.loli.net\/2021\/08\/31\/QFzHXR43DqjsdwO.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" \/><\/div><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6d4b\u8bd5\u73af\u5883\u642d\u5efa \u4e4b\u524d\u628a\u672c\u5730\u955c\u50cf\u4ed3\u5e93\u3001OpenStack\u3001Jaeger \u5168\u90fd\u653e\u5728\u4e86\u4e00\u53f0\u4e3b\u673a\u4e0a\u8dd1\uff0c\u8d1f\u8f7d\u5f88\u5927\uff0c\u800c\u4e14\u4e5f\u4e0d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-1015","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/1015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1015"}],"version-history":[{"count":1,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/1015\/revisions"}],"predecessor-version":[{"id":1016,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/1015\/revisions\/1016"}],"wp:attachment":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}