Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Pre-requisite

Assumption

kubectl binary is installed on your host that will run the OOM setup.

https://kubernetes.io/docs/tasks/tools/install-kubectl/

Rancher

Create a plain Ubuntu VM in your cloud infrastructure.

The following specs are enough for Rancher

...

Setup Rancher stable by running this command:

Code Block
docker run -d -p 8080:8080 rancher/server:stable

...

Navigate to Rancher UI

Code Block
http://<rancher-vm-ip>:8080

...

  1. Default → Managed Environments
  2. Click Add Environment
  3. Fill in the Name and the Description
  4. Select Kubernetes as Environment Template
  5. Click Create

...

  1. Click Add Account API Key
  2. Fill in the Name and the Description
  3. Click Create
  4. Backup the Access Key and the Secret Key

We're now all set to create our Kubernetes host.

Setting up the infra

Kubernetes

...

  1. Navigate to the previously created environment
  2. In the browser URL, you should see the following, containing your <env-id>

    Code Block
    http://<rancher-vm-ip>:8080/env/<env-id>/kubernetes/dashboard

Create the Kubernetes host. Make sure to fill in the placeholder as follow:

{API_ACCESS_KEY}: The API KEY created in the previous step
{API_SECRET_KEY}: The API Secret created in the previous step
{OPENSTACK_INSTANCE}: The OpenStack Instance Name to give to your K8S VM
{OPENSTACK_IP}: The IP of your OpenStack deployment
{RANCHER_IP}: The IP of the Rancher VM created previously
{k8s-flavor}: The Flavor to use for the kubernetes VM. Recommanded specs:

...

Code Block
curl -u "{API_ACCESS_KEY}:{API_SECRET_KEY}" \
-X POST \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"hostname":"{OPENSTACK_INSTANCE}",
"engineInstallUrl":"wget https://raw.githubusercontent.com/rancher/install-docker/master/1.12.6.sh",
"openstackConfig":{
    "authUrl":"http://{OPENSTACK_IP}:5000/v3",
    "domainName":"Default",
    "endpointType":"adminURL",
    "flavorName":"{k8s-flavor}",
    "imageName":"xenial",
    "netName":"vlan197_net",
    "password":"Password123",
    "sshUser":"ubuntu",
    "tenantName":"nso-rancher",
    "username":"nso"}
}' \
'http://{RANCHER_IP}:8080/v2-beta/projects/{ENVIRONMENT_ID}/hosts/'

Setup the OOM Infrastructure: OOM Infrastructure setup

Deploy OOM

Video describing all the steps

View file
namezoom_1.mp4
height250

...

  1. Click Kubernetes → CLI
  2. Click Generate Config
  3. Copy/Paste in your host, under

    Code Block
    ~/.kube/config

    If you have multiple Kubernetes environments, you can give it a different name, instead of config. Then reference all your kubectl config in your bash_profile as follow

    Code Block
    KUBECONFIG=\
    /Users/adetalhouet/.kube/k8s.adetalhouet1.env:\
    /Users/adetalhouet/.kube/k8s.adetalhouet2.env:\
    /Users/adetalhouet/.kube/k8s.adetalhouet3.env
    export KUBECONFIG

...

Make your kubectl use this new environment

Code Block
kubectl config use-context <environment-name>

...

After a little bit, you're environment should be ready. To verify, use the following command

Code Block
$ kubectl get pods --all-namespaces
NAMESPACE     NAME                                   READY     STATUS    RESTARTS   AGE
kube-system   heapster-4285517626-4dst0              1/1       Running   0          4m
kube-system   kube-dns-638003847-lx9f2               3/3       Running   0          4m
kube-system   kubernetes-dashboard-716739405-f0kgq   1/1       Running   0          4m
kube-system   monitoring-grafana-2360823841-0hm22    1/1       Running   0          4m
kube-system   monitoring-influxdb-2323019309-4mh1k   1/1       Running   0          4m
kube-system   tiller-deploy-737598192-8nb31          1/1       Running   0          4m

...

We will basically follow this guide: http://onap.readthedocs.io/en/latest/submodules/oom.git/docs/OOM%20User%20Guide/oom_user_guide.html?highlight=oom

...