48 lines
1.1 KiB
Plaintext
48 lines
1.1 KiB
Plaintext
@startuml
|
|
|
|
frame "Prometheus" {
|
|
component "Prometheus" as prom
|
|
}
|
|
|
|
frame "NFVO" {
|
|
component "NFVO" as nfvo
|
|
}
|
|
|
|
frame "tacker" {
|
|
component "tacker-server" {
|
|
component "VnfpmControllerV2" as pm_ctl
|
|
component "PrometheusPlugin" as plugin
|
|
component "VnflcmControllerV2" as lcm_ctl
|
|
}
|
|
component "tacker-conductor" {
|
|
component "VnfPm\nDriverV2" as pm_driver
|
|
component "Kubernetes\ninfra-driver" as infra
|
|
}
|
|
}
|
|
|
|
node "Kubernetes Cluster\n(Master)" as k8s_m
|
|
cloud "Hardware Resources" as hw {
|
|
node "Kubernetes Cluster\n(Worker)" as k8s_w {
|
|
node "Pod" as ins1
|
|
node "Pod" as ins2
|
|
node "Pod" as ins3
|
|
}
|
|
}
|
|
|
|
'# Relationships
|
|
nfvo --> pm_ctl: 1. Create PM job
|
|
pm_ctl --> plugin
|
|
plugin --> prom: 2. Set PM job
|
|
ins1 --> prom: 3. Trigger event
|
|
ins2 --> prom
|
|
prom --> plugin: 4. POST event
|
|
plugin --> pm_driver: 5. Convert event to report
|
|
pm_driver --> nfvo: 6. Send report notification
|
|
nfvo --> pm_ctl: 7. Get PM report
|
|
nfvo --> lcm_ctl: 8. Scale
|
|
lcm_ctl --> infra
|
|
infra --> k8s_m: 9. Call Kubernetes API
|
|
k8s_m --> ins3: 10. Change the number of Pods
|
|
|
|
@enduml
|