Cisco NFVIS Kubernetes Support

Table 1. Feature History

Feature Name

Release Information

Description

Cisco NFVIS Kubernetes support

Cisco NFVIS Release 4.9.1

This feature adds support to deploy and operate Kubernetes as a VM using Cisco NFVIS. Download the NFVIS Kubernetes tar.gz file, upload it to the Cisco NFVIS and deploy the Kubernetes VM to leverage Kubernetes related technologies within Cisco NFVIS.

Information About Cisco NFVIS Kubernetes Support

Information About Cisco NFVIS Kubernetes Support

Starting from Cisco NFVIS Release 4.9.1, Cisco NFVIS leverages Kubernetes capabilites to enable cloud native deployments. The Cisco NFVIS Kubernetes support enables deploying edge compute applications on the branch and edge devices. Cisco NFVIS can handle the Life Cycle Management of Kubernetes and enable service chaining with other VNFs. Cisco NFVIS contains built-in support for creating Kubernetes topology with Cisco Catalyst 8000V.

Information About Kubernetes as a VM

Kubernetes is packaged as a Virtual Machine (VM) that is deployed on Cisco NFVIS.

Prerequisites for Cisco NFVIS Kubernetes Support

Ensure that the minimum software version for Cisco NFVIS devices is Cisco NFVIS Release 4.9.1.

Restrictions For Cisco NFVIS Kubernetes Support

  • Cisco NFVIS supports only single node topology. A single node contains both the control and data planes.

  • Only one Kubernetes node can be deployed at a time on Cisco NFVIS.

Deploy Kubernetes on Cisco NFVIS

Kubernetes VM can be deployed using Cisco NFVIS. Cisco NFVIS supports deploying of Kubernetes VM using the Cisco NFVIS Portal, API, and CLI.

Download the latest Kubernetes tar.gz image file from the Cisco Software download page on to your local storage for version mapping with Cisco NFVIS Release 4.9.1.

Upload the Kubernetes tar.gz image file to the Cisco NFVIS and register the image. For more information on uploading and registering the image files see, Uploading VM Images to an NFVIS Server and Registering a VM image.

Deploy Cisco Kubernetes Using Cisco NFVIS

Deploy Cisco NFVIS Kubernetes VM

Use the following steps to deploy Kubernetes VM:

  1. In Cisco NFVIS, click Configuration > Deploy.

  2. In the Select VM menu, click KUBERNETES and the Kubernetes node is displayed inside the topology.


    Note


    A kubernetes-net network is auto-created in the topology when you click KUBERNETES.

    We recommend that you establish a connection between the Kubernetes and WAN-Net that can access the APISERVER_EXTERNAL_IP to complete the Kubernetes deployment with your existing network using the topology.


  3. Connect the Kubernetes to a preferred network interface using the topology.


    Note


    Kubernetes VM can be connected to a maximum of two network interfaces. The vNIC ID of the first interface (management-interface) is zero and the vNIC ID of the second interface (data-path) is one.

    In the vNIC Details panel, the VM Name and Network Name are auto-populated.


  4. Click Kubernetes inside the topology to expand the Kubernetes deployment panel.

  5. Configure the following fields:

    Field

    Description

    VM Name

    Enter a VM name.

    Image

    Choose an image from the drop-down or click + button to add a new image.

    Profile

    Choose the profile for the VM from the drop-down or click the + button to add a new profile.

    Note

     

    Cisco NFVIS supports only small and medium profiles for Kubernetes deployment.

    Group Name (optional)

    Choose a group name from the drop-down list.

    VNC Password

    Enter the VNC password.

    MODE

    Choose control-plane-node from the drop-down.

    GATEWAY

    Enter the Cisco NFVIS gateway IP address.

    NODE_IP_ADDRESS

    Enter the node IP address. This IP address is assigned to the interface on vNIC ID one.

    HOSTNAME

    Enter a host name.

    APISERVER_EXTERNAL_IP

    Enter the API server IP address of an external node.

    NTP_SERVER_IP

    Enter the NTP server IP address to configure an NTP server to the Kubernetes VM.

    Deployment Disk

    Choose a deployment disk from the drop-down.

    Note

     

    Do not choose NFS Store as a deployment disk from the drop-down.

    Management IP (optional)

    Enter the IP address of the management interface on vNIC ID zero. If left blank, NFVIS auto-populates this field.

  6. Click Deploy.

