This page covers managing GDC blueprints and deployments, and creating and deleting a GDC cluster.
GDC Workload cluster blueprint
The GDC Workload cluster blueprint contains custom
resources you can combine to specify the intent to deploy a
GDC cluster. For an example Workload cluster
custom resource definition, see
Example WorkloadCluster
CRD.
The following list defines the role of each custom resource:
WorkloadCluster: creates a local control plane based GDC cluster with one node pool and VPN Connection between the created GDC cluster and Telecom Network Automation Orchestration cluster's VPC.
ClusterInit: initializes the cluster's lifecycle that Telecom Network Automation manages. This lifecycle includes installing Telecom Network Automation components on the GDC cluster required for the lifecycle management.
SourceRepoRepository and Repository: sets up the GitOps pipeline for the created GDC cluster using Cloud Source Repository and Porch along with ConfigSync, installed from the previous resource.
ComputeFirewall: creates a firewall rule in the Telecom Network Automation Orchestration cluster's VPC to allow for TCP ingress traffic on port 3000 that comes from the same IP address range used as the GDC Cluster's pod address range.
ImagePull: sets up the required credentials on the GDC cluster for
kubelet
to pull images from the artifact registry.
When creating a deployment you can customize the blueprint using following
parameters in the setters.yaml
file:
Parameter | Description |
---|---|
project-id
|
The ID of the target Google Cloud project where the |
Telecom Network Automation. orchestration cluster is created. | |
cluster-name
|
A unique name that identifies a given cluster. This name must be unique across all deployments. |
username
|
The name of the user account within the target Google Cloud project authorized to modify cluster resources. |
cluster-ipv4-cidr-blocks
|
The IPv4 CIDR block for Kubernetes Pods that run on the cluster. |
services-ipv4-cidr-blocks
|
The IPv4 CIDR block for Kubernetes Services that run on the cluster |
cluster-location
|
The Google Cloud region where you want to create the cluster. |
nodepool-name
|
A unique name that identifies the node pool. This name must be unique across all deployments. |
node-count
|
The number of nodes you want the node pool to hold. |
scale-down-grace-period-seconds
|
Specifies the time period in
seconds to wait for the NF
workloads to migrate from the nodes
being removed during scale down.
For example, node-count is
reduced during an update. This
process is to ensure a
non-disruptive scale down of the
cluster. Note: This
profcessis only applicable when the
NF workloads are using the required
pod label,
infra.tna.cloud.google.com/nf-workload ,
for Telecom Network Automation to
identify the critical NF
workloads. |
edge-zone-name
|
The name of the target
GDC
zone. This zone must be in the
region specified in
cluster-location . |
vpn-connection-name
|
A unique name that identifies the VPN connection. This name must be unique across all deployments. |
vpc-name |
The VPC network name of the |
Telecom Network Automation
Orchestration cluster. If you opted
for Enable management config
during the Orchestration cluster
creation, this must be the VPC
network name. Otherwise, the
default VPC network that
Telecom Network Automation
creates is tnavpc-01 . |
|
nat-gateway-ip
|
The NAT gateway IP address for the target cluster |
image-registry-server
|
The image registry server where
GDC workload
images are stored. The images are
stored in
us-central1-docker.pkg.dev . |
control-plane-node-count
|
The number of nodes to run the
local control plane workloads.
Valid values are 3 for high
availability and 1 for standard
operation. |
control-plane-shared-deployment-policy
|
Specifies whether application
workloads can run on the nodes that
run the local control plane
workloads. Valid values are
DISALLOWED and ALLOWED . |
external-lb-ipv4-address-pools
|
A comma-delimited list of IPv4 addresses, address ranges, or subnetworks for ingress traffic on services that run behind the GDC load balancer. The range must belong to the load balancer IP subnet pool mentioned during the rack turnup. |
targetVersion
|
Specifies the GDC software version that you want this cluster to run in the format 1.X.Y where X is the minor version, and Y is the patch version. For example 1.5.0. |
GDC blueprints
Create a blueprint
- From the navigation menu, click Blueprints.
- In the drop-down menu, select your preferred Orchestration cluster.
- Click Import from Library.
- Select the blueprint, GDCE Workload cluster blueprint.
- Click Add Blueprint.
- On the next screen, specify an appropriate name. For example,
workloadcluster1
for the GDC cluster blueprint. - Optionally, add any labels.
- Afterwards, click Create.
- The blueprint appears in the Draft Blueprints list.
Edit a blueprint
- From the navigation menu, click Blueprints > Drafts Blueprint.
- Select your preferred blueprint. A blueprint editor appears.
- Edit the blueprint. Any changes to the particular blueprint at the current stage are discouraged.
Propose a blueprint
- From the navigation menu, click Blueprints > Drafts Blueprint.
- Select your preferred blueprint. A blueprint editor appears.
- Click Propose. The status of the blueprint updates to Proposed.
Approve a blueprint
- From the navigation menu, click Blueprints.
- In your preferred blueprint, click Action.
- Select Approve. The blueprint appears in Approved Blueprints.
GDC deployment
Create a blueprint deployment
- From the navigation menu, click **Blueprints > Approved Blueprints.
- Select the name of your preferred blueprint.
- Click Create Deployment.
- Provide a name for the deployment. For example,
workloadcluster1-deploy1
. - Click Create Deployment. The deployment appears in Draft Deployment.
Edit a blueprint deployment
- From the navigation menu, click Blueprints.
- Select the name of your preferred deployment. A deployment editor appears.
- Edit the
setters.yaml
file.- Note: Ensure you carefully edit the fields and make the necessary changes to the values. For a description of these fields, see GDC Workload cluster blueprints.
- Click "Save File".
Apply a blueprint deployment
- From the navigation menu, click Blueprints.
- Select the name of your preferred deployment. A deployment editor appears.
- Click Deploy. A dialog appears.
- In the dialog, click Deploy. The deployment appears in Applied Deployment.
Scale up and down GDC cluster
- From the navigation menu, click Blueprints > Applied Deployments.
- Select your preferred deployment.
- Click View.
- Click Edit Deployment.
- Increase or decrease the
node-count
value from thesetters.yaml
file. When decreasingnode-count
set thescale-down-grace-period-seconds
field to let NF workloads to migrate from the node being removed before scaling down. - Click Save File. The deployment appears in Draft Deployment.
- Navigate to Deployments.
- In Draft Deployment, select the name of your preferred deployment. A deployment editor appears.
- Click Deploy.
- Confirm the deployment. The deployment appears in Applied Deployment.
Delete GDC cluster
- From the navigation menu, click Blueprints.
- From the drop-down menu, Select your preferred Orchestration cluster.
- Click Applied Deployment.
- Click the Action icon for the deployment.
- Click Delete. A confirmation dialog appears.
- Confirm the deletion by clicking Delete.
The deletion process might complete in up to 30 minutes.