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].24xlarge
Hyper Threading No No
CPU Isolation None Cores 16-23 isolated
OS Amazon Linux 2 with EKS Optimizations
AMI Base Amazon Linux 2 with EKS AMI Modified Amazon Linux 2 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 AL2 but not loaded) igb_uio from the dpdk-mods package.
Cluster Kubernetes Version Version 1.25, and 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 10 GiB
Hugepages - Deployment Requirements None 3 GiB
CPU - Deployment Requirements 4 physical CPUs (shared with OS) 12 physical CPUs
CPU Split NA 4xCP, 1xDPA main, 7xDP
CPU Settings Override cpuset to 12-23
CPU Mapping

Standard 12 core layout:

12-15 CP, 16 DPA, 17-23 DP

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 2 modification details, see Create an AMI section.

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