Prerequisites

This module provides the prerequisites for deploying Cisco IOS XRd on Amazon EKS.

Prerequisites

Before you begin to deploy the XRd on AWS EKS, ensure that you have the following:

  • Basic knowledge of Kubernetes and Helm

  • Familiarity with AWS Services, such as:

  • Familiarity and availability of tools, such as:

    • AWS CLI tool

      You must configure the AWS CLI tool with an account with administrator permissions. Admin permissions are required to create IAM roles.

    • Standard CLI tools, for example, tar and SSH

    • Helm

    • kubectl

    • skopeo, or, docker, or podman

  • Availability of an EC2 key-pair to access the worker nodes. If you have not created a key-pair already in the region that you are deploying the cluster, create a key-pair using these instructions.


Note


Most commands that run on the AWS CLI tool do not require the AWS region to be specified. These commands use the default region from the CLI tool configuration. Commands that require the region to be specified explicitly are indicated as <region> in the command example.


Cisco IOS XRd Deployment Requirements

The following table provides the Cisco IOS XRd deployment requirements:

Use Case SR-PCE Cloud Router
Platform XRd Control Plane XRd vRouter
Worker Node Validated Instance Type m5.2xlarge m5[n].12xlarge, m5[n].24xlarge, and m6in.16xlarge instances.
Hyper Threading No No
CPU Isolation None

To ensure proper operation, isolate all CPUs used by the IOS XRd dataplane. For example:

  • On m5[n].12xlarge and m5[n].24xlarge instances, isolate cores 11 to 23.

  • On m6in.16xlarge instances, isolate cores 19 to 31.

OS Amazon Linux 2023 with EKS Optimizations
AMI Base Amazon Linux 2023 with EKS AMI Modified Amazon Linux 2023 with EKS AMI*
Sysctl Settings inotify settings, kernel core pattern**

Robust core handling to avoid disk exhaustion

A pipe script, rather than a path pattern, can be used to ensure that cores are handled on the host.

systemd-coredump service can be used to collect core files safely.

Hugepages None 6 x 1 GiB
Storage 56 GiB 56 GiB
Extra Kernel Modules None UIO (in AL2023 but not loaded) igb_uio from the dpdk-mods package.
Cluster Kubernetes Version Versions 1.27 and above.
AWS-Node Settings MAX_ENI=1
Multus Version v4.0.2-eksbuild.1 NA
Attachment Types

AWS-CNI (default CNI interface only)

Host-device

XRd RAM (excluding hugetlb) - Deployment requirements 4 GiB 16 GiB
Hugepages - Deployment Requirements None 6 GiB
CPU - Deployment Requirements 4 physical CPUs (shared with OS) 17 physical CPUs
CPU Split NA 4xCP, 1xDPA main, 12xDP
CPU Settings

When configuring queues for vRouters, use the following values based on the AWS instance:

  • m5[n].12xlarge and m5[n].24xlarge: 7 to 23

  • m6in.16xlarge: 15 to 31

CPU Requirements Number of CP cores > 1 must be non-isolated, DP must be isolated always, and full physical CPUs always
DPA Tuning Off
Interface Driver NA igb_uio with Write Combine support
Security Context Privileged
Persistent Volume 6 GiB, "gp2" class, dynamically allocated
Scheduling Pinned to specific worker node
Node Exclusivity No other workloads running on the node
Initial Configuration In workload definition, dependent on worker node (and interface) settings
Redundancy Model Pair of separate, redundant, instances each in a separate StatefulSet

* For Amazon Linux 2023 modification details, see Create an AMI section.

**For inotify settings, and kernel core pattern details, see Kernel Parameters section.