通过 Openstack-helm 安装¶
概述¶
本文档说明使用 OpenStack-helm 安装 tacker 服务的步骤。OpenStack-helm 的目标是提供一组 Helm charts,以便在 Kubernetes 上简单、可靠和灵活地部署 OpenStack 和相关服务。
使用 openstack-helm 安装 Tacker 的先决条件¶
Tacker 安装的先决条件如下
在主目录中克隆 OpenStack-helm 和 openstack-helm-infra 代码。
$ git clone https://opendev.org/openstack/openstack-helm.git $ git clone https://opendev.org/openstack/openstack-helm-infra.git $ cd openstack-helm
设置 Kubernetes。
请参考 Kubernetes 安装的依赖项安装说明 [1]。
创建名为 openstack 的命名空间,并为节点提供标签。
$ kubectl create ns openstack $ kubectl label node <node-name> openstack-control-plane=enabled
设置 OpenStack。
请参考 OpenStack 安装的以下依赖项安装说明
您可以在此处了解如何使用 openstack-helm 安装 OpenStack 及其依赖项。
注意
必须安装 Barbican。虽然在部署 OpenStack [4] 中没有记录,但您必须使用类似的过程安装 Barbican。执行以下脚本安装 Barbican。
$ cd ~/openstack-helm
$ ./tools/deployment/component/barbican/barbican.sh
安装 Tacker¶
使用 OpenStack-helm 安装 Tacker 将使用脚本 tacker.sh。
使用脚本 tacker.sh 安装 tacker。
$ cd ~/openstack-helm $ ./tools/deployment/component/tacker/tacker.sh
验证 tacker-conductor 和 tacker-server pod 是否正在运行,以及 helm release 的部署状态是否为已部署。
$ kubectl get pods -A | grep tacker openstack tacker-conductor-654fc7478-wt242 1/1 Running 0 58m openstack tacker-db-init-nxd7c 0/1 Completed 0 58m openstack tacker-db-sync-kmf27 0/1 Completed 0 58m openstack tacker-ks-endpoints-hbwnh 0/3 Completed 0 58m openstack tacker-ks-service-7t8pm 0/1 Completed 0 58m openstack tacker-ks-user-8blcj 0/1 Completed 0 58m openstack tacker-rabbit-init-tlbj8 0/1 Completed 0 58m openstack tacker-server-55fcdfdc5d-gj844 1/1 Running 0 58m $ helm ls -A | grep tacker tacker openstack 1 2024-01-05 13:02:43.337535539 +0000 UTC deployed tacker-0.1.2 v1.0.0s
验证 Tacker api 是否正常工作。
$ TACKER_SERVER_POD=tacker-server-55fcdfdc5d-gj844 $ kubectl exec -n openstack -it $TACKER_SERVER_POD \ -- curl -i -X POST -H "Content-Type: application/json" \ -d '{"auth":{"identity":{"methods":["password"],"password":{"user":{"domain":{"name":"default"},"name":"admin","password":"password"}}},"scope":{"project":{"domain":{"name":"default"},"name":"admin"}}}}' \ http://keystone-api.openstack.svc.cluster.local:5000/v3/auth/tokens Defaulted container "tacker-server" out of: tacker-server, init (init) HTTP/1.1 201 CREATED Date: Mon, 08 Jan 2024 11:22:50 GMT Server: Apache Content-Length: 7264 X-Subject-Token: gAAAAABlm9sKwC-dJi_yWI8ea7HmEM-Xv3RisrODnAc6Qebqhg9OOuCPBcddk5P8qdSyIAJnMOZwVYgXyYPXLIwr7Zrn5eCCnYJ-YxnVS6nj_8DQLExTFfiFRrwz93LeULzLTKLmjWoo8QslBpk1cuz-uXf7rtny784duFjhUAOjoDYfv16aebI Vary: X-Auth-Token x-openstack-request-id: req-425da814-d3c7-4e7f-ad2f-ec19159fcbb0 Content-Type: application/json $ TOKEN=gAAAAABlm9sKwC-dJi_yWI8ea7HmEM-Xv3RisrODnAc6Qebqhg9OOuCPBcddk5P8qdSyIAJnMOZwVYgXyYPXLIwr7Zrn5eCCnYJ-YxnVS6nj_8DQLExTFfiFRrwz93LeULzLTKLmjWoo8QslBpk1cuz-uXf7rtny784duFjhUAOjoDYfv16aebI
向 Tacker API 端点发送 API 请求以检索 vnf 实例列表。
$ kubectl get pods -A -o wide | grep tacker-server openstack tacker-server-55fcdfdc5d-gj844 1/1 Running 0 15d 192.168.219.119 master <none> <none> $ curl -X GET http://192.168.219.119:9890/vnflcm/v2/vnf_instances -H "X-Auth-Token:$TOKEN" -H "Version: 2.0.0" []