KollaインストールOcataシングルノード

8172 ワード

みんなは私のblogを見て、実はずっとKollaのインストールの過程を書いたことがなくて、実は私が書きたくないのではありませんて、ユーザーにとって、私の文章を参考にして、ネットの帯域幅の原因のため、彼は実はとてもやりにくいです.
いろいろな試みを経て、OpenStackのOcataバージョンがリリースされたとき、インストールの様々な問題を解決する方法があると思います.
私はやはり皆さんが最もよく使うvmware workstation 12.0、CentOS 7.3仮想マシンを使って検証プロセス全体を完了します.
Contents [hide]
1準備2ベースパッケージ3 Docker をインストールする
4 Ansible
5 Registryサーバ6 kolla-ansible
7導入の検証8参照文書

準備作業


私はCentOS 7.3のインストールを最小化し、インストール後、彼を初期化することに慣れています.
http://www.chenshake.com/centos-7-x-class/みんながそのようにすればいいです.ドキュメントを1つ置くと、長すぎます.selinux、ファイアウォールポートにアクセスできない、ホスト名の問題は、インストールのよくあるエラーです.皆さん、よく確認してください.

Selinuxを閉じる


これは基本的に議論する必要はありません/etc/selinux/configを編集します
SELINUX=disabled

私は機械を再起動してselinuxの状態を見ることに慣れています.
# sestatus
SELinux status:                 disabled

Firewalldを閉じる


実験をするとき、ポートにアクセスできないことがよくあります.振り回されない.
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
firewall-cmd --state

Epel


今のepelソースは、もう簡単です.
yum install epel-release

repoの表示
yum repolist

Hostname


多くの環境にとって、これは必須です.
cat /etc/hostname
kolla
# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.27.10   kolla.chenshake.com     kolla

けんさ
#hostname -F /etc/hostname

#hostname
kolla

#hostname -f
kolla.chenshake.com

どうきじかん

yum install ntp
systemctl enable ntpd.service
systemctl start ntpd.service

手動同期時間
ntpdate 0.centos.pool.ntp.org


kollaのインストールは、ターゲットマシンが2つのNICであることが要求されているので、私の仮想マシンも2つのNICを割り当てています.
Ens 33,NATネットワークでは,設定されたIPは192.168.27.10であり,後日HorizonアクセスはこのIPアドレスを通過する.
Ens 34、ブリッジモード、ipは実はdhcp割り当てで、これは実はneutronのbr-exバインドに使用させて、仮想機はこのネットカードを通じて外網にアクセスします.
マシンに仮想マシンを接続するには、ens 33のIPでアクセスし、ens 34 sshを通過すると、インストールプロセスが中断します.
デフォルトでは、2つのNICはインターネットにアクセスできます.いずれかのNICが外部ネットワークにアクセスすることもできますが、テストでは基本的な問題はありません.
サーバーに直接インストールすれば、2つのNICのIPは、同じセグメントでも問題ありません.
以前はkollaをインストールしていたので、自分でbuildミラーをインストールする必要がありました.これにより、ネットワークのせいでbuildミラーの場合に失敗することがよくあります.今回はkollaが公式に提供したミラーファイルを直接採用し、自分のbuildミラーリングの一環を必要としません.
 

ベースパッケージ


EPELのrepoソースを必ず有効にしてください
yum install epel-release
yum install python-devel libffi-devel gcc openssl-devel git python-pip

Dockerのインストール


現在の最新バージョンのDockerは1.13.1で、Kollaが現在サポートしているDockerは1.12です.x、だから私达はDockerのバージョンを指定してインストールして、しかも必ずDockerの公式のソースを采用して、赤い帽子のソースを使うことができなくて、赤い帽子のソースのDockerはバグがあります.
repoの設定
tee /etc/yum.repos.d/docker.repo << 'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

Docker 1.12.5のインストール
yum install docker-engine-1.12.5 docker-engine-selinux-1.12.5

dockerの設定
mkdir /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
[Service]
MountFlags=shared
EOF

関連サービスの再起動
systemctl daemon-reload
systemctl enable docker
systemctl restart docker

プライベートDockerウェアハウスへのアクセス
編集/usr/lib/systemd/system/docker.service
#ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.27.10:4000