Deploy Kubernetes As a Service Chain using Cisco NFVIS

Deploy Kubernetes in service chains using the Kubernetes Topology method which creates a new topology with an established kubernetes-net network. Use the following steps to deploy Kubernetes as a service chain:


Note


  • Ensure that a Cisco Catalyst 8000V gateway is uploaded to NFVIS in the image repository.

  • You can deploy Kubernetes as a service chain only using Cisco NFVIS.

  • The Kubernetes topology deployment deploys both Kubernetes and Cisco Catalyst 8000V VMs.


  1. Perfom the steps 1 to 5 mentioned in the Deploy Kubernetes as a standalone VM topic.


    Note


    Enter the Cisco Catayst 8000V gateway IP address in the GATEWAY filed, enter the NODE_IP_ADDRESS and APISERVER_External_IP of Cisco Catalyst 8000V.


  2. Ensure to check the Kubernetes Topology checkbox.

  3. Configure the following fields:

    Field

    Description

    Image Name

    Choose an image from the drop-down.

    Profile Name

    Choose the profile name from the drop-down.

    VNC password

    Enter the VNC password.

    C8KV_WAN_IP

    Enter the WAN IP address of Cisco Catayst 8000V.

    C8KV_WAN_GATEWAY

    Enter the WAN gateway of Cisco Catalyst 8000V.

    Tech Package

    Choose the appropirate package from the drop-down.

    SSH_USERNAME

    Enter the SSH username.

    SSH_PASSWORD

    Enter the SSH password.

  4. Click Deploy.

Verify Cisco NFVIS Kubernetes Deployment

To verify the status of the Kubernetes deployment using the Cisco Enterprise NFVIS, use the following steps:

  1. In the Cisco Enterprise NFVIS dashboard, click Configuration > Virutal Machine > Manage.

  2. In the Manage VM page, the deployed Kubernetes VM is listed.

Verify Kubernetes Deployment using CLI

Verify Kubernetes Status

Once the Kubernetes deployment is complete, verify the status of the Kubernetes cluster. The following is a sample output from the kubernetes status command:

nfvis# kubernetes status
nfvis# kubernetes status
NAME       STATUS   ROLES                  AGE   VERSION
hostname   Ready    control-plane,master   55s   v1.22.4

In this output, Ready indicates that the cluster is active.

Generate Configuration to access the Kubernetes Cluster

To get the configuration and credentials to access a Kubernetes cluster using Cisco NFVIS use the following command:
nfvis# kubernetes getConfig
kubernetes-config apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: xyxyajsuus
    server: https://209.165.201.1:0001
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    namespace: nfvis-kubernetes
    user: nfvis-kubernetes-admin
  name: nfvis-kubernetes-admin
current-context: nfvis-kubernetes-admin
kind: Config
users:
- name: nfvis-kubernetes-admin
  user:
    token: xxxyyzha

In this output, you can get the configuration details such as the token number, name of the cluster, user name and certification details.

Regenerate Updated Kubernetes Configuration

To get the updated service token details and Kubernetes configuration from the cluster, use the following command:
nfvis# kubernetes regenerateConfig
kubernetes-config apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: XXYZZZUS
    server: https://209.165.201.1:0001
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    namespace: nfvis-kubernetes
    user: nfvis-kubernetes-admin
  name: nfvis-kubernetes-admin
current-context: nfvis-kubernetes-admin
kind: Config
users:
- name: nfvis-kubernetes-admin
  user:
    token: Yl4RMEg 

In this output, you can get the latest configuration details such as the token number, name of the cluster, user name and certification details.

