Prerequisites
Review the tools, cluster requirements, sizing requirements, and privileges needed for a BYOK deployment.
Ensure that the following tools, utilities, and cluster requirements are met:
Kubernetes Tool Requirements
| Tool | Version | References |
|---|---|---|
| skopeo | 1.22.0 | Required for load-images.sh |
| xz | 5.8.3 |
# For image loading
skopeo --version
xz --version
Essential Linux Tools
Ensure that you have the standard utilities such as sed, awk, grep, curl, base64, and so on.
Kubernetes Cluster Requirements
- OpenShift version 4.18 to 4.22.
- Network connectivity to the API server.
- Create the required storage classes for deployment ensure that you have sufficient privileges.
Hardware Specification
The following table describes the minimum hardware specification to deploy Virtual Appliance using Persistent Volume Claim (PVC) with default storage class:
| Profile | Specification | Min Node Count | Max Agents | Max Metrics/Minute | EUM Beacons/Minute | Synthetic Sessions/Minute | OpenTelemetry Spans/Minute | |
|---|---|---|---|---|---|---|---|---|
| Browser | Mobile | |||||||
| Medium |
32 vCPUs, 128 GB RAM, 200 GB OS Disk, and 3 TB SSD Data Disk |
4 |
3500 |
600,000 |
20000 |
40000 |
15000 |
48000 |
| Extra Large |
96 vCPUs, 384 GB RAM, 200 GB OS Disk, and 10 TB SSD Data Disk |
5 |
14,500 |
2,600,000 |
80000 |
160000 |
60000 |
128,000 |
Service Account Privileges
Ensure that the user or service account has the following privileges:
- Create and manage namespaces
- Create Custom Storage Classes
- Create Custom Resource Definitions (CRDs)
- Create ClusterRoles and ClusterRoleBindings
- Manage Security Context Constraints (SCCs)
Use cluster-admin role or equivalent for the user or service account.
# Login with cluster-admin
oc login --token=<token> --server=<api-server>
# OR
oc login -u cluster-admin -p '<password>' <api-server>
# Verify current privileges (The following list is minimal.)
oc auth can-i create namespaces
oc auth can-i create customresourcedefinitions
oc auth can-i create clusterroles
Upgrade your Kubernetes cluster from 26.1
BYOK deployer and architecture significantly changed in 26.7, the upgrade steps differ from a standard upgrade. Therefore, you must uninstall the existing set up and start a fresh deployment.
Download the BYOK Deployer
Download and extract the BYOK deployer package from the Downloads portal.
byok8s/
├── appdcli # AppDynamics CLI executable
├── config/ # Configuration files
│ ├── globals.yaml.gotmpl # Main configuration file
│ ├── secrets.yaml.template # Secrets template
│ ├── license.lic.template # License file template
│ ├── namespaces.yaml.template # Namespace configuration template
│ ├── pull-secret.conf # Pull secret configuration
│ ├── service-endpoints.yaml.gotmpl
│ ├── mysql-endpoint.yaml.gotmpl
│ ├── external-elasticsearch.yaml
│ ├── external-kafka.yaml
│ ├── external-minio.yaml
│ ├── external-mysql.yaml
│ ├── external-postgresql.yaml
│ └── external-redis.yaml
├── scripts/ # Utility scripts
│ ├── find-available-service-ip.sh # Service CIDR IP finder for CoreDNS
│ ├── load-images.sh # Image loading for air-gapped environments
│ ├── create-pull-secrets.sh # Pull secret creation
│ ├── create-namespaces.sh # Namespace creation
│ ├── resolve-namespaces.sh # Resolve namespace configuration
│ └── restore-namespaces.sh # Restore namespace configuration
├── cli/ # AppDynamics CLI distribution
│ ├── README.md # CLI documentation
│ ├── appdcli # CLI launcher
│ └── bin/ # Platform-specific CLI binaries
│ ├── darwin/ # macOS binaries
│ │ ├── amd64/ # macOS Intel/AMD 64-bit
│ │ │ ├── appdcli
│ │ │ ├── helm
│ │ │ ├── helmfile
│ │ │ ├── jq
│ │ │ ├── kubectl
│ │ │ └── yq
│ │ └── arm64/ # macOS Apple Silicon
│ │ ├── appdcli
│ │ ├── helm
│ │ ├── helmfile
│ │ ├── jq
│ │ ├── kubectl
│ │ └── yq
│ └── linux/ # Linux binaries
│ ├── amd64/ # Linux AMD/Intel 64-bit
│ │ ├── appdcli
│ │ ├── helm
│ │ ├── helmfile
│ │ ├── jq
│ │ ├── kubectl
│ │ └── yq
│ └── arm64/ # Linux ARM 64-bit
│ ├── appdcli
│ ├── helm
│ ├── helmfile
│ ├── jq
│ ├── kubectl
│ └── yq
├── docs/ # Deployment documentation
├── images/ # Offline container-image bundles
├── appd-charts/ # Core AppDynamics charts
├── aiops-charts/ # AIOps charts
├── atd-charts/ # ATD charts
├── mcp-charts/ # MCP charts
├── monitoring-charts/ # Monitoring charts
├── uil-charts/ # UIL charts
└── secapp-charts/ # SecureApp charts
└── secureapp-byok.sh # SecureApp operations script