在 OpenStack 上使用 Juju 部署应用程序

在 OpenStack 上使用 Juju 部署应用程序

我想在 JUJU 中为 OPENSTACK 创建一个新云,并使用它在我的实例上部署应用程序。在我的实验室中,MAAS、JUJU 和 OPENSTACK 已正确安装,实例运行良好。我已按照此操作指导但在引导过程中最后我收到此错误:

ERROR authentication failed.: authentication failed

知识产权规划:

Network: 10.20.81.0/24
Maas: 10.20.81.1
Juju: 10.20.81.2
Openstack: 10.20.81.21-24
External Gateway: 10.20.81.254
Private Network: 10.1.0.0/24
Instance: 10.1.0.12 - 10.20.81.220 (floating IP)
Private Gateway: 10.1.0.1
Private DHCP service: 10.1.0.10

网络拓扑结构:

                          +-------------+
                              Firewall
                            10.20.81.254
                          +-------------+
                                 | 
+-------------------------------------------------------------+
                              Switch 
      vlan81              vlan81                  vlan81
+-------------------------------------------------------------+
        |                   |                   || | | |
+--------------+     +-------------+       +------------------+
|Maas+Juju           |Juju Gui|            |Openstack
|10.20.81.1          |10.20.81.2           |10.20.81.21-24
+--------------+     +-------------+       +------------------+
                                                     |
                                +----------------------------------------+
                                Private Subnet-1           Public Subnet-2
                                 10.1.0.0/24                10.20.81.0/24
                                 +---+----+--+              +---+------+
                                 |   |        +----+            |
                                 |   |     .1 |    |.221        |
                                 |   +--------+ VR +------------+
                                 |            |    |
                                 +--+-+       +----+
                                 |    |
                                 |VM |
                                 |.12 |
                                 |    |
                                 +----+

这些命令已经在 MAAS 服务器上启动,我已经在那里安装了 juju。

在此处输入图片描述

   $:juju add-cloud
    Cloud Types
      lxd
      maas
      manual
      openstack
      vsphere

Select cloud type: openstack
    Enter a name for your openstack cloud: openstack-cloud
    Enter the API endpoint url for the cloud []: http://10.20.81.22:5000/v3
    Enter a path to the CA certificate for your cloud if one is required to access it. (optional) [none]: 
    Auth Types
  access-key
  userpass
    Select one or more auth types separated by commas: userpass
    Enter region name: RegionOne
   Enter the API endpoint url for the region [use cloud api url]: 
    Enter another region? (y/N): n
   Cloud "openstack-cloud" successfully added
    You will need to add credentials for this cloud (`juju add-credential openstack-cloud`)
before creating a controller (`juju bootstrap openstack-cloud`).


$:juju add-credential openstack-cloud
Enter credential name: richardsith
    Using auth-type "userpass".
    Enter username: admin
    Enter password: 
    Enter tenant-name (optional): 
    Enter tenant-id (optional): 
    Enter version (optional): 
    Enter domain-name (optional): 
    Enter project-domain-name (optional): 
    Enter user-domain-name (optional): 
    Credential "admin" added locally for cloud "openstack-cloud".


Maas_$:juju bootstrap openstack-cloud
ERROR authentication failed.: authentication failed
caused by: requesting token failed
caused by: Resource at http://10.20.81.22:5000/v3/tokens not found
caused by: request (http://10.20.81.22:5000/v3/tokens) returned unexpected status: 404; error info: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server.  If you entered the URL manually please check your spelling and try again.</p>

然后

Maas_$:juju list-credentials --format yaml --show-secrets
local-credentials:
  maas-cloud:
    richardsith:
      auth-type: oauth1
      maas-oauth: j3GCen9ncJfJQYQ5ZS:ef59sS4XdwhxVPXLSR:TcxGjfyDXS42yj7afbzWrAuhMJtvNWq5
  openstack-cloud:
    richardsith:
      auth-type: userpass
      password: r1ch@rd!
      username: admin

Maas_$:juju show-cloud openstack-cloud
defined: local
type: openstack
description: Openstack Cloud
auth-types: [userpass]
endpoint: http://10.20.81.22:5000/v3
regions:
  RegionOne: {}

在浏览器上打开该网址后我发现:

在此处输入图片描述

答案1

我已经决定以这种方式填写凭证

$: juju add-credential openstack-cloud
 Enter credential name: openstack_credential
 Using auth-type "userpass".
 Enter username: admin
 Enter password: 
 Enter tenant-name (optional): u1804Pro 
 Enter tenant-id (optional): 
 Enter version (optional): 
 Enter domain-name (optional):
 Enter project-domain-name (optional): u1804Dom 
 Enter user-domain-name (optional): u1804Dom
 Credential "openstack-credential" added locally for cloud "openstack-cloud".

在哪里:

  • u1804Dom 是我在 Openstack 中定义的新域
  • u1804Pro我在Openstack中定义的新项目

现在我可以无错误地启动引导程序

$:juju bootstrap openstack-cloud --bootstrap-series=bionic --config network="Private Network IPv4"  --config external-network="Floating Network IPv4" --config use-floating-ip=true --metadata-source ~/simplestreams/images --debug

相关内容