BigtableAppProfile
Property | Value |
---|---|
Google Cloud Service Name | Cloud Bigtable |
Google Cloud Service Documentation | /bigtable/docs/ |
Google Cloud REST Resource Name | bigtableadmin/v2/projects.instances.appProfiles |
Google Cloud REST Resource Documentation | /bigtable/docs/reference/admin/rest/v2/projects.instances.appProfiles |
Config Connector Resource Short Names | gcpbigtableappprofile gcpbigtableappprofiles bigtableappprofile |
Config Connector Service Name | bigtableadmin.googleapis.com |
Config Connector Resource Fully Qualified Name | bigtableappprofiles.bigtable.cnrm.cloud.google.com |
Can Be Referenced by IAMPolicy/IAMPolicyMember | No |
Config Connector Default Average Reconcile Interval In Seconds | 600 |
Custom Resource Definition Properties
Annotations
Fields | |
---|---|
cnrm.cloud.google.com/ignore-warnings |
|
cnrm.cloud.google.com/project-id |
Spec
Schema
description: string
instanceRef:
external: string
name: string
namespace: string
multiClusterRoutingClusterIds:
- string
multiClusterRoutingUseAny: boolean
resourceID: string
singleClusterRouting:
allowTransactionalWrites: boolean
clusterId: string
standardIsolation:
priority: string
Fields | |
---|---|
Optional |
Long form description of the use case for this app profile. |
Optional |
The instance to create the app profile within. |
Optional |
Allowed value: The `name` field of a `BigtableInstance` resource. |
Optional |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
Optional |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
Optional |
The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible. |
Optional |
|
Optional |
If true, read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability. |
Optional |
Immutable. Optional. The appProfileId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. |
Optional |
Use a single-cluster routing policy. |
Optional |
If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters. |
Required* |
The cluster to which read/write requests should be routed. |
Optional |
The standard options used for isolating this app profile's traffic from other use cases. |
Required* |
The priority of requests sent using this app profile. Possible values: ["PRIORITY_LOW", "PRIORITY_MEDIUM", "PRIORITY_HIGH"]. |
* Field is required when parent field is specified
Status
Schema
conditions:
- lastTransitionTime: string
message: string
reason: string
status: string
type: string
name: string
observedGeneration: integer
Fields | |
---|---|
conditions |
Conditions represent the latest available observation of the resource's current state. |
conditions[] |
|
conditions[].lastTransitionTime |
Last time the condition transitioned from one status to another. |
conditions[].message |
Human-readable message indicating details about last transition. |
conditions[].reason |
Unique, one-word, CamelCase reason for the condition's last transition. |
conditions[].status |
Status is the status of the condition. Can be True, False, Unknown. |
conditions[].type |
Type is the type of the condition. |
name |
The unique name of the requested app profile. Values are of the form 'projects/ |
observedGeneration |
ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. |
Sample YAML(s)
Multicluster Bigtable App Profile
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: bigtable.cnrm.cloud.google.com/v1beta1
kind: BigtableAppProfile
metadata:
name: bigtableappprofile-sample-multicluster
annotations:
cnrm.cloud.google.com/ignore-warnings: "true"
spec:
description: Automatically routes requests to the nearest available cluster in an instance.
instanceRef:
name: bigtableappprofile-dep-multi
multiClusterRoutingUseAny: true
multiClusterRoutingClusterIds:
- bigtableappprofile-dep1-multi
- bigtableappprofile-dep2-multi
---
apiVersion: bigtable.cnrm.cloud.google.com/v1beta1
kind: BigtableInstance
metadata:
name: bigtableappprofile-dep-multi
spec:
displayName: BigtableSample
cluster:
- clusterId: bigtableappprofile-dep1-multi
zone: us-central1-a
numNodes: 3
- clusterId: bigtableappprofile-dep2-multi
zone: us-west1-a
numNodes: 3
Priority Bigtable App Profile
# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: bigtable.cnrm.cloud.google.com/v1beta1
kind: BigtableAppProfile
metadata:
name: bigtableappprofile-sample-priority
spec:
description: Sends all requests with LOW priority.
instanceRef:
name: bigtableappprofile-dep-priority
singleClusterRouting:
allowTransactionalWrites: true
clusterId: bigtableappprofile-dep1-pty
standardIsolation:
priority: PRIORITY_LOW
---
apiVersion: bigtable.cnrm.cloud.google.com/v1beta1
kind: BigtableInstance
metadata:
name: bigtableappprofile-dep-priority
spec:
displayName: BigtableSample
cluster:
- clusterId: bigtableappprofile-dep1-pty
zone: us-central1-a
numNodes: 3
- clusterId: bigtableappprofile-dep2-pty
zone: us-west1-a
numNodes: 3
Single Cluster Bigtable App Profile
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: bigtable.cnrm.cloud.google.com/v1beta1
kind: BigtableAppProfile
metadata:
name: bigtableappprofile-sample-singlecluster
spec:
description: Routes all requests to a single cluster. If that cluster becomes unavailable, you must manually fail over to another cluster.
instanceRef:
name: bigtableappprofile-dep-single
singleClusterRouting:
allowTransactionalWrites: true
clusterId: bigtableappprofile-dep1-single
---
apiVersion: bigtable.cnrm.cloud.google.com/v1beta1
kind: BigtableInstance
metadata:
name: bigtableappprofile-dep-single
spec:
displayName: BigtableSample
instanceType: PRODUCTION
cluster:
- clusterId: bigtableappprofile-dep1-single
zone: us-central1-a
numNodes: 3
- clusterId: bigtableappprofile-dep2-single
zone: us-west1-a
numNodes: 3