サービスの再起動
systemctl daemon-reload
systemctl restart docker

Ansible


KollaプロジェクトのMitakaバージョンはansibleバージョンが2.0未満であることを要求し、Newtonバージョン以降は2.x以上のバージョン.
yum install ansible

Registryサーバ


デフォルトdockerのregistryは5000ポートを使用していますが、OpenStackではポート競合があるので4000に変更します
docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 \
--restart=always --name registry registry:2

kolla公式提供のミラーをダウンロード
http://tarballs.openstack.org/kolla/images/
これはkollaが公式に提供したミラーがCIに使用され、最新バージョンと最新のstableバージョンのみが保持されます.Ocataバージョンをダウンロードできます
wget http://tarballs.openstack.org/kolla/images/centos-source-registry-ocata.tar.gz
tar zxvf centos-source-registry-ocata.tar.gz -C /opt/registry/

これでkollaのdockerミラーファイルをRegisitryサーバに配置します.

kolla-ansible


kolla-ansibleのコードをダウンロード
cd /home
git clone http://git.trystack.cn/openstack/kolla-ansible –b stable/ocata

インストールkolla-ansible
cd kolla-ansible
pip install .

pipの速度が遅い場合は、パラメータを追加して国内のpipソースを指定することができます.
pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple

関連ファイルのコピー
cp -r etc/kolla /etc/kolla/
cp ansible/inventory/* /home/

仮想マシンにkollaをインストールし、再起動して仮想マシンを起動したい場合はvirt_type=qemu、デフォルトはkvm
mkdir -p /etc/kolla/config/nova
cat << EOF > /etc/kolla/config/nova/nova-compute.conf
[libvirt]
virt_type=qemu
cpu_mode = none
EOF

パスワードファイルの生成
kolla-genpwd

編集/etc/kolla/passwords.yml
keystone_admin_password: chenshake

これはDashboard、adminにログインして使用するパスワードで、自分の必要に応じて変更することができます.
編集/etc/kolla/globals.ymlファイル
kolla_internal_vip_address: "192.168.27.11"

kolla_install_type: "source"
openstack_release: "4.0.0"  【      ,      4.0.0,         ,        】
docker_registry: "192.168.27.10:4000"
docker_namespace: "lokolla"
network_interface: "ens33"
neutron_external_interface: "ens34"

192.168.27.11、このipは使用されていないipアドレスで、彼はhaproxyに使用して、単一ノードは実は意味がありません.
OpenStackのインストール
kolla-ansible deploy -i /home/all-in-one 

導入の検証


 
kolla-ansible post-deploy

これで/etc/kolla/admin-openrcを作成します.shファイル
OpenStackクライアントのインストール
pip install python-openstackclient

編集/usr/share/kolla-ansible/init-runonce,
ネットワークは実際の状況に応じて修正する必要があります
EXT_NET_CIDR='192.168.12.0/24'
EXT_NET_RANGE='start=192.168.12.30,end=192.168.12.40'
EXT_NET_GATEWAY='192.168.12.1'

ここで解析すると、192.168.12.0のネットワークは、私の上のens 34が接続したネットワークで、このネットワークはルータを通じてインターネットにアクセスしています.ここはよく理解しなければなりません.これを設定すると、仮想マシンをインストールしたら直接pingできます.
 
うんてん
source /etc/kolla/admin-openrc.sh
cd /usr/share/kolla-ansible
./init-runonce

最後に仮想マシンを作成して遊ぶことができます.最後のコマンドのヒントに従います.
openstack server create \
    --image cirros \
    --flavor m1.tiny \
    --key-name mykey \
    --nic net-id=2ba93782-71e2-44d6-ad64-796c5853dcce \
    demo1

このとき、Dashboardにログインして、仮想マシンにfloating ipを割り当てることができます.うまくいけば、floating ipのアドレスを直接pingすることができます.
 

リファレンスドキュメント


http://docs.openstack.org/developer/kolla-ansible/quickstart.html
http://www.cnblogs.com/lienhua34/p/4922130.html
https://gist.github.com/jeffrey4l/c69688180b056d08a0c1733e24193143
http://www.cnblogs.com/microman/p/6107879.html
http://xcodest.me/