...
Currently, the chosen operating system(OS) is Ubuntu 16.04 and/or 18.04. The infrastructure orchestration of IEC is based on Kubernetes, which is a production-grade container orchestration with rich running eco-system. The current container network interface(CNI) solution chosen for Kubernetes is project Calico, which is a high performance, scalable, policy enabled and widely used container networking solution with rather easy installation and arm64 support. In the future, Contiv/VPP or OVN-Kubernetes would also be candidates for Kubernetes networking.
Networking and HW prerequisites
TBD
Kubernetes Install for Ubuntu
...
For host setup as Kubernetes master:
Info |
---|
|
--pod-network-cidr is the subnet of the pod network and must not overlap with any of the host networks (see https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#pod-network for more details) --apiserver-advertise-address is the IP on the master node to use for advertising the master’s IP (see https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#initializing-your-master for more details) --service-cidr can be set up to be used for service VIPs and must not overlap with any of the host networks. The default value is "10.96.0.0/12". If you change the default, make sure you update the clusterIP address in the yaml file when installing etcd (in the steps below) |
Code Block |
---|
|
$ sudo kubeadm config images pull
$ MGMT_IP=<ip-address>
$ sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=$MGMT_IP \
--service-cidr=172.16.1.0/24 |
...
Code Block |
---|
|
set -ex
kubectl create -f ~/nginx-app.yaml
kubectl get nodes
kubectl get services
kubectl get pods
kubectl get rc
r="0"
while [ $r -ne "2" ]
do
r=$(kubectl get pods | grep Running | wc -l)
sleep 60
done
svcip=$(kubectl get services nginx -o json | grep clusterIP | cut -f4 -d'"')
sleep 10
wget http://$svcip
kubectl#kubectl delete -f ./examples/nginx-app.yaml
kubectl delete -f ./nginx-app.yaml
kubectl get rc
kubectl get pods
kubectl get services |
...
Code Block |
---|
|
$ wget https://storage.googleapis.com/kubernetes-helm/helm-v2.12.3-linux-arm64.tar.gz
$ tar -xvf helm-v2.12.3-linux-arm64.tar.gz
$ sudo cp linux-arm64/helm /usr/bin
$ sudo cp linux-arm64/tiller /usr/bin |
...