You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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

  1. Create a plain Ubuntu VM in your cloud infrastructure.

    The following specs are enough for Rancher

    ID3
    VCPUs2
    RAM4Go
    Taille40Go
  2. Setup Rancher stable by running this command:

    docker run -d -p 8080:8080 rancher/server:stable
  3. Navigate to Rancher UI

    http://<rancher-vm-ip>:8080
  4. Setup basic access control: Admin → Access Control
  5. Install Openstack as machine driver: Admin → Machine Drivers
  6. Create an environment
    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
  7. Create an API key: API → Keys
    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. Retrieve your environment ID
    1. Navigate to the previously created environment
    2. In the browser URL, you should see the following, containing your <env-id>

      http://<rancher-vm-ip>:8080/env/<env-id>/kubernetes/dashboard
  2. 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:

    VCPUs8
    RAM64Go
    Taille100Go
    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/'
  3. Let's wait a few minutes until it's ready.
  4. Get your kubectl config
    1. Click Kubernetes → CLI
    2. Click Generate Config
    3. Copy/Paste in your host, under

      ~/.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

      KUBECONFIG=\
      /Users/adetalhouet/.kube/k8s.adetalhouet1.env:\
      /Users/adetalhouet/.kube/k8s.adetalhouet2.env:\
      /Users/adetalhouet/.kube/k8s.adetalhouet3.env
      export KUBECONFIG
  5. Make your kubectl use this new environment

    kubectl config use-context <environment-name>
  6. After a little bit, you're environment should be ready. To verify, use the following command

    $ 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

OOM

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

  1. Clone OOM release-1.1.0 branch

    git clone -b release-1.1.0 ssh://adetalhouet@gerrit.onap.org:29418/oom
  2. Prepare configuration
    1. Edit the onap-parameters.yaml under

      oom/kubernetes/config
    2. To have endpoints registering to MSB, add your kubectl config token in kube2msb config, under kubeMasterAuthToken located at

      oom/kubernetes/kube2msb/values.yaml
  3. Create the config

    cd oom/kubernetes/config
    ./createConfig.sh -n onap
  4. Deploy ONAP

    cd oom/kubernetes/oneclick
    ./createAll.bash -n onap
  5. Now, time for a break. This will take arround 30/40 minutes.


Running vFW demo

  • No labels