zoukankan      html  css  js  c++  java
  • openstack私有云布署实践【7.1 keystone + memcache (科兴环境)】

    其实登录数据库集群中任意1台都可以创建库,它们会实时自动同步数据库和对应的数据库权限。
     
    首先登录kxcontroller1创建kx_keystone数据库,并赋于远程和本地访问的权限。
     
    mysql -u root -p
    CREATE DATABASE keystone;
    GRANT ALL PRIVILEGES ON kx_keystone.* TO 'kx_keystone'@'localhost'   IDENTIFIED BY 'venic8888';
    GRANT ALL PRIVILEGES ON kx_keystone.* TO 'kx_keystone'@'%'  IDENTIFIED BY 'venic8888';
    flush PRIVILEGES;
     
    2台controller服务器(kxcontrolelr1 kxcontroller2) 安装其它无状态服务的组件,
     
     
    yum install openstack-keystone httpd mod_wsgi  memcached python-memcached -y
    先开启memcache
    systemctl enable memcached.service
    systemctl start memcached.service
     
    kxcontroller1上
    vi  /etc/keystone/keystone.conf
     
    [DEFAULT]
    admin_token = venicchina
    verbose = True
    [database]
    connection = mysql://keystone:venic8888@kxcontroller/kx_keystone
    [memcache]
    servers = kxcontroller1:11211
    [token]
    provider = uuid
    driver = memcache
    expiration = 86400
    caching = true
    cache_time = 86400
    [revoke]
    driver = sql
    expiration_buffer = 86400
    caching = true
    cache_time = 86400
    [catalog]
    driver = keystone.catalog.backends.sql.Catalog
    [identity]
    driver = keystone.identity.backends.sql.Identity
     
    kxcontroller2上
    vi  /etc/keystone/keystone.conf
    [DEFAULT]
    admin_token = venicchina
    verbose = True
    [database]
    connection = mysql://keystone:venic8888@kxcontroller/kx_keystone
    [memcache]
    servers = kxcontroller2:11211
    [token]
    provider = uuid
    driver = memcache
    expiration = 86400
    caching = true
    cache_time = 86400
    [revoke]
    driver = sql
    expiration_buffer = 86400
    caching = true
    cache_time = 86400
    [catalog]
    driver = keystone.catalog.backends.sql.Catalog
    [identity]
    driver = keystone.identity.backends.sql.Identity
     
    以上的每个配置中两组黄色底86400的是给token定义失效时间,默认30分钟或1小时,因为有时迁移一些很大的实例时,迁移大200G的时候,时间会超过,到时会有token报错,到时实例就废掉了。加大时长是必须,这里我定义1天超时
     
    在其中一台kxcontroller1同步数据库,生成表单
    su -s /bin/sh -c "keystone-manage db_sync" keystone
     
    ---------------------------------------
    修改httpd配置
     
    kxcontroller1上
    vi /etc/httpd/conf/httpd.conf
     
    ServerName kxcontroller1
    Listen 80 这一条为以下行:
    Listen 10.120.42.1:80#与VIP监听的IP不同
     
    kxcontroller2上
    vi /etc/httpd/conf/httpd.conf
     
    ServerName kxcontroller2
    Listen 80 这一条为以下行:
    Listen 10.120.42.2:80#与VIP监听的IP不同
     
     
     
    ------------------------------------------
    kxcontroller1上
    vi /etc/httpd/conf.d/wsgi-keystone.conf
     
    Listen 10.120.42.1:5000
    Listen 10.120.42.1:35357
     
    <VirtualHost *:5000>
        WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-public
        WSGIScriptAlias / /usr/bin/keystone-wsgi-public
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        <IfVersion >= 2.4>
          ErrorLogFormat "%{cu}t %M"
        </IfVersion>
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined
     
        <Directory /usr/bin>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
            <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
        </Directory>
    </VirtualHost>
     
    <VirtualHost *:35357>
        WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-admin
        WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        <IfVersion >= 2.4>
          ErrorLogFormat "%{cu}t %M"
        </IfVersion>
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined
     
        <Directory /usr/bin>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
            <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
        </Directory>
    </VirtualHost>
     
    kxcontroller2上
    vi /etc/httpd/conf.d/wsgi-keystone.conf
     
    Listen 10.120.42.2:5000
    Listen 10.120.42.2:35357
     
    <VirtualHost *:5000>
        WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-public
        WSGIScriptAlias / /usr/bin/keystone-wsgi-public
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        <IfVersion >= 2.4>
          ErrorLogFormat "%{cu}t %M"
        </IfVersion>
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined
     
        <Directory /usr/bin>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
            <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
        </Directory>
    </VirtualHost>
     
    <VirtualHost *:35357>
        WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-admin
        WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        <IfVersion >= 2.4>
          ErrorLogFormat "%{cu}t %M"
        </IfVersion>
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined
     
        <Directory /usr/bin>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
            <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
        </Directory>
    </VirtualHost>
     
     
    2台kxcontroller服务启动,加入开机自启
     
    # systemctl enable httpd.service
    # systemctl start httpd.service
     
    验证:在haproxy的页面http://10.120.42.10:8888/stats上查看80 5000 35357端口状态转发是否成功
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,负责保留追究法律责任的权利。
  • 相关阅读:
    PS
    div 解决高度塌陷
    gradle Error:Cause: unable to find valid certification path to requested target
    HTML
    前端路线图
    css 选择器
    css-day01
    Python图像处理 | 把图像中的白色变成透明
    X-Frame-Options(点击劫持)
    python两张图片显示在一张图上
  • 原文地址:https://www.cnblogs.com/veniceslove/p/6285803.html
Copyright © 2011-2022 走看看