Access Kubernetes Cluster

Information about Kubernetes Dashboard

  • The Kubernetes Dashboard is hosted on the Kubernetes cluster and provides a GUI to access the cluster.

  • The Kubernetes cluster can only be accessed via the Kubernetes Dashboard or API.


    Note


    A Kubernetes node needs to be deployed in Cisco NFVIS and should be in the VM_ALIVE state.


  • The dashboard is connected to Kubernetes over port 32045. For example, https://API_SERVER_EXTERNAL_IP:32045

Access Kubernetes Cluster using Cisco NFVIS

There are two options to access a Kubernetes cluster using Cisco NFVIS. The following sections brief about accessing the Kubernetes dashboard using Kubernetes Config and Kubernetes Token options.

Access Kubernetes Dashboard using Kubernetes Config Option

Use the following steps to access the Kubernetes dashboard:

  1. In the Cisco Enterprise NFVIS dashboard, click Configuration > Virutal Machine > Manage.

  2. In the Manage VM page, the deployed Kubernetes VMs are listed.

  3. Click Kubernetes Config icon next to the respective Kubernetes VM.

  4. Kubernetes Config page is displayed. Make a note of the server IP address displayed in the configuration.

  5. Click Copy to clipboard to copy the configuration to your clipboard in case of using the Kubernetes Config option.


    Note


    You can get the Kubernetes Config using the CLI as well. Refer to the verify Kubernetes cluster using CLI topic for more information.


  6. Open a new tab in your preferred browser and enter the API server IP address followed by the port number. For example, https://198.51.100.253:32045.

  7. The Kubernetes gateway login page is displayed. Paste the entire copied configuration.

  8. Kubernetes dashboard is displayed. In the dashboard, navigate to the Namespace called nfvis-kubernetes.

  9. You can start using Kubernetes related technologies using the Kubernetes dashboard.

Access Kubernetes Dashboard using Kubernetes Token Option

Use the following steps to access the Kubernetes dashboard:

  1. In the Cisco Enterprise NFVIS dashboard, click Configuration > Virutal Machine > Manage.

  2. In the Manage VM page, the deployed Kubernetes VMs are listed.

  3. Click Kubernetes Config icon next to the respective Kubernetes VM.

  4. Kubernetes Config page is displayed. Make a note of the API server IP address displayed in the configuration.

  5. Select the token details and copy it to your clipboard in case of using the Token option to access the dashboard.

  6. Open a new tab in your preferred browser and enter the API server IP address followed by the port number. For example, https://198.51.100.253:32045.

  7. The Kubernetes gateway login page is displayed. Paste the copied token details in the Using Token option.


    Note


    Cisco NFVIS Kubernetes- Parameters

    Value

    Namespace

    nfvis-kubernetes

    Username

    nfvis-kubernetes-admin

    Dashboard Port

    32045

    Ingress Controller Port

    32050


  8. Kubernetes dashboard is displayed. In the dashboard, navigate to the Namespace called nfvis-kubernetes by searching for it.

  9. You can start using Kubernetes related technologies using the Kubernetes dashboard.

Troubleshoot Cisco NFVIS Kubernetes VM Support

Log Files

The following commands are used to get the logs for troubleshooting:

Command

Description

show log kubernetes

Displays a list of available logs specific to the Kubernetes VM.

show log kubernetes boot.log

Displays logs containing Kubernetes VM boot details.

show log kubernetes journal

Displays logs containing Kubernetes VM journal binary.

show log kubernetes cloud-init.log

Displays logs containing Kubernetes VM cloud init logs.

show log kubernetes cloud-init-output.log

Displays logs containing Kubernetes VM cloud init output.

show log kubernetes KubeHelper.log

Displays logs containing Kubernetes VM helper service output.

show log kubernetes KubeHelperExceptions.log

Displays logs containing Kubernetes VM helper service exceptions.

show log kubermetes messages

Displays logs containing Kubernetes VM system service output.