今天我来讲如何使用osm在kubernetes建立VNF。如果有想要在详细的了解OSM的话可以於他们官方文件做查询。
name、user、password、type都可以自己设定,而url的localhost後带入的值则是与type一样
osm vim-create --name demo --user u --password p --tenant p --account_type dummy --auth_url http://localhost/dummy
或是使用UI加入
将本身的kubernetes加入进来(如若想加入其他丛集则改变config内容为其他丛集的kubernetes)
osm k8scluster-add cluster --creds .kube/config --vim demo --k8s-nets '{k8s_net1: null}' --version "v1.15.9" --description="Isolated K8s cluster in demo"
或是用UI做新增
没错,在OSM使用kubernetes建立VNF的部分,他将会交由helm帮他做一个处理,因此若要使用自己的VNF的话,则需要将自己的helm repo加入到OSM中使用。
repo name的部分要记住之後做上传样板时会使用到
#osm repo-add --type helm-chart --description "<随意内容>" <repo name> <repo url>
osm repo-add --type helm-chart --description "Bitnami repo" bitnami https://charts.bitnami.com/bitnami
或是使用UI做新增
osm repo-list
# osm repo-show <repo name>
osm repo-show bitnami
当你完成了建立丛集,那麽我们就来启动kubernetes的VNF吧,在OSM中这被称为KNF。
首先我的资料结构如下:
.
├── demo-knf
│ └── demo_vnfd.yaml
├── demo-knf.tar.gz
├── demo-ns
│ ├── demo_nsd.yaml
│ └── params
│ └── params.yaml
└── demo-ns.tar.gz
描述KNF相关的描述档案:
demo_vnfd.yaml
vnfd:
description: KNF with single KDU using a helm-chart for demo
df:
- id: default-df
ext-cpd:
- id: mgmt-ext
k8s-cluster-net: mgmtnet
id: demo_knf
k8s-cluster:
nets:
- id: mgmtnet
kdu:
- name: job
helm-chart: cetic/job
mgmt-cp: mgmt-ext
product-name: demo_knf
provider: imac
version: '0.1.0'
描述Network Slicing(NS)相关的描述档案:
demo_nsd.yaml
nsd:
nsd:
- description: NS consisting of a single KNF user plane connected to mgmt network
designer: imac
df:
- id: default-df
vnf-profile:
- id: demonsd
virtual-link-connectivity:
- constituent-cpd-id:
- constituent-base-element-id: demonsd
constituent-cpd-id: mgmt-ext
virtual-link-profile-id: mgmtnet
vnfd-id: demo_knf
id: demo_ns
name: demo_ns
version: '1.0'
virtual-link-desc:
- id: mgmtnet
mgmt-network: 'true'
vnfd-id:
- demo_knf
params.yaml
vld:
- name: mgmtnet
vim-network-name: internal
additionalParamsForVnf:
- member-vnf-index: demonsd
additionalParamsForKdu:
- kdu_name: job
additionalParams:
# replicaCount: 2
# service.loadBalancerIP: '172.21.251.X' # MetalLB IP Address
# service.type: NodePort
service:
type: NodePort
# loadBalancerIP: '172.21.251.X' # MetalLB IP Address
adminPassword: osm4u
configPassword: osm4u
env:
LDAP_ORGANISATION: "Example Inc."
LDAP_DOMAIN: "example.org"
LDAP_BACKEND: "hdb"
LDAP_TLS: "true"
LDAP_TLS_ENFORCE: "false"
LDAP_REMOVE_CONFIG_AFTER_SETUP: "true"
最後将两个资料夹做压缩动作,可以看我的资料结构的部分。
上传VNF和NS可以使用UI或是command上传
osm nfpkg-create demo-knf.tar.gz
osm nfpkg-create demo-ns.tar.gz
首先先到UI上观看实例化的成果
在来我们到丛集上观看pod的资讯
kubectl get pod -A
NAMESPACE NAME READY STATUS RESTARTS AGE
c9502841-6515-4d17-9a76-48e14307999a cetic-job-0009045695-job-glclr 0/1 Completed 0 18s
我们可以看到我们的NS有成功地被布署上去了,那麽这次的OSM教学就到今天了。
>>: day27 coroutine和任务的爱情长跑,application和workManager
隐式转换规则 前言: 涉及隐式转换最多的两个运算子 + 和 ==。 +运算子即可数字相加,也可以字串...
WinPEAS WinPEAS 提供许多脚本可以确认目标系统为 Windows 中是否存在弱点以及不...
ps. 印度气象局结束ㄌ(我不想弄ㄌ),只能来发 UIUX 小日记 来找设计师一起 side pro...
大家早安~ 接下来就是到了我们实作二 - 资安攻击分析 on AWS,在那之前想先跟大家讨论 Q:『...
https://bit.ly/2XuVqBJ (这篇必看,不分享对不起自己) //原来南无观世音菩...