Closed taylor closed 4 years ago
Current status of GoGTP K8s Multus implementation
Initial commits:
Use-case is available in CNF Testbed (go-gtp branch)
[examples/use_case/gogtp-k8s/k8s_bridged_networks](https://github.com/cncf/cnf-testbed/tree/go-gtp/examples/use_case/gogtp-k8s/k8s_bridged_networks)
K8s-infra image available as crosscloudci/k8s-infra:multus
Provisioning script has been updated to support Multus
tools/kubernetes_provisioning.sh
(go-gtp branch)Bridge configuration using Multus available in use-case
kubectl apply -f gogtp-bridges.yml
kubectl get network-attachment-definitions
kubectl delete -f gogtp-bridges.yml
The use-case uses pre-built images available through Dockerhub
examples/network_functions/go-gtp
(go-gtp branch)Traffic can be verified from the gogtp-ue
pod
wget http://10.0.1.201
ping 10.0.1.201
Prereqs:
k8s_bridged_network-v0.1
(git checkout k8s_bridged_network-v0.1
)Multus single-node bridged network user plane is successfully deployed
export KUBECONFIG=<path>/<to>/kubeconfig
kubectl apply -f gogtp-bridges.yml
helm install ./gogtp/
kubectl logs gogtp-enb
[eNB] 2020/01/31 13:23:46 Established S1-MME connection with 172.21.1.12:36412
[eNB] 2020/01/31 13:23:46 Started serving S1-U on 172.21.0.11:2152
[eNB] 2020/01/31 13:23:46 Successfully established tunnel for 001010000000001
Test HTTP GET to the end-point server
kubectl exec -it gogtp-ue /bin/bash
wget http://10.0.1.201
Expected results: You should see a successful HTTP request (200 OK), followed by index.html being saved.
Test ICMP/ping to the end-point server
kubectl exec -it gogtp-ue /bin/bash
ping -c 5 10.0.1.201
Expected results:
5 packets transmitted, 5 received, 0% packet loss
@denverwilliams and @wavell if the tasks and acceptance criteria then go ahead and please try to follow the A/C and test. Update the docs as needed.
Create a single-node bridged network version of the GoEPC use case using Multus
This is a POC step in reaching the goal of a multi-node segmented and routed user plane
Expected results for this POC:
Tasks:
[x] Create Docker images for the CNFs to run on the K8s deployed to Packet
[x] Create Helm charts for CNFs
[x] Add initial multus support to k8s-infra
[x] Update provisioning script to support provisioning K8s with Multus
[x] Create host bridges for GoEPC through Kubernetes/Multus
NetworkAttachmentDefinition
for bridges (YAML)[x] Create Helm charts for deploying user-plane components
ConfigMap
[x] Prepare endpoints for verifying traffic through EPC
ping
andwget
pre-installed for easy testing[x] Add initial README with steps needed to deploy and verify
[x] Add testing and acceptance criteria for peer review
POC release tasks:
Testing: