如何使用 Mgmt Driver 部署带有 Cilium CNI 的 Kubernetes 集群¶
本文档描述了如何使用 MgmtDriver 部署带有 Cilium CNI 的 Kubernetes 集群。
示例 VNF 包描述¶
本文档描述了使用位于 samples/mgmt_driver/kubernetes/sol_v2_kubernetes_vnf_package 下提供的示例 VNF 包的过程。此示例 VNF 包中的 Mgmt Driver 脚本使用 kubeadm 创建 Kubernetes 集群,并使用 Cilium 作为 CNI 插件。有两种部署模式,每种模式都会创建一个具有以下配置的 Kubernetes 集群。
注意
此 VNF 包使用 v2 API。
简单模式:部署 1 个 MasterNode 和 2 个 WorkerNode。此模式支持 WorkerNode 的伸缩和修复。
复杂模式:部署 3 个 MasterNode 和 2 个 WorkerNode。此模式支持 MasterNode 的修复,以及 WorkerNode 的伸缩和修复。
软件版本¶
操作系统 (VM):Ubuntu 22.04 LTS
kubeadm:1.26.8
kubelet:1.26.8
kubectl:1.26.8
containerd:1.7.11
runc:1.1.10
cilium cli:v0.15.23
cilium:1.14.5
环境准备¶
本节描述了创建 Kubernetes 集群的环境准备步骤。本文档中使用环境假设可以通过浮动 IP 访问虚拟机。
创建 OpenStack 路由器¶
为了使虚拟机访问外部网络,需要在公共网络和内部网络之间创建一个路由器。以下步骤在公共网络和内部网络 net0 之间创建一个路由器。
$ openstack router create router-net0
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2024-04-16T04:08:27Z |
| description | |
| enable_ndp_proxy | None |
| external_gateway_info | null |
| flavor_id | None |
| id | e3de8025-57c0-4e7a-a472-746d0b4a89d7 |
| name | router-net0 |
| project_id | 5d711196514b4f11b02382403b3342a9 |
| revision_number | 1 |
| routes | |
| status | ACTIVE |
| tags | |
| tenant_id | 5d711196514b4f11b02382403b3342a9 |
| updated_at | 2024-04-16T04:08:27Z |
+-------------------------+--------------------------------------+
$ openstack router set --external-gateway public router-net0
$ openstack router show router-net0
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2024-04-16T04:08:27Z |
| description | |
| enable_ndp_proxy | None |
| external_gateway_info | {"network_id": "89e36da8-4652-4454-be91-fb54223c4674", "external_fixed_ips": [{"subnet_id": "063e9703-25a8-4496-a423-0d94a9637d71", "ip_address": |
| | "172.24.4.62"}, {"subnet_id": "2fd2348a-c6a3-48b8-8f9f-98f20a9229cc", "ip_address": "2001:db8::1a7"}], "enable_snat": true} |
| flavor_id | None |
| id | e3de8025-57c0-4e7a-a472-746d0b4a89d7 |
| interfaces_info | [] |
| name | router-net0 |
| project_id | 5d711196514b4f11b02382403b3342a9 |
| revision_number | 3 |
| routes | |
| status | ACTIVE |
| tags | |
| tenant_id | 5d711196514b4f11b02382403b3342a9 |
| updated_at | 2024-04-16T04:08:39Z |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
$ openstack router add subnet router-net0 subnet0
$ openstack router show router-net0
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2024-04-16T04:08:27Z |
| description | |
| enable_ndp_proxy | None |
| external_gateway_info | {"network_id": "89e36da8-4652-4454-be91-fb54223c4674", "external_fixed_ips": [{"subnet_id": "063e9703-25a8-4496-a423-0d94a9637d71", "ip_address": |
| | "172.24.4.62"}, {"subnet_id": "2fd2348a-c6a3-48b8-8f9f-98f20a9229cc", "ip_address": "2001:db8::1a7"}], "enable_snat": true} |
| flavor_id | None |
| id | e3de8025-57c0-4e7a-a472-746d0b4a89d7 |
| interfaces_info | [{"port_id": "a1a697eb-10e7-41fe-ad70-11990e926897", "ip_address": "10.10.0.1", "subnet_id": "1c8d1f2d-5e45-427f-920e-1b49f6978985"}] |
| name | router-net0 |
| project_id | 5d711196514b4f11b02382403b3342a9 |
| revision_number | 4 |
| routes | |
| status | ACTIVE |
| tags | |
| tenant_id | 5d711196514b4f11b02382403b3342a9 |
| updated_at | 2024-04-16T04:09:01Z |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
安全组设置¶
为了创建一个 Kubernetes 集群,需要设置一个安全组。本文档向默认组添加规则。
获取 nfv 项目的默认安全组 ID¶
$ auth='--os-username nfv_user --os-project-name nfv --os-password devstack --os-auth-url http://127.0.0.1/identity --os-project-domain-name Default --os-user-domain-name Default'
$ nfv_project_id=`openstack project list $auth | grep -w '| nfv' | awk '{print $2}'`
$ default_id=`openstack security group list $auth | grep -w 'default' | grep $nfv_project_id | awk '{print $2}'`
向安全组添加规则¶
$ openstack security group rule create --protocol tcp --dst-port 22 $default_id $auth
$ openstack security group rule create --protocol tcp $default_id $auth
$ openstack security group rule create --protocol icmp $default_id $auth
$ openstack security group rule create --protocol udp $default_id $auth
$ openstack security group rule create --protocol tcp --dst-port 53 $default_id $auth
$ openstack security group rule create --protocol tcp --dst-port 6443 $default_id $auth
$ openstack security group rule create --protocol tcp --dst-port 16443 $default_id $auth
$ openstack security group rule create --protocol tcp --dst-port 2379:2380 $default_id $auth
$ openstack security group rule create --protocol tcp --dst-port 10250:10255 $default_id $auth
$ openstack security group rule create --protocol tcp --dst-port 30000:32767 $default_id $auth
下载和修改 Ubuntu 镜像¶
samples/mgmt_driver/kubernetes/sol_v2_kubernetes_vnf_package 不包含 VM 镜像。必须下载和修改 VM 镜像。为了使 Mgmt Driver 脚本创建 Kubernetes 集群,必须通过 SSH 密码身份验证访问 VM。默认情况下,不允许 SSH 密码身份验证,因此需要更改设置。在本指南中,我们将使用 guestfish 更改 Ubuntu 镜像的配置。
安装 libguestfs-tools¶
$ sudo apt-get install libguestfs-tools
下载 Ubuntu 镜像¶
要在创建 VNF 包时使用 Ubuntu 镜像,请将其下载到以下路径。
$ cd ~/tacker/samples/mgmt_driver/kubernetes/sol_v2_kubernetes_vnf_package
$ wget https://cloud-images.ubuntu.com/releases/jammy/release/ubuntu-22.04-server-cloudimg-amd64.img
更改 Ubuntu 镜像设置¶
在本文档中,密码设置为“ubuntu”。此处设置的密码将用作 MgmtDriver 脚本中创建 Kubernetes 集群的请求参数。
$ sudo guestfish -a ubuntu-22.04-server-cloudimg-amd64.img -i sh "sed -i 's/lock\_passwd\: True/lock\_passwd\: false/g' /etc/cloud/cloud.cfg"
$ sudo guestfish -a ubuntu-22.04-server-cloudimg-amd64.img -i sh "sed -i '/[ ][ ][ ][ ]lock\_passwd\: false/a\ plain\_text\_passwd\: ubuntu' /etc/cloud/cloud.cfg"
$ sudo guestfish -a ubuntu-22.04-server-cloudimg-amd64.img -i sh "sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config.d/60-cloudimg-settings.conf"
创建和注册 VNF 包¶
创建和注册 VNF 包。
创建 VNF 包¶
使用 samples/mgmt_driver/kubernetes/sol_v2_kubernetes_vnf_package 下的 pkggen.py 创建 VNF 包。在运行 pkggen.py 之前,将上述步骤中配置的 Ubuntu 镜像放置在以下目录结构中。
目录结构
!----sol_v2_kubernetes_vnf_package
!---- contents
!---- BaseHOT
!---- Definitions
!---- Scripts
!---- TOSCA-Metadata
!---- pkggen.py
!---- ubuntu-22.04-server-cloudimg-amd64.img
执行 pkggen.py 该包将创建为 sol_v2_kubernetes_vnf_package.zip。
$ cd ~/tacker/samples/mgmt_driver/kubernetes/sol_v2_kubernetes_vnf_package
$ python3 pkggen.py
注意
此工具需要一些 Tacker 模块,因此需要在安装了 Tacker 的环境中运行它,例如使用 devstack 的 python 虚拟环境。如果已在 python 虚拟环境中安装了 Tacker,请在使用该工具之前激活它,如下所示。
$ source /opt/stack/data/venv/bin/activate
(venv) $ python3 pkggen.py
注册 VNF 包¶
注册创建的 VNF 包。
$ openstack vnf package create
+-------------------+-------------------------------------------------------------------------------------------------+
| Field | Value |
+-------------------+-------------------------------------------------------------------------------------------------+
| ID | baec2512-2c97-4ced-857a-4a7e3f0bbb93 |
| Links | { |
| | "self": { |
| | "href": "/vnfpkgm/v1/vnf_packages/baec2512-2c97-4ced-857a-4a7e3f0bbb93" |
| | }, |
| | "packageContent": { |
| | "href": "/vnfpkgm/v1/vnf_packages/baec2512-2c97-4ced-857a-4a7e3f0bbb93/package_content" |
| | } |
| | } |
| Onboarding State | CREATED |
| Operational State | DISABLED |
| Usage State | NOT_IN_USE |
| User Defined Data | {} |
+-------------------+-------------------------------------------------------------------------------------------------+
$ openstack vnf package upload baec2512-2c97-4ced-857a-4a7e3f0bbb93 --path sol_v2_kubernetes_vnf_package.zip
Upload request for VNF package baec2512-2c97-4ced-857a-4a7e3f0bbb93 has been accepted.
检查 VNF 包¶
执行 VNF 包上传命令后,检查包是否已成功注册。确认“Onboarding State”为 ONBOARDED 且“Operational State”为 ENABLED。
$ openstack vnf package show baec2512-2c97-4ced-857a-4a7e3f0bbb93
+----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| Additional Artifacts | |
| Checksum | { |
| | "algorithm": "sha512", |
| | "hash": "e7932b21fad5702528814da80319358bf0676026cbbb71c55288da75cd208497f9273c8c08d7df3de41cc660810256e1b64228ffa13f21e8519768b467d152a2" |
| | } |
| ID | baec2512-2c97-4ced-857a-4a7e3f0bbb93 |
| Links | { |
| | "self": { |
| | "href": "/vnfpkgm/v1/vnf_packages/baec2512-2c97-4ced-857a-4a7e3f0bbb93" |
| | }, |
| | "packageContent": { |
| | "href": "/vnfpkgm/v1/vnf_packages/baec2512-2c97-4ced-857a-4a7e3f0bbb93/package_content" |
| | } |
| | } |
| Onboarding State | ONBOARDED |
| Operational State | ENABLED |
| Software Images | [ |
| | { |
| | "provider": "", |
| | "id": "masterNode", |
| | "containerFormat": "bare", |
| | "name": "masterNode-image", |
| | "diskFormat": "qcow2", |
| | "createdAt": "2024-04-16 04:22:31+00:00", |
| | "size": 2000000000, |
| | "minRam": 0, |
| | "imagePath": "Files/images/ubuntu-22.04-server-cloudimg-amd64.img", |
| | "version": "22.04", |
| | "minDisk": 0, |
| | "checksum": { |
| | "algorithm": "sha-512", |
| | "hash": "aa6e468377de91730afca98b7dd596cc8f86e06b1e850b1be4badc15f8dd44b49f2ed1b20e0b3ac2b4a7a2e5067fc0ca3d18cd3a3a84a21c31e90f89d6517cc7" |
| | }, |
| | "userMetadata": {} |
| | }, |
| | { |
| | "provider": "", |
| | "id": "workerNode", |
| | "containerFormat": "bare", |
| | "name": "workerNode-image", |
| | "diskFormat": "qcow2", |
| | "createdAt": "2024-04-16 04:22:32+00:00", |
| | "size": 2000000000, |
| | "minRam": 0, |
| | "imagePath": "Files/images/ubuntu-22.04-server-cloudimg-amd64.img", |
| | "version": "22.04", |
| | "minDisk": 0, |
| | "checksum": { |
| | "algorithm": "sha-512", |
| | "hash": "aa6e468377de91730afca98b7dd596cc8f86e06b1e850b1be4badc15f8dd44b49f2ed1b20e0b3ac2b4a7a2e5067fc0ca3d18cd3a3a84a21c31e90f89d6517cc7" |
| | }, |
| | "userMetadata": {} |
| | }, |
| | { |
| | "provider": "", |
| | "id": "masterNode", |
| | "containerFormat": "bare", |
| | "name": "masterNode-image", |
| | "diskFormat": "qcow2", |
| | "createdAt": "2024-04-16 04:22:36+00:00", |
| | "size": 2000000000, |
| | "minRam": 0, |
| | "imagePath": "Files/images/ubuntu-22.04-server-cloudimg-amd64.img", |
| | "version": "22.04", |
| | "minDisk": 0, |
| | "checksum": { |
| | "algorithm": "sha-512", |
| | "hash": "aa6e468377de91730afca98b7dd596cc8f86e06b1e850b1be4badc15f8dd44b49f2ed1b20e0b3ac2b4a7a2e5067fc0ca3d18cd3a3a84a21c31e90f89d6517cc7" |
| | }, |
| | "userMetadata": {} |
| | }, |
| | { |
| | "provider": "", |
| | "id": "workerNode", |
| | "containerFormat": "bare", |
| | "name": "workerNode-image", |
| | "diskFormat": "qcow2", |
| | "createdAt": "2024-04-16 04:22:37+00:00", |
| | "size": 2000000000, |
| | "minRam": 0, |
| | "imagePath": "Files/images/ubuntu-22.04-server-cloudimg-amd64.img", |
| | "version": "22.04", |
| | "minDisk": 0, |
| | "checksum": { |
| | "algorithm": "sha-512", |
| | "hash": "aa6e468377de91730afca98b7dd596cc8f86e06b1e850b1be4badc15f8dd44b49f2ed1b20e0b3ac2b4a7a2e5067fc0ca3d18cd3a3a84a21c31e90f89d6517cc7" |
| | }, |
| | "userMetadata": {} |
| | } |
| | ] |
| Usage State | NOT_IN_USE |
| User Defined Data | {} |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
部署 Kubernetes 集群¶
使用 MgmtDriver 创建 Kubernetes 集群。
请求参数描述¶
必须在 MgmtDriver 脚本中配置 Kubernetes 集群的信息,在每个请求的 additionalParams 中定义 k8s_cluster_installation_param。
描述 k8s_cluster_installation_param 的参数。
k8s_cluster_installation_param
script_path:Kubernetes 集群安装脚本的路径 (install_k8s_cluster.sh)。
master_node:Master Node 配置信息。
vdu_id:Master Node 的 vduId。
ssh_cp_name:用于 SSH 连接到 VM 的端口的资源名称。
nic_cp_name:VM 的网络接口使用的端口的资源名称。
username:VM 登录用户名。
password:VM 登录用户密码。指定在 Ubuntu 镜像设置中更改的密码。
pod_cidr:Kubernetes pod 使用的网络地址 (默认:10.0.0.0/8)。
cluster_cidr:Kubernetes 集群中 Service 使用的网络地址 (默认:10.96.0.0/12)。
cluster_cp_name:Kubernetes 集群端点使用的资源。在单配置中,使用 MasterNode 的 nic_cp_name,在复杂配置中,使用 Cluster IP 的资源。
cluster_fip_name:Cluster IP 的 FloatingIP 使用的资源。
worker_node:Worker Node 配置信息。
vdu_id:Worker Node 的 vduId。
ssh_cp_name:用于 SSH 连接到 VM 的端口的资源名称。
nic_cp_name:VM 的网络接口使用的端口的资源名称。
username:VM 登录用户名。
password:VM 登录用户密码。指定在 Ubuntu 镜像设置中更改的密码。
使用简单模式创建 Kubernetes 集群¶
使用简单模式创建 Kubernetes 集群。
创建 VNF 实例¶
创建一个 VNF 实例。
$ openstack vnflcm create d34ac189-5376-493f-828f-224dd5fe7393 --name v2-kubernetes-sample --description v2-kubernetes-sample --os-tacker-api-version 2
+-----------------------------+------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiation State | NOT_INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "instantiate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/instantiate" |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+------------------------------------------------------------------------------------------------------------------+
实例化 VNF¶
使用以下请求参数进行实例化。文件名是 simple_kubernetes_param_file_v2.json。需要更改一些参数以适应您的环境。
{
"flavourId": "simple",
"vimConnectionInfo": {
"vim1": {
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3",
"vimId": "d82ee798-a1d2-4854-8f74-4892ad706751",
"interfaceInfo": {
"endpoint": "https:///identity/v3"
},
"accessInfo": {
"username": "nfv_user",
"region": "RegionOne",
"password": "devstack",
"project": "nfv",
"projectDomain": "Default",
"userDomain": "Default"
}
}
},
"additionalParams": {
"k8s_cluster_installation_param": {
"script_path": "Scripts/install_k8s_cluster.sh",
"vim_name": "kubernetes_vim",
"master_node": {
"vdu_id": "masterNode",
"ssh_cp_name": "masterNode_CP1_floating_ip",
"nic_cp_name": "masterNode_CP1",
"username": "ubuntu",
"password": "ubuntu",
"pod_cidr": "10.200.0.0/16",
"cluster_cp_name": "masterNode_CP1"
},
"worker_node": {
"vdu_id": "workerNode",
"ssh_cp_name": "workerNode_CP1_floating_ip",
"nic_cp_name": "workerNode_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
},
"lcm-operation-user-data": "./UserData/userdata_standard.py",
"lcm-operation-user-data-class": "StandardUserData"
},
"extVirtualLinks": [
{
"id": "net0_master",
"resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313",
"extCps": [
{
"cpdId": "masterNode_CP1",
"cpConfig": {
"Master_CP1": {
"cpProtocolData": [
{
"layerProtocol": "IP_OVER_ETHERNET",
"ipOverEthernet": {
"ipAddresses": [
{
"type": "IPV4",
"numDynamicAddresses": 1
}
]
}
}
]
}
}
}
]
},
{
"id": "net0_worker",
"resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313",
"extCps": [
{
"cpdId": "workerNode_CP1",
"cpConfig": {
"WorkerCP1": {
"cpProtocolData": [
{
"layerProtocol": "IP_OVER_ETHERNET",
"ipOverEthernet": {
"ipAddresses": [
{
"type": "IPV4",
"numDynamicAddresses": 1
}
]
}
}
]
}
}
}
]
}
]
}
实例化操作。
$ openstack vnflcm instantiate 14c5406b-f627-4391-b91b-440f242623ac simple_kubernetes_param_file_v2.json --os-tacker-api-version 2
Instantiate request for VNF Instance 14c5406b-f627-4391-b91b-440f242623ac has been accepted.
操作后的检查¶
在 LCM 操作的状态为 COMPLETE 后,检查 VNF 实例和 Kubernetes 集群。
$ openstack vnflcm show 14c5406b-f627-4391-b91b-440f242623ac --os-tacker-api-version 2
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiated Vnf Info | { |
| | "flavourId": "simple", |
| | "vnfState": "STARTED", |
| | "scaleStatus": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 0 |
| | } |
| | ], |
| | "maxScaleLevels": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 2 |
| | } |
| | ], |
| | "extCpInfo": [ |
| | { |
| | "id": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "associatedVnfcCpId": "masterNode_CP1-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded" |
| | }, |
| | { |
| | "id": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "associatedVnfcCpId": "workerNode_CP1-ea9875b6-ff85-4d36-a559-913e424963d5" |
| | }, |
| | { |
| | "id": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "associatedVnfcCpId": "workerNode_CP1-bed06f84-ad08-4c5d-bc5e-92126338fc19" |
| | } |
| | ], |
| | "extVirtualLinkInfo": [ |
| | { |
| | "id": "net0_master", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "masterNode_CP1", |
| | "cpConfig": { |
| | "Master_CP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | }, |
| | { |
| | "id": "net0_worker", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172" |
| | }, |
| | { |
| | "id": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "workerNode_CP1", |
| | "cpConfig": { |
| | "WorkerCP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | } |
| | ], |
| | "vnfcResourceInfo": [ |
| | { |
| | "id": "ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:45Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-1-kzucycjp37uz/44c28eaf-10a0-4899-8cf7-9793ce2e2699", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-workerNode-1": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | { |
| | "id": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:44Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-0-nido6vmrnvkx/6184e70f-e8b8-4555-b1a8-18be7a553bf6", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-masterNode-0": "f9766b26-6876-427d-a745-d6a83606d5bb" |
| | } |
| | }, |
| | { |
| | "id": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:43Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-0-qi6uhdjwtdux/134dfd69-cedf-4886-b032-34120fad03f1", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-workerNode-0": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | } |
| | ], |
| | "vnfcInfo": [ |
| | { |
| | "id": "workerNode-ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vnfcState": "STARTED" |
| | } |
| | ], |
| | "metadata": { |
| | "stack_id": "bb1fa0a7-f4d0-4205-b77c-b0f22506c0b4", |
| | "nfv": { |
| | "VDU": { |
| | "masterNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "f9766b26-6876-427d-a745-d6a83606d5bb" |
| | }, |
| | "workerNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | }, |
| | "workerNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | "CP": { |
| | "masterNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | } |
| | } |
| | }, |
| | "tenant": "nfv" |
| | } |
| | } |
| Instantiation State | INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "terminate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/terminate" |
| | }, |
| | "scale": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/scale" |
| | }, |
| | "heal": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/heal" |
| | }, |
| | "changeExtConn": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/change_ext_conn" |
| | } |
| | } |
| VIM Connection Info | { |
| | "vim1": { |
| | "vimId": "d82ee798-a1d2-4854-8f74-4892ad706751", |
| | "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3", |
| | "interfaceInfo": { |
| | "endpoint": "https:///identity/v3" |
| | }, |
| | "accessInfo": { |
| | "region": "RegionOne", |
| | "project": "nfv", |
| | "username": "nfv_user", |
| | "userDomain": "Default", |
| | "projectDomain": "Default" |
| | } |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
确认已创建 MasterNode 和 WorkerNode VM。
$ openstack server list
+--------------------------------------+------------+--------+-------------------------------+------------------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+-------------------------------+------------------+-----------+
| bed06f84-ad08-4c5d-bc5e-92126338fc19 | workerNode | ACTIVE | net0=10.10.0.9, 172.24.4.72 | workerNode-image | m1.medium |
| ea9875b6-ff85-4d36-a559-913e424963d5 | workerNode | ACTIVE | net0=10.10.0.30, 172.24.4.161 | workerNode-image | m1.medium |
| ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded | masterNode | ACTIVE | net0=10.10.0.231, 172.24.4.3 | masterNode-image | m1.medium |
+--------------------------------------+------------+--------+-------------------------------+------------------+-----------+
通过 SSH 登录到 MasterNode 并检查 Kubernetes 集群的 Node。验证所有 VM 是否在集群中,并且 Node 的 STATUS 为 Ready。
注意
在此脚本中,VM 的主机名配置为节点角色 (master 或 worker) 和 IP 地址的第四个八位字节。
$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master231 Ready control-plane 10m v1.26.8 10.10.0.231 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker30 Ready <none> 6m38s v1.26.8 10.10.0.30 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker9 Ready <none> 4m18s v1.26.8 10.10.0.9 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
伸缩 VNF¶
对 WorkerNode 执行伸缩操作。
在 additionalParams 中使用以下参数进行伸缩。
{
"additionalParams": {
"k8s_cluster_installation_param": {
"script_path": "Scripts/install_k8s_cluster.sh",
"master_node": {
"vdu_id": "masterNode",
"ssh_cp_name": "masterNode_CP1_floating_ip",
"nic_cp_name": "masterNode_CP1",
"username": "ubuntu",
"password": "ubuntu",
"pod_cidr": "10.200.0.0/16",
"cluster_cp_name": "masterNode_CP1"
},
"worker_node": {
"vdu_id": "workerNode",
"ssh_cp_name": "workerNode_CP1_floating_ip",
"nic_cp_name": "workerNode_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
},
"lcm-operation-user-data": "./UserData/userdata_standard.py",
"lcm-operation-user-data-class": "StandardUserData"
}
}
对 WorkerNode 执行伸缩操作。
$ openstack vnflcm scale 14c5406b-f627-4391-b91b-440f242623ac --type SCALE_OUT --aspect-id workerNode_scale --number-of-steps 1 --additional-param-file simple_additional_params_req --os-tacker-api-version 2
Scale request for VNF Instance 14c5406b-f627-4391-b91b-440f242623ac has been accepted.
操作后的检查¶
在 LCM 操作的状态为 COMPLETE 后,检查 VNF 实例和 Kubernetes 集群。
$ openstack vnflcm show 14c5406b-f627-4391-b91b-440f242623ac --os-tacker-api-version 2
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiated Vnf Info | { |
| | "flavourId": "simple", |
| | "vnfState": "STARTED", |
| | "scaleStatus": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 1 |
| | } |
| | ], |
| | "maxScaleLevels": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 2 |
| | } |
| | ], |
| | "extCpInfo": [ |
| | { |
| | "id": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "associatedVnfcCpId": "masterNode_CP1-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded" |
| | }, |
| | { |
| | "id": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "associatedVnfcCpId": "workerNode_CP1-ea9875b6-ff85-4d36-a559-913e424963d5" |
| | }, |
| | { |
| | "id": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "associatedVnfcCpId": "workerNode_CP1-bed06f84-ad08-4c5d-bc5e-92126338fc19" |
| | }, |
| | { |
| | "id": "cp-897de2e7-6468-4255-8c94-e244e5f3efc1", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "897de2e7-6468-4255-8c94-e244e5f3efc1", |
| | "associatedVnfcCpId": "workerNode_CP1-e5008abc-f6c4-4828-947d-acd6e7dce86b" |
| | } |
| | ], |
| | "extVirtualLinkInfo": [ |
| | { |
| | "id": "net0_master", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "masterNode_CP1", |
| | "cpConfig": { |
| | "Master_CP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | }, |
| | { |
| | "id": "net0_worker", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172" |
| | }, |
| | { |
| | "id": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85" |
| | }, |
| | { |
| | "id": "897de2e7-6468-4255-8c94-e244e5f3efc1", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "897de2e7-6468-4255-8c94-e244e5f3efc1", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-897de2e7-6468-4255-8c94-e244e5f3efc1" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "workerNode_CP1", |
| | "cpConfig": { |
| | "WorkerCP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | } |
| | ], |
| | "vnfcResourceInfo": [ |
| | { |
| | "id": "e5008abc-f6c4-4828-947d-acd6e7dce86b", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "e5008abc-f6c4-4828-947d-acd6e7dce86b", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-e5008abc-f6c4-4828-947d-acd6e7dce86b", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-897de2e7-6468-4255-8c94-e244e5f3efc1" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T05:33:36Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-2-t2uwzgmhvzec/74cff50f-694a-4c00-ae95-d01834be03fe", |
| | "vdu_idx": 2, |
| | "flavor": "m1.medium", |
| | "image-workerNode-2": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | { |
| | "id": "ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:45Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-1-kzucycjp37uz/44c28eaf-10a0-4899-8cf7-9793ce2e2699", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-workerNode-1": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | { |
| | "id": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:44Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-0-nido6vmrnvkx/6184e70f-e8b8-4555-b1a8-18be7a553bf6", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-masterNode-0": "f9766b26-6876-427d-a745-d6a83606d5bb" |
| | } |
| | }, |
| | { |
| | "id": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:43Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-0-qi6uhdjwtdux/134dfd69-cedf-4886-b032-34120fad03f1", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-workerNode-0": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | } |
| | ], |
| | "vnfcInfo": [ |
| | { |
| | "id": "workerNode-e5008abc-f6c4-4828-947d-acd6e7dce86b", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "e5008abc-f6c4-4828-947d-acd6e7dce86b", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vnfcState": "STARTED" |
| | } |
| | ], |
| | "metadata": { |
| | "stack_id": "bb1fa0a7-f4d0-4205-b77c-b0f22506c0b4", |
| | "nfv": { |
| | "VDU": { |
| | "masterNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "f9766b26-6876-427d-a745-d6a83606d5bb" |
| | }, |
| | "workerNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | }, |
| | "workerNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | }, |
| | "workerNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | "CP": { |
| | "masterNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | } |
| | } |
| | }, |
| | "tenant": "nfv" |
| | } |
| | } |
| Instantiation State | INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "terminate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/terminate" |
| | }, |
| | "scale": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/scale" |
| | }, |
| | "heal": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/heal" |
| | }, |
| | "changeExtConn": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/change_ext_conn" |
| | } |
| | } |
| VIM Connection Info | { |
| | "vim1": { |
| | "vimId": "d82ee798-a1d2-4854-8f74-4892ad706751", |
| | "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3", |
| | "interfaceInfo": { |
| | "endpoint": "https:///identity/v3" |
| | }, |
| | "accessInfo": { |
| | "region": "RegionOne", |
| | "project": "nfv", |
| | "username": "nfv_user", |
| | "userDomain": "Default", |
| | "projectDomain": "Default" |
| | } |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
确认已添加 WorkerNode 的 VM。
$ openstack server list
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| e5008abc-f6c4-4828-947d-acd6e7dce86b | workerNode | ACTIVE | net0=10.10.0.155, 172.24.4.134 | workerNode-image | m1.medium |
| bed06f84-ad08-4c5d-bc5e-92126338fc19 | workerNode | ACTIVE | net0=10.10.0.9, 172.24.4.72 | workerNode-image | m1.medium |
| ea9875b6-ff85-4d36-a559-913e424963d5 | workerNode | ACTIVE | net0=10.10.0.30, 172.24.4.161 | workerNode-image | m1.medium |
| ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded | masterNode | ACTIVE | net0=10.10.0.231, 172.24.4.3 | masterNode-image | m1.medium |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
通过 SSH 登录到 MasterNode 并检查 Kubernetes 集群的 Node。验证已添加 Node,并且所有 Node 的 STATUS 均为 Ready。
ubuntu@master231:~$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master231 Ready control-plane 41m v1.26.8 10.10.0.231 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker155 Ready <none> 3m40s v1.26.8 10.10.0.155 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker30 Ready <none> 37m v1.26.8 10.10.0.30 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker9 Ready <none> 34m v1.26.8 10.10.0.9 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
您还可以检查 cilium 是否已准备就绪。
ubuntu@master231:~$ cilium status
/ ̄ ̄\
/ ̄ ̄\__/ ̄ ̄\ Cilium: OK
\__/ ̄ ̄\__/ Operator: OK
/ ̄ ̄\__/ ̄ ̄\ Envoy DaemonSet: disabled (using embedded mode)
\__/ ̄ ̄\__/ Hubble Relay: disabled
\__/ ClusterMesh: disabled
Deployment cilium-operator Desired: 1, Ready: 1/1, Available: 1/1
DaemonSet cilium Desired: 4, Ready: 4/4, Available: 4/4
Containers: cilium Running: 4
cilium-operator Running: 1
Cluster Pods: 2/2 managed by Cilium
Helm chart version:
Image versions cilium quay.io/cilium/cilium:v1.14.5@sha256:d3b287029755b6a47dee01420e2ea469469f1b174a2089c10af7e5e9289ef05b: 4
cilium-operator quay.io/cilium/operator-generic:v1.14.5@sha256:303f9076bdc73b3fc32aaedee64a14f6f44c8bb08ee9e3956d443021103ebe7a: 1
缩容 VNF¶
对 WorkerNode 执行缩容操作。此处伸缩操作后,紧接着是缩容操作,删除伸缩操作添加的 Node。
在 additionalParams 中指定以下参数以执行缩容操作。
{
"additionalParams": {
"k8s_cluster_installation_param": {
"script_path": "Scripts/install_k8s_cluster.sh",
"master_node": {
"vdu_id": "masterNode",
"ssh_cp_name": "masterNode_CP1_floating_ip",
"nic_cp_name": "masterNode_CP1",
"username": "ubuntu",
"password": "ubuntu",
"pod_cidr": "10.200.0.0/16",
"cluster_cp_name": "masterNode_CP1"
},
"worker_node": {
"vdu_id": "workerNode",
"ssh_cp_name": "workerNode_CP1_floating_ip",
"nic_cp_name": "workerNode_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
},
"lcm-operation-user-data": "./UserData/userdata_standard.py",
"lcm-operation-user-data-class": "StandardUserData"
}
}
对 WorkerNode 执行缩容操作。
$ openstack vnflcm scale 14c5406b-f627-4391-b91b-440f242623ac --type SCALE_IN --aspect-id workerNode_scale --number-of-steps 1 --additional-param-file simple_additional_params_req --os-tacker-api-version 2
Scale request for VNF Instance 14c5406b-f627-4391-b91b-440f242623ac has been accepted.
操作后的检查¶
在 LCM 操作的状态为 COMPLETE 后,检查 VNF 实例和 Kubernetes 集群。
$ openstack vnflcm show 14c5406b-f627-4391-b91b-440f242623ac --os-tacker-api-version 2
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiated Vnf Info | { |
| | "flavourId": "simple", |
| | "vnfState": "STARTED", |
| | "scaleStatus": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 0 |
| | } |
| | ], |
| | "maxScaleLevels": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 2 |
| | } |
| | ], |
| | "extCpInfo": [ |
| | { |
| | "id": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "associatedVnfcCpId": "masterNode_CP1-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded" |
| | }, |
| | { |
| | "id": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "associatedVnfcCpId": "workerNode_CP1-ea9875b6-ff85-4d36-a559-913e424963d5" |
| | }, |
| | { |
| | "id": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "associatedVnfcCpId": "workerNode_CP1-bed06f84-ad08-4c5d-bc5e-92126338fc19" |
| | } |
| | ], |
| | "extVirtualLinkInfo": [ |
| | { |
| | "id": "net0_master", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "masterNode_CP1", |
| | "cpConfig": { |
| | "Master_CP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | }, |
| | { |
| | "id": "net0_worker", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172" |
| | }, |
| | { |
| | "id": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "workerNode_CP1", |
| | "cpConfig": { |
| | "WorkerCP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | } |
| | ], |
| | "vnfcResourceInfo": [ |
| | { |
| | "id": "ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:45Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-1-kzucycjp37uz/44c28eaf-10a0-4899-8cf7-9793ce2e2699", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-workerNode-1": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | { |
| | "id": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:44Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-0-nido6vmrnvkx/6184e70f-e8b8-4555-b1a8-18be7a553bf6", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-masterNode-0": "f9766b26-6876-427d-a745-d6a83606d5bb" |
| | } |
| | }, |
| | { |
| | "id": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:43Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-0-qi6uhdjwtdux/134dfd69-cedf-4886-b032-34120fad03f1", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-workerNode-0": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | } |
| | ], |
| | "vnfcInfo": [ |
| | { |
| | "id": "workerNode-ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "ea9875b6-ff85-4d36-a559-913e424963d5", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vnfcState": "STARTED" |
| | } |
| | ], |
| | "metadata": { |
| | "stack_id": "bb1fa0a7-f4d0-4205-b77c-b0f22506c0b4", |
| | "nfv": { |
| | "VDU": { |
| | "masterNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "f9766b26-6876-427d-a745-d6a83606d5bb" |
| | }, |
| | "workerNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | }, |
| | "workerNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | }, |
| | "workerNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | "CP": { |
| | "masterNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | } |
| | } |
| | }, |
| | "tenant": "nfv" |
| | } |
| | } |
| Instantiation State | INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "terminate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/terminate" |
| | }, |
| | "scale": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/scale" |
| | }, |
| | "heal": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/heal" |
| | }, |
| | "changeExtConn": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/change_ext_conn" |
| | } |
| | } |
| VIM Connection Info | { |
| | "vim1": { |
| | "vimId": "d82ee798-a1d2-4854-8f74-4892ad706751", |
| | "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3", |
| | "interfaceInfo": { |
| | "endpoint": "https:///identity/v3" |
| | }, |
| | "accessInfo": { |
| | "region": "RegionOne", |
| | "project": "nfv", |
| | "username": "nfv_user", |
| | "userDomain": "Default", |
| | "projectDomain": "Default" |
| | } |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
确认 WorkerNode 的 VM 已被缩容操作删除。
$ openstack server list
+--------------------------------------+------------+--------+-------------------------------+------------------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+-------------------------------+------------------+-----------+
| bed06f84-ad08-4c5d-bc5e-92126338fc19 | workerNode | ACTIVE | net0=10.10.0.9, 172.24.4.72 | workerNode-image | m1.medium |
| ea9875b6-ff85-4d36-a559-913e424963d5 | workerNode | ACTIVE | net0=10.10.0.30, 172.24.4.161 | workerNode-image | m1.medium |
| ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded | masterNode | ACTIVE | net0=10.10.0.231, 172.24.4.3 | masterNode-image | m1.medium |
+--------------------------------------+------------+--------+-------------------------------+------------------+-----------+
通过 SSH 登录到 MasterNode 并检查 Kubernetes 集群的 Node。验证 Node 已被删除,并且所有 Node 的 STATUS 均为 Ready。
ubuntu@master231:~$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master231 Ready control-plane 49m v1.26.8 10.10.0.231 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker30 Ready <none> 45m v1.26.8 10.10.0.30 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker9 Ready <none> 42m v1.26.8 10.10.0.9 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
您还可以检查 cilium 是否已准备就绪。
ubuntu@master231:~$ cilium status
/ ̄ ̄\
/ ̄ ̄\__/ ̄ ̄\ Cilium: OK
\__/ ̄ ̄\__/ Operator: OK
/ ̄ ̄\__/ ̄ ̄\ Envoy DaemonSet: disabled (using embedded mode)
\__/ ̄ ̄\__/ Hubble Relay: disabled
\__/ ClusterMesh: disabled
Deployment cilium-operator Desired: 1, Ready: 1/1, Available: 1/1
DaemonSet cilium Desired: 3, Ready: 3/3, Available: 3/3
Containers: cilium Running: 3
cilium-operator Running: 1
Cluster Pods: 2/2 managed by Cilium
Helm chart version:
Image versions cilium quay.io/cilium/cilium:v1.14.5@sha256:d3b287029755b6a47dee01420e2ea469469f1b174a2089c10af7e5e9289ef05b: 3
cilium-operator quay.io/cilium/operator-generic:v1.14.5@sha256:303f9076bdc73b3fc32aaedee64a14f6f44c8bb08ee9e3956d443021103ebe7a: 1
修复 VNF¶
对 VNFC 执行修复操作。
在 additionalParams 中指定以下内容进行修复。
{
"additionalParams": {
"k8s_cluster_installation_param": {
"script_path": "Scripts/install_k8s_cluster.sh",
"master_node": {
"vdu_id": "masterNode",
"ssh_cp_name": "masterNode_CP1_floating_ip",
"nic_cp_name": "masterNode_CP1",
"username": "ubuntu",
"password": "ubuntu",
"pod_cidr": "10.200.0.0/16",
"cluster_cp_name": "masterNode_CP1"
},
"worker_node": {
"vdu_id": "workerNode",
"ssh_cp_name": "workerNode_CP1_floating_ip",
"nic_cp_name": "workerNode_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
},
"lcm-operation-user-data": "./UserData/userdata_standard.py",
"lcm-operation-user-data-class": "StandardUserData"
}
}
对 WorkerNode 的 VNFC (workerNode-ea9875b6-ff85-4d36-a559-913e424963d5) 执行修复操作。
$ openstack vnflcm heal 14c5406b-f627-4391-b91b-440f242623ac --vnfc-instance workerNode-ea9875b6-ff85-4d36-a559-913e424963d5 --additional-param-file simple_additional_params_req --os-tacker-api-version 2
Heal request for VNF Instance 14c5406b-f627-4391-b91b-440f242623ac has been accepted.
操作后的检查¶
在 LCM 操作的状态为 COMPLETE 后,检查 VNF 实例和 Kubernetes 集群。
$ openstack vnflcm show 14c5406b-f627-4391-b91b-440f242623ac --os-tacker-api-version 2
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiated Vnf Info | { |
| | "flavourId": "simple", |
| | "vnfState": "STARTED", |
| | "scaleStatus": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 0 |
| | } |
| | ], |
| | "maxScaleLevels": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 2 |
| | } |
| | ], |
| | "extCpInfo": [ |
| | { |
| | "id": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "associatedVnfcCpId": "masterNode_CP1-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded" |
| | }, |
| | { |
| | "id": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "associatedVnfcCpId": "workerNode_CP1-a1131239-9951-44b3-a99e-336d9bb36cfb" |
| | }, |
| | { |
| | "id": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "associatedVnfcCpId": "workerNode_CP1-bed06f84-ad08-4c5d-bc5e-92126338fc19" |
| | } |
| | ], |
| | "extVirtualLinkInfo": [ |
| | { |
| | "id": "net0_master", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ae1688fc-6a57-4be5-9556-9436d46827a2", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "masterNode_CP1", |
| | "cpConfig": { |
| | "Master_CP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | }, |
| | { |
| | "id": "net0_worker", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "6d57c7b2-85c9-4c35-9e37-23ebdb9f9172", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172" |
| | }, |
| | { |
| | "id": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "workerNode_CP1", |
| | "cpConfig": { |
| | "WorkerCP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | } |
| | ], |
| | "vnfcResourceInfo": [ |
| | { |
| | "id": "a1131239-9951-44b3-a99e-336d9bb36cfb", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "a1131239-9951-44b3-a99e-336d9bb36cfb", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-a1131239-9951-44b3-a99e-336d9bb36cfb", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-6d57c7b2-85c9-4c35-9e37-23ebdb9f9172" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T06:02:06Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-1-kzucycjp37uz/44c28eaf-10a0-4899-8cf7-9793ce2e2699", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-workerNode-1": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | { |
| | "id": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-ae1688fc-6a57-4be5-9556-9436d46827a2" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:44Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-0-nido6vmrnvkx/6184e70f-e8b8-4555-b1a8-18be7a553bf6", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-masterNode-0": "f9766b26-6876-427d-a745-d6a83606d5bb" |
| | } |
| | }, |
| | { |
| | "id": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-63f4daeb-ab7b-4e2f-a1d8-d9fa7288ae85" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T04:53:43Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-0-qi6uhdjwtdux/134dfd69-cedf-4886-b032-34120fad03f1", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-workerNode-0": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | } |
| | ], |
| | "vnfcInfo": [ |
| | { |
| | "id": "workerNode-a1131239-9951-44b3-a99e-336d9bb36cfb", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "a1131239-9951-44b3-a99e-336d9bb36cfb", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "bed06f84-ad08-4c5d-bc5e-92126338fc19", |
| | "vnfcState": "STARTED" |
| | } |
| | ], |
| | "metadata": { |
| | "stack_id": "bb1fa0a7-f4d0-4205-b77c-b0f22506c0b4", |
| | "nfv": { |
| | "VDU": { |
| | "masterNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "f9766b26-6876-427d-a745-d6a83606d5bb" |
| | }, |
| | "workerNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | }, |
| | "workerNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | }, |
| | "workerNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | "CP": { |
| | "masterNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | } |
| | } |
| | }, |
| | "tenant": "nfv" |
| | } |
| | } |
| Instantiation State | INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "terminate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/terminate" |
| | }, |
| | "scale": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/scale" |
| | }, |
| | "heal": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/heal" |
| | }, |
| | "changeExtConn": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/change_ext_conn" |
| | } |
| | } |
| VIM Connection Info | { |
| | "vim1": { |
| | "vimId": "d82ee798-a1d2-4854-8f74-4892ad706751", |
| | "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3", |
| | "interfaceInfo": { |
| | "endpoint": "https:///identity/v3" |
| | }, |
| | "accessInfo": { |
| | "region": "RegionOne", |
| | "project": "nfv", |
| | "username": "nfv_user", |
| | "userDomain": "Default", |
| | "projectDomain": "Default" |
| | } |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
确认 WorkerNode 的 VM 已被修复操作重新创建。
$ openstack server list
+--------------------------------------+------------+--------+-------------------------------+------------------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+-------------------------------+------------------+-----------+
| a1131239-9951-44b3-a99e-336d9bb36cfb | workerNode | ACTIVE | net0=10.10.0.30, 172.24.4.161 | workerNode-image | m1.medium |
| bed06f84-ad08-4c5d-bc5e-92126338fc19 | workerNode | ACTIVE | net0=10.10.0.9, 172.24.4.72 | workerNode-image | m1.medium |
| ebe3b84b-dd2f-4f5a-83e6-4b8e8e589ded | masterNode | ACTIVE | net0=10.10.0.231, 172.24.4.3 | masterNode-image | m1.medium |
+--------------------------------------+------------+--------+-------------------------------+------------------+-----------+
通过 SSH 登录到 MasterNode 并检查 Kubernetes 集群的 Node。确认重新创建的 worker30 Node 的 STATUS 为 Ready。
ubuntu@master231:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master231 Ready control-plane 68m v1.26.8
worker30 Ready <none> 118s v1.26.8
worker9 Ready <none> 62m v1.26.8
您还可以检查 cilium 是否已准备就绪。
ubuntu@master231:~$ cilium status
/ ̄ ̄\
/ ̄ ̄\__/ ̄ ̄\ Cilium: OK
\__/ ̄ ̄\__/ Operator: OK
/ ̄ ̄\__/ ̄ ̄\ Envoy DaemonSet: disabled (using embedded mode)
\__/ ̄ ̄\__/ Hubble Relay: disabled
\__/ ClusterMesh: disabled
Deployment cilium-operator Desired: 1, Ready: 1/1, Available: 1/1
DaemonSet cilium Desired: 3, Ready: 3/3, Available: 3/3
Containers: cilium Running: 3
cilium-operator Running: 1
Cluster Pods: 2/2 managed by Cilium
Helm chart version:
Image versions cilium quay.io/cilium/cilium:v1.14.5@sha256:d3b287029755b6a47dee01420e2ea469469f1b174a2089c10af7e5e9289ef05b: 3
cilium-operator quay.io/cilium/operator-generic:v1.14.5@sha256:303f9076bdc73b3fc32aaedee64a14f6f44c8bb08ee9e3956d443021103ebe7a: 1
修复 VNF¶
执行整个 VNF 修复操作。将参数“all: true”添加到指定 VNFC 的 heal 的 additionalParams 中。
{
"additionalParams": {
"all": true,
"k8s_cluster_installation_param": {
"script_path": "Scripts/install_k8s_cluster.sh",
"master_node": {
"vdu_id": "masterNode",
"ssh_cp_name": "masterNode_CP1_floating_ip",
"nic_cp_name": "masterNode_CP1",
"username": "ubuntu",
"password": "ubuntu",
"pod_cidr": "10.200.0.0/16",
"cluster_cp_name": "masterNode_CP1"
},
"worker_node": {
"vdu_id": "workerNode",
"ssh_cp_name": "workerNode_CP1_floating_ip",
"nic_cp_name": "workerNode_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
},
"lcm-operation-user-data": "./UserData/userdata_standard.py",
"lcm-operation-user-data-class": "StandardUserData"
}
}
修复前确认堆栈 ID。
$ openstack stack list
+------------------------------------+------------------------------------+----------------------------------+-----------------+----------------------+----------------------+
| ID | Stack Name | Project | Stack Status | Creation Time | Updated Time |
+------------------------------------+------------------------------------+----------------------------------+-----------------+----------------------+----------------------+
| bb1fa0a7-f4d0-4205-b77c- | vnf-14c5406b-f627-4391-b91b- | 5d711196514b4f11b02382403b3342a9 | UPDATE_COMPLETE | 2024-04-16T04:53:42Z | 2024-04-16T06:13:27Z |
| b0f22506c0b4 | 440f242623ac | | | | |
+------------------------------------+------------------------------------+----------------------------------+-----------------+----------------------+----------------------+
执行修复操作。
$ openstack vnflcm heal 14c5406b-f627-4391-b91b-440f242623ac --additional-param-file simple_additional_params_req --os-tacker-api-version 2
Heal request for VNF Instance 14c5406b-f627-4391-b91b-440f242623ac has been accepted.
操作后的检查¶
在 LCM 操作的状态为 COMPLETE 后,检查 VNF 实例和 Kubernetes 集群。
验证堆栈已重新创建。
$ openstack stack list
+--------------------------------------+------------------------------------------+----------------------------------+-----------------+----------------------+--------------+
| ID | Stack Name | Project | Stack Status | Creation Time | Updated Time |
+--------------------------------------+------------------------------------------+----------------------------------+-----------------+----------------------+--------------+
| 8bcc0978-7d69-4950-87e5-396c4a978f09 | vnf-14c5406b-f627-4391-b91b-440f242623ac | 5d711196514b4f11b02382403b3342a9 | CREATE_COMPLETE | 2024-04-16T06:34:22Z | None |
+--------------------------------------+------------------------------------------+----------------------------------+-----------------+----------------------+--------------+
$ openstack vnflcm show 14c5406b-f627-4391-b91b-440f242623ac --os-tacker-api-version 2
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiated Vnf Info | { |
| | "flavourId": "simple", |
| | "vnfState": "STARTED", |
| | "scaleStatus": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 0 |
| | } |
| | ], |
| | "maxScaleLevels": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 2 |
| | } |
| | ], |
| | "extCpInfo": [ |
| | { |
| | "id": "cp-b2c7a409-b20c-4608-870b-7d28bbae0707", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "b2c7a409-b20c-4608-870b-7d28bbae0707", |
| | "associatedVnfcCpId": "masterNode_CP1-78c53b6c-4f96-4ee0-afc5-ca3c9b7dd70c" |
| | }, |
| | { |
| | "id": "cp-01550e61-6512-405e-8e68-d643a2ced0e3", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "01550e61-6512-405e-8e68-d643a2ced0e3", |
| | "associatedVnfcCpId": "workerNode_CP1-04bd1f79-8878-4649-b062-741899bd3e40" |
| | }, |
| | { |
| | "id": "cp-8dfe2918-baae-4843-b094-f063174d1a94", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "8dfe2918-baae-4843-b094-f063174d1a94", |
| | "associatedVnfcCpId": "workerNode_CP1-953d61b5-9cc1-454b-ae95-0a2483afd41b" |
| | } |
| | ], |
| | "extVirtualLinkInfo": [ |
| | { |
| | "id": "net0_master", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "b2c7a409-b20c-4608-870b-7d28bbae0707", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "b2c7a409-b20c-4608-870b-7d28bbae0707", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-b2c7a409-b20c-4608-870b-7d28bbae0707" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "masterNode_CP1", |
| | "cpConfig": { |
| | "Master_CP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | }, |
| | { |
| | "id": "net0_worker", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "01550e61-6512-405e-8e68-d643a2ced0e3", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "01550e61-6512-405e-8e68-d643a2ced0e3", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-01550e61-6512-405e-8e68-d643a2ced0e3" |
| | }, |
| | { |
| | "id": "8dfe2918-baae-4843-b094-f063174d1a94", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "8dfe2918-baae-4843-b094-f063174d1a94", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-8dfe2918-baae-4843-b094-f063174d1a94" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "workerNode_CP1", |
| | "cpConfig": { |
| | "WorkerCP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | } |
| | ], |
| | "vnfcResourceInfo": [ |
| | { |
| | "id": "04bd1f79-8878-4649-b062-741899bd3e40", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "04bd1f79-8878-4649-b062-741899bd3e40", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-04bd1f79-8878-4649-b062-741899bd3e40", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-01550e61-6512-405e-8e68-d643a2ced0e3" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T06:34:23Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-1-ovgtzrd75exq/d26115ff-6736-4d67-9be2-bff9e1f65470", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-workerNode-1": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | { |
| | "id": "78c53b6c-4f96-4ee0-afc5-ca3c9b7dd70c", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "78c53b6c-4f96-4ee0-afc5-ca3c9b7dd70c", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-78c53b6c-4f96-4ee0-afc5-ca3c9b7dd70c", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-b2c7a409-b20c-4608-870b-7d28bbae0707" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T06:34:25Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-0-spjxfsbzjqom/16fa1b79-e6e0-4ad9-9a39-11824921afdb", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-masterNode-0": "f9766b26-6876-427d-a745-d6a83606d5bb" |
| | } |
| | }, |
| | { |
| | "id": "953d61b5-9cc1-454b-ae95-0a2483afd41b", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "953d61b5-9cc1-454b-ae95-0a2483afd41b", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-953d61b5-9cc1-454b-ae95-0a2483afd41b", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-8dfe2918-baae-4843-b094-f063174d1a94" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-16T06:34:24Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-0-g774ainjzuuj/a03258d9-d14e-43ee-8c3f-66903365f690", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-workerNode-0": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | } |
| | ], |
| | "vnfcInfo": [ |
| | { |
| | "id": "workerNode-04bd1f79-8878-4649-b062-741899bd3e40", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "04bd1f79-8878-4649-b062-741899bd3e40", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-78c53b6c-4f96-4ee0-afc5-ca3c9b7dd70c", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "78c53b6c-4f96-4ee0-afc5-ca3c9b7dd70c", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-953d61b5-9cc1-454b-ae95-0a2483afd41b", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "953d61b5-9cc1-454b-ae95-0a2483afd41b", |
| | "vnfcState": "STARTED" |
| | } |
| | ], |
| | "metadata": { |
| | "stack_id": "8bcc0978-7d69-4950-87e5-396c4a978f09", |
| | "nfv": { |
| | "VDU": { |
| | "masterNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "f9766b26-6876-427d-a745-d6a83606d5bb" |
| | }, |
| | "workerNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | }, |
| | "workerNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | }, |
| | "workerNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "529f058a-6097-463b-bda0-f25a4356d62f" |
| | } |
| | }, |
| | "CP": { |
| | "masterNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | } |
| | } |
| | }, |
| | "tenant": "nfv" |
| | } |
| | } |
| Instantiation State | INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "terminate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/terminate" |
| | }, |
| | "scale": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/scale" |
| | }, |
| | "heal": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/heal" |
| | }, |
| | "changeExtConn": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/change_ext_conn" |
| | } |
| | } |
| VIM Connection Info | { |
| | "vim1": { |
| | "vimId": "d82ee798-a1d2-4854-8f74-4892ad706751", |
| | "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3", |
| | "interfaceInfo": { |
| | "endpoint": "https:///identity/v3" |
| | }, |
| | "accessInfo": { |
| | "region": "RegionOne", |
| | "project": "nfv", |
| | "username": "nfv_user", |
| | "userDomain": "Default", |
| | "projectDomain": "Default" |
| | } |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
验证所有 VM 都已重新创建。
$ openstack server list
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| 78c53b6c-4f96-4ee0-afc5-ca3c9b7dd70c | masterNode | ACTIVE | net0=10.10.0.112, 172.24.4.225 | masterNode-image | m1.medium |
| 953d61b5-9cc1-454b-ae95-0a2483afd41b | workerNode | ACTIVE | net0=10.10.0.122, 172.24.4.164 | workerNode-image | m1.medium |
| 04bd1f79-8878-4649-b062-741899bd3e40 | workerNode | ACTIVE | net0=10.10.0.94, 172.24.4.103 | workerNode-image | m1.medium |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
通过 SSH 登录到 MasterNode 并检查 Kubernetes 集群的 Node。验证所有 VM 是否在集群中,并且 Node 的 STATUS 为 Ready。
ubuntu@master112:~$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master112 Ready control-plane 11m v1.26.8 10.10.0.112 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker122 Ready <none> 4m45s v1.26.8 10.10.0.122 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker94 Ready <none> 7m5s v1.26.8 10.10.0.94 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
您还可以检查 cilium 是否已准备就绪。
ubuntu@master112:~$ cilium status
/ ̄ ̄\
/ ̄ ̄\__/ ̄ ̄\ Cilium: OK
\__/ ̄ ̄\__/ Operator: OK
/ ̄ ̄\__/ ̄ ̄\ Envoy DaemonSet: disabled (using embedded mode)
\__/ ̄ ̄\__/ Hubble Relay: disabled
\__/ ClusterMesh: disabled
Deployment cilium-operator Desired: 1, Ready: 1/1, Available: 1/1
DaemonSet cilium Desired: 3, Ready: 3/3, Available: 3/3
Containers: cilium-operator Running: 1
cilium Running: 3
Cluster Pods: 2/2 managed by Cilium
Helm chart version:
Image versions cilium quay.io/cilium/cilium:v1.14.5@sha256:d3b287029755b6a47dee01420e2ea469469f1b174a2089c10af7e5e9289ef05b: 3
cilium-operator quay.io/cilium/operator-generic:v1.14.5@sha256:303f9076bdc73b3fc32aaedee64a14f6f44c8bb08ee9e3956d443021103ebe7a: 1
ubuntu@master112:~$
使用复杂模式创建 Kubernetes 集群¶
使用复杂模式创建 Kubernetes 集群。
实例化 VNF¶
使用以下请求参数进行实例化。文件名是 complex_kubernetes_param_file_v2.json。需要更改一些参数以适应您的环境。
{
"flavourId": "complex",
"vimConnectionInfo": {
"vim1": {
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3",
"vimId": "d82ee798-a1d2-4854-8f74-4892ad706751",
"interfaceInfo": {
"endpoint": "https:///identity/v3"
},
"accessInfo": {
"username": "nfv_user",
"region": "RegionOne",
"password": "devstack",
"project": "nfv",
"projectDomain": "Default",
"userDomain": "Default"
}
}
},
"additionalParams": {
"k8s_cluster_installation_param": {
"script_path": "Scripts/install_k8s_cluster.sh",
"master_node": {
"vdu_id": "masterNode",
"ssh_cp_name": "masterNode_CP1_floating_ip",
"nic_cp_name": "masterNode_CP1",
"username": "ubuntu",
"password": "ubuntu",
"pod_cidr": "10.200.0.0/16",
"cluster_cp_name": "vip_CP",
"cluster_fip_name": "vip_CP_floating_ip"
},
"worker_node": {
"vdu_id": "workerNode",
"ssh_cp_name": "workerNode_CP1_floating_ip",
"nic_cp_name": "workerNode_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
},
"lcm-operation-user-data": "./UserData/userdata_standard.py",
"lcm-operation-user-data-class": "StandardUserData"
},
"extVirtualLinks": [
{
"id": "net0_master",
"resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313",
"extCps": [
{
"cpdId": "masterNode_CP1",
"cpConfig": {
"Master_CP1": {
"cpProtocolData": [
{
"layerProtocol": "IP_OVER_ETHERNET",
"ipOverEthernet": {
"ipAddresses": [
{
"type": "IPV4",
"numDynamicAddresses": 1
}
]
}
}
]
}
}
}
]
},
{
"id": "net0_worker",
"resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313",
"extCps": [
{
"cpdId": "workerNode_CP1",
"cpConfig": {
"WorkerCP1": {
"cpProtocolData": [
{
"layerProtocol": "IP_OVER_ETHERNET",
"ipOverEthernet": {
"ipAddresses": [
{
"type": "IPV4",
"numDynamicAddresses": 1
}
]
}
}
]
}
}
}
]
}
]
}
实例化操作。
$ openstack vnflcm instantiate 14c5406b-f627-4391-b91b-440f242623ac complex_kubernetes_param_file_v2.json --os-tacker-api-version 2
Instantiate request for VNF Instance 14c5406b-f627-4391-b91b-440f242623ac has been accepted.
操作后的检查¶
在 LCM 操作的状态为 COMPLETE 后,检查 VNF 实例和 Kubernetes 集群。
确认 MasterNode 和 WorkerNode 的所有 VM 都已创建。
$ openstack server list
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| 20ee4d5b-e51f-4e6b-a400-47bfabd48f59 | masterNode | ACTIVE | net0=10.10.0.15, 172.24.4.156 | masterNode-image | m1.medium |
| 90091dbb-1047-4207-8394-114bd3a3aec9 | masterNode | ACTIVE | net0=10.10.0.153, 172.24.4.107 | masterNode-image | m1.medium |
| c20645b0-d5b3-4341-bbf2-31528976e760 | masterNode | ACTIVE | net0=10.10.0.219, 172.24.4.140 | masterNode-image | m1.medium |
| 2cbfaab9-1be9-42c8-be67-ee83083c8e1f | workerNode | ACTIVE | net0=10.10.0.45, 172.24.4.186 | workerNode-image | m1.medium |
| 355d2203-0952-4f1a-aa71-340d6a5a893f | workerNode | ACTIVE | net0=10.10.0.86, 172.24.4.26 | workerNode-image | m1.medium |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
$ openstack vnflcm show 14c5406b-f627-4391-b91b-440f242623ac --os-tacker-api-version 2
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiated Vnf Info | { |
| | "flavourId": "complex", |
| | "vnfState": "STARTED", |
| | "scaleStatus": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 0 |
| | } |
| | ], |
| | "maxScaleLevels": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 2 |
| | } |
| | ], |
| | "extCpInfo": [ |
| | { |
| | "id": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "associatedVnfcCpId": "masterNode_CP1-20ee4d5b-e51f-4e6b-a400-47bfabd48f59" |
| | }, |
| | { |
| | "id": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "associatedVnfcCpId": "workerNode_CP1-2cbfaab9-1be9-42c8-be67-ee83083c8e1f" |
| | }, |
| | { |
| | "id": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "associatedVnfcCpId": "masterNode_CP1-90091dbb-1047-4207-8394-114bd3a3aec9" |
| | }, |
| | { |
| | "id": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "associatedVnfcCpId": "workerNode_CP1-355d2203-0952-4f1a-aa71-340d6a5a893f" |
| | }, |
| | { |
| | "id": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "associatedVnfcCpId": "masterNode_CP1-c20645b0-d5b3-4341-bbf2-31528976e760" |
| | } |
| | ], |
| | "extVirtualLinkInfo": [ |
| | { |
| | "id": "net0_master", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e" |
| | }, |
| | { |
| | "id": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0" |
| | }, |
| | { |
| | "id": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "masterNode_CP1", |
| | "cpConfig": { |
| | "Master_CP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | }, |
| | { |
| | "id": "net0_worker", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86" |
| | }, |
| | { |
| | "id": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "workerNode_CP1", |
| | "cpConfig": { |
| | "WorkerCP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | } |
| | ], |
| | "vnfcResourceInfo": [ |
| | { |
| | "id": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-2-jdclzcogomqy/756fee55-4478-4a1d-a420-1695943bf24a", |
| | "vdu_idx": 2, |
| | "flavor": "m1.medium", |
| | "image-masterNode-2": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-1-ewevxjfpa5du/6c93f15d-0e1c-419a-82a6-dc0daa8d254c", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-masterNode-1": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:13Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-1-25n3lsnj6kop/e03f90f6-750e-4e86-8f56-fec0f9e8e28b", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-workerNode-1": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | { |
| | "id": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-0-kkckwhq5raf2/efa4697a-7c98-408e-afa8-aece3c5bb42d", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-masterNode-0": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:13Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-0-hwuihryx6ik4/abd2ea60-5b70-4787-959f-3dece676cc00", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-workerNode-0": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | } |
| | ], |
| | "vnfcInfo": [ |
| | { |
| | "id": "masterNode-c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vnfcState": "STARTED" |
| | } |
| | ], |
| | "metadata": { |
| | "stack_id": "642dbe88-1cda-4cf4-af9f-f81d53f10232", |
| | "nfv": { |
| | "VDU": { |
| | "masterNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "masterNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "masterNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "workerNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | }, |
| | "workerNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | "CP": { |
| | "masterNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "masterNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "masterNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | } |
| | } |
| | }, |
| | "tenant": "nfv" |
| | } |
| | } |
| Instantiation State | INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "terminate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/terminate" |
| | }, |
| | "scale": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/scale" |
| | }, |
| | "heal": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/heal" |
| | }, |
| | "changeExtConn": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/change_ext_conn" |
| | } |
| | } |
| VIM Connection Info | { |
| | "vim1": { |
| | "vimId": "d82ee798-a1d2-4854-8f74-4892ad706751", |
| | "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3", |
| | "interfaceInfo": { |
| | "endpoint": "https:///identity/v3" |
| | }, |
| | "accessInfo": { |
| | "region": "RegionOne", |
| | "project": "nfv", |
| | "username": "nfv_user", |
| | "userDomain": "Default", |
| | "projectDomain": "Default" |
| | } |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
通过 SSH 登录到任何一个 MasterNode 并检查 Kubernetes 集群中的 Node。验证所有 VM 是否在集群中,并且 Node 的 STATUS 为 Ready。
ubuntu@master15:~$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master15 Ready control-plane 9m5s v1.26.8 10.10.0.15 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
master153 Ready control-plane 13m v1.26.8 10.10.0.153 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
master219 Ready control-plane 18m v1.26.8 10.10.0.219 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker45 Ready <none> 6m26s v1.26.8 10.10.0.45 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker86 Ready <none> 4m6s v1.26.8 10.10.0.86 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
您还可以检查 cilium 是否已准备就绪。
ubuntu@master15:~$ cilium status
/ ̄ ̄\
/ ̄ ̄\__/ ̄ ̄\ Cilium: OK
\__/ ̄ ̄\__/ Operator: OK
/ ̄ ̄\__/ ̄ ̄\ Envoy DaemonSet: disabled (using embedded mode)
\__/ ̄ ̄\__/ Hubble Relay: disabled
\__/ ClusterMesh: disabled
DaemonSet cilium Desired: 5, Ready: 5/5, Available: 5/5
Deployment cilium-operator Desired: 1, Ready: 1/1, Available: 1/1
Containers: cilium Running: 5
cilium-operator Running: 1
Cluster Pods: 2/2 managed by Cilium
Helm chart version:
Image versions cilium quay.io/cilium/cilium:v1.14.5@sha256:d3b287029755b6a47dee01420e2ea469469f1b174a2089c10af7e5e9289ef05b: 5
cilium-operator quay.io/cilium/operator-generic:v1.14.5@sha256:303f9076bdc73b3fc32aaedee64a14f6f44c8bb08ee9e3956d443021103ebe7a: 1
伸缩 VNF¶
执行伸缩操作。
使用以下示例请求参数执行伸缩操作。
{
"additionalParams": {
"k8s_cluster_installation_param": {
"script_path": "Scripts/install_k8s_cluster.sh",
"master_node": {
"vdu_id": "masterNode",
"ssh_cp_name": "masterNode_CP1_floating_ip",
"nic_cp_name": "masterNode_CP1",
"username": "ubuntu",
"password": "ubuntu",
"pod_cidr": "10.200.0.0/16",
"cluster_cp_name": "vip_CP",
"cluster_fip_name": "vip_CP_floating_ip"
},
"worker_node": {
"vdu_id": "workerNode",
"ssh_cp_name": "workerNode_CP1_floating_ip",
"nic_cp_name": "workerNode_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
},
"lcm-operation-user-data": "./UserData/userdata_standard.py",
"lcm-operation-user-data-class": "StandardUserData"
}
}
执行伸缩操作。
$ openstack vnflcm scale 14c5406b-f627-4391-b91b-440f242623ac --type SCALE_OUT --aspect-id workerNode_scale --number-of-steps 1 --additional-param-file complex_additional_params_req --os-tacker-api-version 2
Scale request for VNF Instance 14c5406b-f627-4391-b91b-440f242623ac has been accepted.
操作后的检查¶
在 LCM 操作的状态为 COMPLETE 后,检查 VNF 实例和 Kubernetes 集群。
$ openstack server list
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| fbb74f94-52ad-4829-9a9d-a0af3ce2f284 | workerNode | ACTIVE | net0=10.10.0.146, 172.24.4.76 | workerNode-image | m1.medium |
| 20ee4d5b-e51f-4e6b-a400-47bfabd48f59 | masterNode | ACTIVE | net0=10.10.0.15, 172.24.4.156 | masterNode-image | m1.medium |
| 90091dbb-1047-4207-8394-114bd3a3aec9 | masterNode | ACTIVE | net0=10.10.0.153, 172.24.4.107 | masterNode-image | m1.medium |
| c20645b0-d5b3-4341-bbf2-31528976e760 | masterNode | ACTIVE | net0=10.10.0.219, 172.24.4.140 | masterNode-image | m1.medium |
| 2cbfaab9-1be9-42c8-be67-ee83083c8e1f | workerNode | ACTIVE | net0=10.10.0.45, 172.24.4.186 | workerNode-image | m1.medium |
| 355d2203-0952-4f1a-aa71-340d6a5a893f | workerNode | ACTIVE | net0=10.10.0.86, 172.24.4.26 | workerNode-image | m1.medium |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
$ openstack vnflcm show 14c5406b-f627-4391-b91b-440f242623ac --os-tacker-api-version 2
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiated Vnf Info | { |
| | "flavourId": "complex", |
| | "vnfState": "STARTED", |
| | "scaleStatus": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 1 |
| | } |
| | ], |
| | "maxScaleLevels": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 2 |
| | } |
| | ], |
| | "extCpInfo": [ |
| | { |
| | "id": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "associatedVnfcCpId": "masterNode_CP1-20ee4d5b-e51f-4e6b-a400-47bfabd48f59" |
| | }, |
| | { |
| | "id": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "associatedVnfcCpId": "workerNode_CP1-2cbfaab9-1be9-42c8-be67-ee83083c8e1f" |
| | }, |
| | { |
| | "id": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "associatedVnfcCpId": "masterNode_CP1-90091dbb-1047-4207-8394-114bd3a3aec9" |
| | }, |
| | { |
| | "id": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "associatedVnfcCpId": "workerNode_CP1-355d2203-0952-4f1a-aa71-340d6a5a893f" |
| | }, |
| | { |
| | "id": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "associatedVnfcCpId": "masterNode_CP1-c20645b0-d5b3-4341-bbf2-31528976e760" |
| | }, |
| | { |
| | "id": "cp-8672ebdf-3dc6-4360-b0ad-5c96686a9b51", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "8672ebdf-3dc6-4360-b0ad-5c96686a9b51", |
| | "associatedVnfcCpId": "workerNode_CP1-fbb74f94-52ad-4829-9a9d-a0af3ce2f284" |
| | } |
| | ], |
| | "extVirtualLinkInfo": [ |
| | { |
| | "id": "net0_master", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e" |
| | }, |
| | { |
| | "id": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0" |
| | }, |
| | { |
| | "id": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "masterNode_CP1", |
| | "cpConfig": { |
| | "Master_CP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | }, |
| | { |
| | "id": "net0_worker", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86" |
| | }, |
| | { |
| | "id": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e" |
| | }, |
| | { |
| | "id": "8672ebdf-3dc6-4360-b0ad-5c96686a9b51", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "8672ebdf-3dc6-4360-b0ad-5c96686a9b51", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-8672ebdf-3dc6-4360-b0ad-5c96686a9b51" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "workerNode_CP1", |
| | "cpConfig": { |
| | "WorkerCP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | } |
| | ], |
| | "vnfcResourceInfo": [ |
| | { |
| | "id": "fbb74f94-52ad-4829-9a9d-a0af3ce2f284", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "fbb74f94-52ad-4829-9a9d-a0af3ce2f284", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-fbb74f94-52ad-4829-9a9d-a0af3ce2f284", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-8672ebdf-3dc6-4360-b0ad-5c96686a9b51" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T04:15:08Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-2-ocanqfdokv6b/7a8ec846-fadc-42fa-8fc5-bb476518739a", |
| | "vdu_idx": 2, |
| | "flavor": "m1.medium", |
| | "image-workerNode-2": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | { |
| | "id": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-2-jdclzcogomqy/756fee55-4478-4a1d-a420-1695943bf24a", |
| | "vdu_idx": 2, |
| | "flavor": "m1.medium", |
| | "image-masterNode-2": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-1-ewevxjfpa5du/6c93f15d-0e1c-419a-82a6-dc0daa8d254c", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-masterNode-1": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:13Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-1-25n3lsnj6kop/e03f90f6-750e-4e86-8f56-fec0f9e8e28b", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-workerNode-1": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | { |
| | "id": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-0-kkckwhq5raf2/efa4697a-7c98-408e-afa8-aece3c5bb42d", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-masterNode-0": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:13Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-0-hwuihryx6ik4/abd2ea60-5b70-4787-959f-3dece676cc00", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-workerNode-0": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | } |
| | ], |
| | "vnfcInfo": [ |
| | { |
| | "id": "workerNode-fbb74f94-52ad-4829-9a9d-a0af3ce2f284", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "fbb74f94-52ad-4829-9a9d-a0af3ce2f284", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vnfcState": "STARTED" |
| | } |
| | ], |
| | "metadata": { |
| | "stack_id": "642dbe88-1cda-4cf4-af9f-f81d53f10232", |
| | "nfv": { |
| | "VDU": { |
| | "masterNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "masterNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "masterNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "workerNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | }, |
| | "workerNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | }, |
| | "workerNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | "CP": { |
| | "masterNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "masterNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "masterNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | } |
| | } |
| | }, |
| | "tenant": "nfv" |
| | } |
| | } |
| Instantiation State | INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "terminate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/terminate" |
| | }, |
| | "scale": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/scale" |
| | }, |
| | "heal": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/heal" |
| | }, |
| | "changeExtConn": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/change_ext_conn" |
| | } |
| | } |
| VIM Connection Info | { |
| | "vim1": { |
| | "vimId": "d82ee798-a1d2-4854-8f74-4892ad706751", |
| | "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3", |
| | "interfaceInfo": { |
| | "endpoint": "https:///identity/v3" |
| | }, |
| | "accessInfo": { |
| | "region": "RegionOne", |
| | "project": "nfv", |
| | "username": "nfv_user", |
| | "userDomain": "Default", |
| | "projectDomain": "Default" |
| | } |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
通过 SSH 登录到任何一个 MasterNode 并检查 Kubernetes 集群中的 Node。验证已添加 Node,并且所有 STATUS 均为 Ready。在本示例中,已添加 worker146。
ubuntu@master15:~$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master15 Ready control-plane 122m v1.26.8 10.10.0.15 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
master153 Ready control-plane 126m v1.26.8 10.10.0.153 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
master219 Ready control-plane 132m v1.26.8 10.10.0.219 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker146 Ready <none> 3m28s v1.26.8 10.10.0.146 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker45 Ready <none> 119m v1.26.8 10.10.0.45 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker86 Ready <none> 117m v1.26.8 10.10.0.86 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
您还可以检查 cilium 是否已准备就绪。
ubuntu@master15:~$ cilium status
/ ̄ ̄\
/ ̄ ̄\__/ ̄ ̄\ Cilium: OK
\__/ ̄ ̄\__/ Operator: OK
/ ̄ ̄\__/ ̄ ̄\ Envoy DaemonSet: disabled (using embedded mode)
\__/ ̄ ̄\__/ Hubble Relay: disabled
\__/ ClusterMesh: disabled
缩容 VNF¶
在 additionalParams 中指定以下参数以执行缩容操作。
{
"additionalParams": {
"k8s_cluster_installation_param": {
"script_path": "Scripts/install_k8s_cluster.sh",
"master_node": {
"vdu_id": "masterNode",
"ssh_cp_name": "masterNode_CP1_floating_ip",
"nic_cp_name": "masterNode_CP1",
"username": "ubuntu",
"password": "ubuntu",
"pod_cidr": "10.200.0.0/16",
"cluster_cp_name": "vip_CP",
"cluster_fip_name": "vip_CP_floating_ip"
},
"worker_node": {
"vdu_id": "workerNode",
"ssh_cp_name": "workerNode_CP1_floating_ip",
"nic_cp_name": "workerNode_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
},
"lcm-operation-user-data": "./UserData/userdata_standard.py",
"lcm-operation-user-data-class": "StandardUserData"
}
}
执行缩容操作。
$ openstack vnflcm scale 14c5406b-f627-4391-b91b-440f242623ac --type SCALE_IN --aspect-id workerNode_scale --number-of-steps 1 --additional-param-file complex_additional_params_req --os-tacker-api-version 2
Scale request for VNF Instance 14c5406b-f627-4391-b91b-440f242623ac has been accepted.
操作后的检查¶
在 LCM 操作的状态为 COMPLETE 后,检查 VNF 实例和 Kubernetes 集群。
确认 WorkerNode 的 VM 已被缩容操作删除。
$ openstack server list
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| 20ee4d5b-e51f-4e6b-a400-47bfabd48f59 | masterNode | ACTIVE | net0=10.10.0.15, 172.24.4.156 | masterNode-image | m1.medium |
| 90091dbb-1047-4207-8394-114bd3a3aec9 | masterNode | ACTIVE | net0=10.10.0.153, 172.24.4.107 | masterNode-image | m1.medium |
| c20645b0-d5b3-4341-bbf2-31528976e760 | masterNode | ACTIVE | net0=10.10.0.219, 172.24.4.140 | masterNode-image | m1.medium |
| 2cbfaab9-1be9-42c8-be67-ee83083c8e1f | workerNode | ACTIVE | net0=10.10.0.45, 172.24.4.186 | workerNode-image | m1.medium |
| 355d2203-0952-4f1a-aa71-340d6a5a893f | workerNode | ACTIVE | net0=10.10.0.86, 172.24.4.26 | workerNode-image | m1.medium |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
$ openstack vnflcm show 14c5406b-f627-4391-b91b-440f242623ac --os-tacker-api-version 2
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiated Vnf Info | { |
| | "flavourId": "complex", |
| | "vnfState": "STARTED", |
| | "scaleStatus": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 0 |
| | } |
| | ], |
| | "maxScaleLevels": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 2 |
| | } |
| | ], |
| | "extCpInfo": [ |
| | { |
| | "id": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "associatedVnfcCpId": "masterNode_CP1-20ee4d5b-e51f-4e6b-a400-47bfabd48f59" |
| | }, |
| | { |
| | "id": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "associatedVnfcCpId": "workerNode_CP1-2cbfaab9-1be9-42c8-be67-ee83083c8e1f" |
| | }, |
| | { |
| | "id": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "associatedVnfcCpId": "masterNode_CP1-90091dbb-1047-4207-8394-114bd3a3aec9" |
| | }, |
| | { |
| | "id": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "associatedVnfcCpId": "workerNode_CP1-355d2203-0952-4f1a-aa71-340d6a5a893f" |
| | }, |
| | { |
| | "id": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "associatedVnfcCpId": "masterNode_CP1-c20645b0-d5b3-4341-bbf2-31528976e760" |
| | } |
| | ], |
| | "extVirtualLinkInfo": [ |
| | { |
| | "id": "net0_master", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e" |
| | }, |
| | { |
| | "id": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0" |
| | }, |
| | { |
| | "id": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "masterNode_CP1", |
| | "cpConfig": { |
| | "Master_CP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | }, |
| | { |
| | "id": "net0_worker", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86" |
| | }, |
| | { |
| | "id": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "workerNode_CP1", |
| | "cpConfig": { |
| | "WorkerCP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | } |
| | ], |
| | "vnfcResourceInfo": [ |
| | { |
| | "id": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-2-jdclzcogomqy/756fee55-4478-4a1d-a420-1695943bf24a", |
| | "vdu_idx": 2, |
| | "flavor": "m1.medium", |
| | "image-masterNode-2": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-1-ewevxjfpa5du/6c93f15d-0e1c-419a-82a6-dc0daa8d254c", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-masterNode-1": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:13Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-1-25n3lsnj6kop/e03f90f6-750e-4e86-8f56-fec0f9e8e28b", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-workerNode-1": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | { |
| | "id": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-0-kkckwhq5raf2/efa4697a-7c98-408e-afa8-aece3c5bb42d", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-masterNode-0": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:13Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-0-hwuihryx6ik4/abd2ea60-5b70-4787-959f-3dece676cc00", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-workerNode-0": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | } |
| | ], |
| | "vnfcInfo": [ |
| | { |
| | "id": "masterNode-c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "90091dbb-1047-4207-8394-114bd3a3aec9", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vnfcState": "STARTED" |
| | } |
| | ], |
| | "metadata": { |
| | "stack_id": "642dbe88-1cda-4cf4-af9f-f81d53f10232", |
| | "nfv": { |
| | "VDU": { |
| | "masterNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "masterNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "masterNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "workerNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | }, |
| | "workerNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | }, |
| | "workerNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | "CP": { |
| | "masterNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "masterNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "masterNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | } |
| | } |
| | }, |
| | "tenant": "nfv" |
| | } |
| | } |
| Instantiation State | INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "terminate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/terminate" |
| | }, |
| | "scale": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/scale" |
| | }, |
| | "heal": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/heal" |
| | }, |
| | "changeExtConn": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/change_ext_conn" |
| | } |
| | } |
| VIM Connection Info | { |
| | "vim1": { |
| | "vimId": "d82ee798-a1d2-4854-8f74-4892ad706751", |
| | "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3", |
| | "interfaceInfo": { |
| | "endpoint": "https:///identity/v3" |
| | }, |
| | "accessInfo": { |
| | "region": "RegionOne", |
| | "project": "nfv", |
| | "username": "nfv_user", |
| | "userDomain": "Default", |
| | "projectDomain": "Default" |
| | } |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
通过 SSH 登录到任何一个 MasterNode 并检查 Kubernetes 集群中的 Node。确认 worker146 的 Node 已被删除。
ubuntu@master15:~$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master15 Ready control-plane 134m v1.26.8 10.10.0.15 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
master153 Ready control-plane 138m v1.26.8 10.10.0.153 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
master219 Ready control-plane 144m v1.26.8 10.10.0.219 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker45 Ready <none> 132m v1.26.8 10.10.0.45 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker86 Ready <none> 129m v1.26.8 10.10.0.86 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
您还可以检查 cilium 是否已准备就绪。
ubuntu@master15:~$ cilium status
/ ̄ ̄\
/ ̄ ̄\__/ ̄ ̄\ Cilium: OK
\__/ ̄ ̄\__/ Operator: OK
/ ̄ ̄\__/ ̄ ̄\ Envoy DaemonSet: disabled (using embedded mode)
\__/ ̄ ̄\__/ Hubble Relay: disabled
\__/ ClusterMesh: disabled
Deployment cilium-operator Desired: 1, Ready: 1/1, Available: 1/1
DaemonSet cilium Desired: 5, Ready: 5/5, Available: 5/5
Containers: cilium Running: 5
cilium-operator Running: 1
Cluster Pods: 2/2 managed by Cilium
Helm chart version:
Image versions cilium-operator quay.io/cilium/operator-generic:v1.14.5@sha256:303f9076bdc73b3fc32aaedee64a14f6f44c8bb08ee9e3956d443021103ebe7a: 1
cilium quay.io/cilium/cilium:v1.14.5@sha256:d3b287029755b6a47dee01420e2ea469469f1b174a2089c10af7e5e9289ef05b: 5
修复 VNF¶
指定 VNFC 执行修复操作。在本示例中,修复操作是从缩容操作后的状态执行的。
在 additionalParams 中指定以下请求并执行修复。
{
"additionalParams": {
"k8s_cluster_installation_param": {
"script_path": "Scripts/install_k8s_cluster.sh",
"master_node": {
"vdu_id": "masterNode",
"ssh_cp_name": "masterNode_CP1_floating_ip",
"nic_cp_name": "masterNode_CP1",
"username": "ubuntu",
"password": "ubuntu",
"pod_cidr": "10.200.0.0/16",
"cluster_cp_name": "vip_CP",
"cluster_fip_name": "vip_CP_floating_ip"
},
"worker_node": {
"vdu_id": "workerNode",
"ssh_cp_name": "workerNode_CP1_floating_ip",
"nic_cp_name": "workerNode_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
},
"lcm-operation-user-data": "./UserData/userdata_standard.py",
"lcm-operation-user-data-class": "StandardUserData"
}
}
对 MasterNode 的 VNFC (masterNode-90091dbb-1047-4207-8394-114bd3a3aec9) 执行修复操作。
$ openstack vnflcm heal 14c5406b-f627-4391-b91b-440f242623ac --vnfc-instance masterNode-90091dbb-1047-4207-8394-114bd3a3aec9 --additional-param-file complex_additional_params_req --os-tacker-api-version 2
Heal request for VNF Instance 14c5406b-f627-4391-b91b-440f242623ac has been accepted.
操作后的检查¶
在 LCM 操作的状态为 COMPLETE 后,检查 VNF 实例和 Kubernetes 集群。
$ openstack server list
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| adfc3350-6473-4ed1-9a19-f75ddf0c2169 | masterNode | ACTIVE | net0=10.10.0.153, 172.24.4.107 | masterNode-image | m1.medium |
| 20ee4d5b-e51f-4e6b-a400-47bfabd48f59 | masterNode | ACTIVE | net0=10.10.0.15, 172.24.4.156 | masterNode-image | m1.medium |
| c20645b0-d5b3-4341-bbf2-31528976e760 | masterNode | ACTIVE | net0=10.10.0.219, 172.24.4.140 | masterNode-image | m1.medium |
| 2cbfaab9-1be9-42c8-be67-ee83083c8e1f | workerNode | ACTIVE | net0=10.10.0.45, 172.24.4.186 | workerNode-image | m1.medium |
| 355d2203-0952-4f1a-aa71-340d6a5a893f | workerNode | ACTIVE | net0=10.10.0.86, 172.24.4.26 | workerNode-image | m1.medium |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
$ openstack vnflcm show 14c5406b-f627-4391-b91b-440f242623ac --os-tacker-api-version 2
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiated Vnf Info | { |
| | "flavourId": "complex", |
| | "vnfState": "STARTED", |
| | "scaleStatus": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 0 |
| | } |
| | ], |
| | "maxScaleLevels": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 2 |
| | } |
| | ], |
| | "extCpInfo": [ |
| | { |
| | "id": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "associatedVnfcCpId": "masterNode_CP1-20ee4d5b-e51f-4e6b-a400-47bfabd48f59" |
| | }, |
| | { |
| | "id": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "associatedVnfcCpId": "workerNode_CP1-2cbfaab9-1be9-42c8-be67-ee83083c8e1f" |
| | }, |
| | { |
| | "id": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "associatedVnfcCpId": "masterNode_CP1-adfc3350-6473-4ed1-9a19-f75ddf0c2169" |
| | }, |
| | { |
| | "id": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "associatedVnfcCpId": "workerNode_CP1-355d2203-0952-4f1a-aa71-340d6a5a893f" |
| | }, |
| | { |
| | "id": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "associatedVnfcCpId": "masterNode_CP1-c20645b0-d5b3-4341-bbf2-31528976e760" |
| | } |
| | ], |
| | "extVirtualLinkInfo": [ |
| | { |
| | "id": "net0_master", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e" |
| | }, |
| | { |
| | "id": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0" |
| | }, |
| | { |
| | "id": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "adf6941b-56a5-47af-a590-3d7a8d20c6dc", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "masterNode_CP1", |
| | "cpConfig": { |
| | "Master_CP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | }, |
| | { |
| | "id": "net0_worker", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "2f6135f3-7981-4e31-b19c-c7fe84e5af86", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86" |
| | }, |
| | { |
| | "id": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "049181f6-3df6-4e8c-a518-2954d5ba707e", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "workerNode_CP1", |
| | "cpConfig": { |
| | "WorkerCP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | } |
| | ], |
| | "vnfcResourceInfo": [ |
| | { |
| | "id": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-adf6941b-56a5-47af-a590-3d7a8d20c6dc" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-2-jdclzcogomqy/756fee55-4478-4a1d-a420-1695943bf24a", |
| | "vdu_idx": 2, |
| | "flavor": "m1.medium", |
| | "image-masterNode-2": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "adfc3350-6473-4ed1-9a19-f75ddf0c2169", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "adfc3350-6473-4ed1-9a19-f75ddf0c2169", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-adfc3350-6473-4ed1-9a19-f75ddf0c2169", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-b1182a3e-b1c4-43aa-bc21-61f8ae5e1fb0" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T04:41:50Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-1-ewevxjfpa5du/6c93f15d-0e1c-419a-82a6-dc0daa8d254c", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-masterNode-1": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-2f6135f3-7981-4e31-b19c-c7fe84e5af86" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:13Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-1-25n3lsnj6kop/e03f90f6-750e-4e86-8f56-fec0f9e8e28b", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-workerNode-1": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | { |
| | "id": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-905d8b08-0fb0-4ae3-b2a4-5acaf03cb46e" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:14Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-0-kkckwhq5raf2/efa4697a-7c98-408e-afa8-aece3c5bb42d", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-masterNode-0": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-049181f6-3df6-4e8c-a518-2954d5ba707e" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T02:03:13Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-0-hwuihryx6ik4/abd2ea60-5b70-4787-959f-3dece676cc00", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-workerNode-0": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | } |
| | ], |
| | "vnfcInfo": [ |
| | { |
| | "id": "masterNode-c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "c20645b0-d5b3-4341-bbf2-31528976e760", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-adfc3350-6473-4ed1-9a19-f75ddf0c2169", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "adfc3350-6473-4ed1-9a19-f75ddf0c2169", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "2cbfaab9-1be9-42c8-be67-ee83083c8e1f", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "20ee4d5b-e51f-4e6b-a400-47bfabd48f59", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "355d2203-0952-4f1a-aa71-340d6a5a893f", |
| | "vnfcState": "STARTED" |
| | } |
| | ], |
| | "metadata": { |
| | "stack_id": "642dbe88-1cda-4cf4-af9f-f81d53f10232", |
| | "nfv": { |
| | "VDU": { |
| | "masterNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "masterNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "masterNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "workerNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | }, |
| | "workerNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | }, |
| | "workerNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | "CP": { |
| | "masterNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "masterNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "masterNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | } |
| | } |
| | }, |
| | "tenant": "nfv" |
| | } |
| | } |
| Instantiation State | INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "terminate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/terminate" |
| | }, |
| | "scale": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/scale" |
| | }, |
| | "heal": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/heal" |
| | }, |
| | "changeExtConn": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/change_ext_conn" |
| | } |
| | } |
| VIM Connection Info | { |
| | "vim1": { |
| | "vimId": "d82ee798-a1d2-4854-8f74-4892ad706751", |
| | "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3", |
| | "interfaceInfo": { |
| | "endpoint": "https:///identity/v3" |
| | }, |
| | "accessInfo": { |
| | "region": "RegionOne", |
| | "project": "nfv", |
| | "username": "nfv_user", |
| | "userDomain": "Default", |
| | "projectDomain": "Default" |
| | } |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
通过 SSH 登录到任何一个 MasterNode 并检查 Kubernetes 集群中的 Node。确认重新创建的 Node (master153) 的 STATUS 为 Ready。
ubuntu@master15:~$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master15 Ready control-plane 153m v1.26.8 10.10.0.15 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
master153 Ready control-plane 6m43s v1.26.8 10.10.0.153 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
master219 Ready control-plane 163m v1.26.8 10.10.0.219 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker45 Ready <none> 151m v1.26.8 10.10.0.45 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker86 Ready <none> 148m v1.26.8 10.10.0.86 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
您还可以检查 cilium 是否已准备就绪。
ubuntu@master15:~$ cilium status
/ ̄ ̄\
/ ̄ ̄\__/ ̄ ̄\ Cilium: OK
\__/ ̄ ̄\__/ Operator: OK
/ ̄ ̄\__/ ̄ ̄\ Envoy DaemonSet: disabled (using embedded mode)
\__/ ̄ ̄\__/ Hubble Relay: disabled
\__/ ClusterMesh: disabled
Deployment cilium-operator Desired: 1, Ready: 1/1, Available: 1/1
DaemonSet cilium Desired: 5, Ready: 5/5, Available: 5/5
Containers: cilium-operator Running: 1
cilium Running: 5
Cluster Pods: 2/2 managed by Cilium
Helm chart version:
Image versions cilium quay.io/cilium/cilium:v1.14.5@sha256:d3b287029755b6a47dee01420e2ea469469f1b174a2089c10af7e5e9289ef05b: 5
cilium-operator quay.io/cilium/operator-generic:v1.14.5@sha256:303f9076bdc73b3fc32aaedee64a14f6f44c8bb08ee9e3956d443021103ebe7a: 1
修复 VNF¶
执行整个 VNF 修复操作。将参数“all: true”添加到指定 VNFC 的 heal 的 additionalParams 中。
{
"additionalParams": {
"all": true,
"k8s_cluster_installation_param": {
"script_path": "Scripts/install_k8s_cluster.sh",
"master_node": {
"vdu_id": "masterNode",
"ssh_cp_name": "masterNode_CP1_floating_ip",
"nic_cp_name": "masterNode_CP1",
"username": "ubuntu",
"password": "ubuntu",
"pod_cidr": "10.200.0.0/16",
"cluster_cp_name": "vip_CP",
"cluster_fip_name": "vip_CP_floating_ip"
},
"worker_node": {
"vdu_id": "workerNode",
"ssh_cp_name": "workerNode_CP1_floating_ip",
"nic_cp_name": "workerNode_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
},
"lcm-operation-user-data": "./UserData/userdata_standard.py",
"lcm-operation-user-data-class": "StandardUserData"
}
}
修复前确认堆栈 ID。
$ openstack stack list
+------------------------------------+------------------------------------+----------------------------------+-----------------+----------------------+----------------------+
| ID | Stack Name | Project | Stack Status | Creation Time | Updated Time |
+------------------------------------+------------------------------------+----------------------------------+-----------------+----------------------+----------------------+
| 642dbe88-1cda-4cf4-af9f- | vnf-14c5406b-f627-4391-b91b- | 5d711196514b4f11b02382403b3342a9 | UPDATE_COMPLETE | 2024-04-17T02:03:11Z | 2024-04-17T04:41:17Z |
| f81d53f10232 | 440f242623ac | | | | |
+------------------------------------+------------------------------------+----------------------------------+-----------------+----------------------+----------------------+
执行修复操作。
$ openstack vnflcm heal 14c5406b-f627-4391-b91b-440f242623ac --additional-param-file complex_additional_params_req --os-tacker-api-version 2
Heal request for VNF Instance 14c5406b-f627-4391-b91b-440f242623ac has been accepted.
操作后的检查¶
在 LCM 操作的状态为 COMPLETE 后,检查 VNF 实例和 Kubernetes 集群。
$ openstack stack list
+--------------------------------------+------------------------------------------+----------------------------------+-----------------+----------------------+--------------+
| ID | Stack Name | Project | Stack Status | Creation Time | Updated Time |
+--------------------------------------+------------------------------------------+----------------------------------+-----------------+----------------------+--------------+
| 4e79d3dd-056d-4e29-8c46-ca761c8742d4 | vnf-14c5406b-f627-4391-b91b-440f242623ac | 5d711196514b4f11b02382403b3342a9 | CREATE_COMPLETE | 2024-04-17T05:19:21Z | None |
+--------------------------------------+------------------------------------------+----------------------------------+-----------------+----------------------+--------------+
$ openstack vnflcm show 14c5406b-f627-4391-b91b-440f242623ac --os-tacker-api-version 2
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| ID | 14c5406b-f627-4391-b91b-440f242623ac |
| Instantiated Vnf Info | { |
| | "flavourId": "complex", |
| | "vnfState": "STARTED", |
| | "scaleStatus": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 0 |
| | } |
| | ], |
| | "maxScaleLevels": [ |
| | { |
| | "aspectId": "workerNode_scale", |
| | "scaleLevel": 2 |
| | } |
| | ], |
| | "extCpInfo": [ |
| | { |
| | "id": "cp-60192796-6190-475a-b50b-b024883bf9e1", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "60192796-6190-475a-b50b-b024883bf9e1", |
| | "associatedVnfcCpId": "masterNode_CP1-b7480ecf-d523-47a8-8218-8a9a751d98fc" |
| | }, |
| | { |
| | "id": "cp-83f43a69-d1db-4e5e-91c4-b5f026a28890", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "83f43a69-d1db-4e5e-91c4-b5f026a28890", |
| | "associatedVnfcCpId": "workerNode_CP1-28ec6f59-f7c2-448c-b657-3a59b2f70c01" |
| | }, |
| | { |
| | "id": "cp-7612c547-5daa-4468-8e1c-cd23a47e7f48", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "7612c547-5daa-4468-8e1c-cd23a47e7f48", |
| | "associatedVnfcCpId": "masterNode_CP1-79234b92-b9d3-4e54-934b-c7b44d14c09b" |
| | }, |
| | { |
| | "id": "cp-54a2b4bd-3c60-4deb-a54f-f619d4cb81ac", |
| | "cpdId": "workerNode_CP1", |
| | "cpConfigId": "WorkerCP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "54a2b4bd-3c60-4deb-a54f-f619d4cb81ac", |
| | "associatedVnfcCpId": "workerNode_CP1-97ffdbe6-08b4-49f6-b6d8-2b2df8df1738" |
| | }, |
| | { |
| | "id": "cp-59dd29f0-6fa6-48d5-b6be-7c7d2d77e58a", |
| | "cpdId": "masterNode_CP1", |
| | "cpConfigId": "Master_CP1", |
| | "cpProtocolInfo": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "isDynamic": true |
| | } |
| | ] |
| | } |
| | } |
| | ], |
| | "extLinkPortId": "59dd29f0-6fa6-48d5-b6be-7c7d2d77e58a", |
| | "associatedVnfcCpId": "masterNode_CP1-219d4495-2504-43c8-97b2-aba3e9bf03d8" |
| | } |
| | ], |
| | "extVirtualLinkInfo": [ |
| | { |
| | "id": "net0_master", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "60192796-6190-475a-b50b-b024883bf9e1", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "60192796-6190-475a-b50b-b024883bf9e1", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-60192796-6190-475a-b50b-b024883bf9e1" |
| | }, |
| | { |
| | "id": "7612c547-5daa-4468-8e1c-cd23a47e7f48", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "7612c547-5daa-4468-8e1c-cd23a47e7f48", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-7612c547-5daa-4468-8e1c-cd23a47e7f48" |
| | }, |
| | { |
| | "id": "59dd29f0-6fa6-48d5-b6be-7c7d2d77e58a", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "59dd29f0-6fa6-48d5-b6be-7c7d2d77e58a", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-59dd29f0-6fa6-48d5-b6be-7c7d2d77e58a" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "masterNode_CP1", |
| | "cpConfig": { |
| | "Master_CP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | }, |
| | { |
| | "id": "net0_worker", |
| | "resourceHandle": { |
| | "resourceId": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "extLinkPorts": [ |
| | { |
| | "id": "83f43a69-d1db-4e5e-91c4-b5f026a28890", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "83f43a69-d1db-4e5e-91c4-b5f026a28890", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-83f43a69-d1db-4e5e-91c4-b5f026a28890" |
| | }, |
| | { |
| | "id": "54a2b4bd-3c60-4deb-a54f-f619d4cb81ac", |
| | "resourceHandle": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "54a2b4bd-3c60-4deb-a54f-f619d4cb81ac", |
| | "vimLevelResourceType": "OS::Neutron::Port" |
| | }, |
| | "cpInstanceId": "cp-54a2b4bd-3c60-4deb-a54f-f619d4cb81ac" |
| | } |
| | ], |
| | "currentVnfExtCpData": [ |
| | { |
| | "cpdId": "workerNode_CP1", |
| | "cpConfig": { |
| | "WorkerCP1": { |
| | "cpProtocolData": [ |
| | { |
| | "layerProtocol": "IP_OVER_ETHERNET", |
| | "ipOverEthernet": { |
| | "ipAddresses": [ |
| | { |
| | "type": "IPV4", |
| | "numDynamicAddresses": 1 |
| | } |
| | ] |
| | } |
| | } |
| | ] |
| | } |
| | } |
| | } |
| | ] |
| | } |
| | ], |
| | "vnfcResourceInfo": [ |
| | { |
| | "id": "219d4495-2504-43c8-97b2-aba3e9bf03d8", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "219d4495-2504-43c8-97b2-aba3e9bf03d8", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-219d4495-2504-43c8-97b2-aba3e9bf03d8", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-59dd29f0-6fa6-48d5-b6be-7c7d2d77e58a" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T05:19:23Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-2-diif2hix6tcb/f7618b77-b73b-42b0-8843-edc373096ba5", |
| | "vdu_idx": 2, |
| | "flavor": "m1.medium", |
| | "image-masterNode-2": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "28ec6f59-f7c2-448c-b657-3a59b2f70c01", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "28ec6f59-f7c2-448c-b657-3a59b2f70c01", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-28ec6f59-f7c2-448c-b657-3a59b2f70c01", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-83f43a69-d1db-4e5e-91c4-b5f026a28890" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T05:19:24Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-1-puf5bud7yaum/decf9a9b-2a61-4bb7-a0da-e15de8a6c354", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-workerNode-1": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | { |
| | "id": "79234b92-b9d3-4e54-934b-c7b44d14c09b", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "79234b92-b9d3-4e54-934b-c7b44d14c09b", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-79234b92-b9d3-4e54-934b-c7b44d14c09b", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-7612c547-5daa-4468-8e1c-cd23a47e7f48" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T05:19:23Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-1-j6smubvqvj4h/4a74507e-9333-47f0-bc20-c8aba4717ec1", |
| | "vdu_idx": 1, |
| | "flavor": "m1.medium", |
| | "image-masterNode-1": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | }, |
| | { |
| | "id": "97ffdbe6-08b4-49f6-b6d8-2b2df8df1738", |
| | "vduId": "workerNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "97ffdbe6-08b4-49f6-b6d8-2b2df8df1738", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "workerNode_CP1-97ffdbe6-08b4-49f6-b6d8-2b2df8df1738", |
| | "cpdId": "workerNode_CP1", |
| | "vnfExtCpId": "cp-54a2b4bd-3c60-4deb-a54f-f619d4cb81ac" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T05:19:24Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-workerNode-0-b6keccs6q253/1ebb1822-846f-46f8-9add-f20bc5aeb4f3", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-workerNode-0": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | { |
| | "id": "b7480ecf-d523-47a8-8218-8a9a751d98fc", |
| | "vduId": "masterNode", |
| | "computeResource": { |
| | "vimConnectionId": "vim1", |
| | "resourceId": "b7480ecf-d523-47a8-8218-8a9a751d98fc", |
| | "vimLevelResourceType": "OS::Nova::Server" |
| | }, |
| | "vnfcCpInfo": [ |
| | { |
| | "id": "masterNode_CP1-b7480ecf-d523-47a8-8218-8a9a751d98fc", |
| | "cpdId": "masterNode_CP1", |
| | "vnfExtCpId": "cp-60192796-6190-475a-b50b-b024883bf9e1" |
| | } |
| | ], |
| | "metadata": { |
| | "creation_time": "2024-04-17T05:19:23Z", |
| | "stack_id": "vnf-14c5406b-f627-4391-b91b-440f242623ac-masterNode-0-z5bwuon4iw54/4e0ea4af-7ac9-4616-b490-d83e75edcbd1", |
| | "vdu_idx": 0, |
| | "flavor": "m1.medium", |
| | "image-masterNode-0": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | } |
| | } |
| | ], |
| | "vnfcInfo": [ |
| | { |
| | "id": "masterNode-219d4495-2504-43c8-97b2-aba3e9bf03d8", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "219d4495-2504-43c8-97b2-aba3e9bf03d8", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-28ec6f59-f7c2-448c-b657-3a59b2f70c01", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "28ec6f59-f7c2-448c-b657-3a59b2f70c01", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-79234b92-b9d3-4e54-934b-c7b44d14c09b", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "79234b92-b9d3-4e54-934b-c7b44d14c09b", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "workerNode-97ffdbe6-08b4-49f6-b6d8-2b2df8df1738", |
| | "vduId": "workerNode", |
| | "vnfcResourceInfoId": "97ffdbe6-08b4-49f6-b6d8-2b2df8df1738", |
| | "vnfcState": "STARTED" |
| | }, |
| | { |
| | "id": "masterNode-b7480ecf-d523-47a8-8218-8a9a751d98fc", |
| | "vduId": "masterNode", |
| | "vnfcResourceInfoId": "b7480ecf-d523-47a8-8218-8a9a751d98fc", |
| | "vnfcState": "STARTED" |
| | } |
| | ], |
| | "metadata": { |
| | "stack_id": "4e79d3dd-056d-4e29-8c46-ca761c8742d4", |
| | "nfv": { |
| | "VDU": { |
| | "masterNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "masterNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "masterNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "dff49249-bdb1-404e-be3c-f6387ba35ca0" |
| | }, |
| | "workerNode-0": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | }, |
| | "workerNode-1": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | }, |
| | "workerNode-2": { |
| | "computeFlavourId": "m1.medium", |
| | "vcImageId": "7aba8d56-78df-42fb-baee-9aa53dabdc89" |
| | } |
| | }, |
| | "CP": { |
| | "masterNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "masterNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "masterNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-0": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-1": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | }, |
| | "workerNode_CP1-2": { |
| | "network": "bbc012e1-6619-4fe6-aaac-0668a4974313" |
| | } |
| | } |
| | }, |
| | "tenant": "nfv" |
| | } |
| | } |
| Instantiation State | INSTANTIATED |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac" |
| | }, |
| | "terminate": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/terminate" |
| | }, |
| | "scale": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/scale" |
| | }, |
| | "heal": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/heal" |
| | }, |
| | "changeExtConn": { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/14c5406b-f627-4391-b91b-440f242623ac/change_ext_conn" |
| | } |
| | } |
| VIM Connection Info | { |
| | "vim1": { |
| | "vimId": "d82ee798-a1d2-4854-8f74-4892ad706751", |
| | "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3", |
| | "interfaceInfo": { |
| | "endpoint": "https:///identity/v3" |
| | }, |
| | "accessInfo": { |
| | "region": "RegionOne", |
| | "project": "nfv", |
| | "username": "nfv_user", |
| | "userDomain": "Default", |
| | "projectDomain": "Default" |
| | } |
| | } |
| | } |
| VNF Configurable Properties | |
| VNF Instance Description | v2-kubernetes-sample |
| VNF Instance Name | v2-kubernetes-sample |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | d34ac189-5376-493f-828f-224dd5fe7393 |
| VNFD Version | 1.0 |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
验证所有 VM 都已重新创建。
$ openstack server list
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
| 28ec6f59-f7c2-448c-b657-3a59b2f70c01 | workerNode | ACTIVE | net0=10.10.0.34, 172.24.4.169 | workerNode-image | m1.medium |
| 219d4495-2504-43c8-97b2-aba3e9bf03d8 | masterNode | ACTIVE | net0=10.10.0.54, 172.24.4.239 | masterNode-image | m1.medium |
| 79234b92-b9d3-4e54-934b-c7b44d14c09b | masterNode | ACTIVE | net0=10.10.0.172, 172.24.4.179 | masterNode-image | m1.medium |
| 97ffdbe6-08b4-49f6-b6d8-2b2df8df1738 | workerNode | ACTIVE | net0=10.10.0.163, 172.24.4.33 | workerNode-image | m1.medium |
| b7480ecf-d523-47a8-8218-8a9a751d98fc | masterNode | ACTIVE | net0=10.10.0.89, 172.24.4.64 | masterNode-image | m1.medium |
+--------------------------------------+------------+--------+--------------------------------+------------------+-----------+
通过 SSH 登录到 MasterNode 并检查 Kubernetes 集群的 Node。验证所有 VM 是否在集群中,并且 Node 的 STATUS 为 Ready。
ubuntu@master15:~$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master172 Ready control-plane 17m v1.26.8 10.10.0.172 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
master15 Ready control-plane 23m v1.26.8 10.10.0.54 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
master89 Ready control-plane 13m v1.26.8 10.10.0.89 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker163 Ready <none> 8m8s v1.26.8 10.10.0.163 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
worker34 Ready <none> 10m v1.26.8 10.10.0.34 <none> Ubuntu 22.04.4 LTS 5.15.0-101-generic containerd://1.7.11
您还可以检查 cilium 是否已准备就绪。
ubuntu@master15:~$ cilium status
/ ̄ ̄\
/ ̄ ̄\__/ ̄ ̄\ Cilium: OK
\__/ ̄ ̄\__/ Operator: OK
/ ̄ ̄\__/ ̄ ̄\ Envoy DaemonSet: disabled (using embedded mode)
\__/ ̄ ̄\__/ Hubble Relay: disabled
\__/ ClusterMesh: disabled
Deployment cilium-operator Desired: 1, Ready: 1/1, Available: 1/1
DaemonSet cilium Desired: 5, Ready: 5/5, Available: 5/5
Containers: cilium Running: 5
cilium-operator Running: 1
Cluster Pods: 2/2 managed by Cilium
Helm chart version:
Image versions cilium quay.io/cilium/cilium:v1.14.5@sha256:d3b287029755b6a47dee01420e2ea469469f1b174a2089c10af7e5e9289ef05b: 5
cilium-operator quay.io/cilium/operator-generic:v1.14.5@sha256:303f9076bdc73b3fc32aaedee64a14f6f44c8bb08ee9e3956d443021103ebe7a: 1