Important
Legacy subresources are deprecated as of the release of their corresponding CRDs. If your configuration currently relies on the subresource form of this resource definition, migrate to a CRD.
The AtlasNetworkContainer custom resource defines a network
container for a Atlas
project. You create VPC peering connections between network
containers and the networks hosting your applications.
Important
Custom Resources No Longer Delete Objects by Default
Atlas Kubernetes Operator uses custom resource configuration files to manage your Atlas configuration, but as of Atlas Kubernetes Operator 2.0, custom resources you delete in Kubernetes are no longer (by default) deleted in Atlas. Instead, Atlas Kubernetes Operator simply stops managing those resources in Atlas. For example, if you delete an
AtlasProjectCustom Resource in Kubernetes, by default the Atlas Kubernetes Operator no longer automatically deletes the corresponding project from Atlas. This change in behavior is intended to help prevent accidental or unexpected deletions. To learn more, including how to revert this behavior to the default used prior to Atlas Kubernetes Operator 2.0, see New Default: Deletion Protection in Atlas Kubernetes Operator 2.0.Similarly, Atlas Kubernetes Operator does not delete teams from Atlas if you remove them from an Atlas project in Kubernetes with the Atlas Kubernetes Operator.
Explicitly define your desired configuration details in order to avoid implicitly using default Atlas configuration values. In some cases, inheriting Atlas defaults may result in a reconciliation loop which can prevent your custom resource from achieving a
READYstate. For example, explicitly defining your desired autoscaling behavior in yourAtlasDeploymentcustom resource, as shown in the included example, ensures that a static instance size in your custom resource is not being repeatedly applied to an Atlas deployment which has autoscaling enabled.autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
Atlas Kubernetes Operator does one of the following actions using the Atlas Network Peering API Resource:
Creates a new network container.
Updates an existing network container.
Examples
The following examples illustrate configurations for
AtlasNetworkContainer CRDs.
The basic example configuration defines a resource that you manage with the same Atlas Kubernetes Operator instance with which you manage its parent Atlas project.
The Independent CRD example configures the same network container as the basic example, but for a Atlas project that you manage outside of the Atlas Kubernetes Operator instance with which you manage the network container.
Basic Example
The following shows an AtlasNetworkContainer custom resource for a
container named my-atlas-nc that allows you to create a VPC
peering connection between Atlas and AWS within the
my-project project. To manage this resource in the same Atlas Kubernetes Operator
instance as its parent Atlas project, you must identify the
project with projectRef instead of externalProjectRef.
apiVersion: atlas.mongodb.com/v1 kind: AtlasNetworkContainer metadata: name: my-atlas-nc spec: projectRef: name: my-project namespace: my-operator-namespace provider: AWS id: 66e2f2b7e69a89b66b621571 cidrBlock: 10.11.0.0/16 region: US_EAST_1
Independent CRD Example
The following example shows an AtlasNetworkContainer
independent CRD that enables VPC
peering under the same parameters enabled by the Basic Example. To enable independent
operation, you must use an externalProjectRef instead of a
projectRef, and you must supply a connectionSecret directly
since this resource can't inherit API credentials from its parent
project.
apiVersion: atlas.mongodb.com/v1 kind: AtlasNetworkContainer metadata: name: my-atlas-nc spec: externalProjectRef: projectId: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret provider: AWS id: 66e2f2b7e69a89b66b621571 cidrBlock: 10.11.0.0/16 region: US_EAST_1
Parameters
AtlasNetworkContainer
AtlasNetworkContainer is the Schema for the AtlasNetworkContainer API
Name | Type | Description | Required |
|---|---|---|---|
| string | atlas.mongodb.com/v1 | true |
| string |
| true |
| object | Refer to the Kubernetes | true |
| object |
| false |
| object |
| false |
AtlasNetworkContainer.spec
AtlasNetworkContainerSpec defines the target state of an AtlasNetworkContainer.
Name | Type | Description | Required |
|---|---|---|---|
| enum | Provider is the name of the cloud | true |
| string | Atlas | false |
| object | Name of the secret containing Atlas | false |
| object |
| false |
| string |
| false |
| object |
| false |
| string |
| false |
AtlasNetworkContainer.spec.connectionSecret
Name of the secret containing Atlas API private and public keys.
Name | Type | Description | Required |
|---|---|---|---|
| string | Name of the resource being referred to More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasNetworkContainer.spec.externalProjectRef
externalProjectRef holds the parent Atlas project ID. Mutually exclusive with the "projectRef" field.
Name | Type | Description | Required |
|---|---|---|---|
| string |
| true |
AtlasNetworkContainer.spec.projectRef
projectRef is a reference to the parent AtlasProject resource. Mutually exclusive with the "externalProjectRef" field.
Name | Type | Description | Required |
|---|---|---|---|
| string | Name of the Kubernetes Resource | true |
| string | Namespace of the Kubernetes Resource | false |
AtlasNetworkContainer.status
AtlasNetworkContainerStatus is a status for the AtlasNetworkContainer Custom resource. Not the one included in the AtlasProject
Name | Type | Description | Required |
|---|---|---|---|
| []object | Conditions is the list of statuses showing the current state of the Atlas Custom Resource | true |
| string |
| false |
| integer |
| false |
| boolean | Provisioned is true when clusters have been deployed to the container before the last reconciliation | false |
AtlasNetworkContainer.status.conditions
Condition describes the state of an Atlas Custom Resource at a certain point.
Name | Type | Description | Required |
|---|---|---|---|
| string | Status of the condition; one of True, False, Unknown. | true |
| string | Type of Atlas Custom Resource condition. | true |
| string | Last time the condition transitioned from one status to another.
Represented in | false |
| string | A | false |
| string | The | false |