Skip to content

Commit

Permalink
depends-on implementation with acm 1.11.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Mathieu Benoit committed Mar 31, 2022
1 parent 3c41176 commit 14ba194
Show file tree
Hide file tree
Showing 14 changed files with 62 additions and 15 deletions.
2 changes: 2 additions & 0 deletions content/artifact-registry/allow-artifact-registry.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ kind: IAMPolicyMember
metadata:
name: artifactregistry-admin-${GKE_PROJECT_ID}
namespace: config-control
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/config-control/IAMServiceAccount/${GKE_PROJECT_ID},resourcemanager.cnrm.cloud.google.com/namespaces/config-control/Project/${GKE_PROJECT_ID}
spec:
memberFrom:
serviceAccountRef:
Expand Down
4 changes: 3 additions & 1 deletion content/artifact-registry/set-up-artifact-registry.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ kind: IAMPolicyMember
metadata:
name: artifactregistry-reader
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/IAMServiceAccount/${GKE_SA},artifactregistry.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/ArtifactRegistryRepository/${CONTAINER_REGISTRY_NAME}
spec:
memberFrom:
serviceAccountRef:
Expand Down Expand Up @@ -117,7 +119,7 @@ getting 1 RepoSync and RootSync from krmapihost-configcontroller
│ container.cnrm.cloud.google.com │ ContainerNodePool │ primary │ acm-workshop-464-gke │
│ container.cnrm.cloud.google.com │ ContainerCluster │ gke │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubMembership │ gke-hub-membership │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ gke-acm │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ configmanagement │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeatureMembership │ gke-acm-membership │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMPolicyMember │ log-writer │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMServiceAccount │ gke-primary-pool │ acm-workshop-464-gke │
Expand Down
2 changes: 2 additions & 0 deletions content/gke-cluster/allow-gke hub.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ kind: IAMPolicyMember
metadata:
name: gke-hub-admin-${GKE_PROJECT_ID}
namespace: config-control
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/config-control/IAMServiceAccount/${GKE_PROJECT_ID},resourcemanager.cnrm.cloud.google.com/namespaces/config-control/Project/${GKE_PROJECT_ID}
spec:
memberFrom:
serviceAccountRef:
Expand Down
8 changes: 8 additions & 0 deletions content/gke-cluster/allow-gke.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ kind: IAMPolicyMember
metadata:
name: container-admin-${GKE_PROJECT_ID}
namespace: config-control
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/config-control/IAMServiceAccount/${GKE_PROJECT_ID},resourcemanager.cnrm.cloud.google.com/namespaces/config-control/Project/${GKE_PROJECT_ID}
spec:
memberFrom:
serviceAccountRef:
Expand All @@ -36,6 +38,8 @@ kind: IAMPolicyMember
metadata:
name: service-account-admin-${GKE_PROJECT_ID}
namespace: config-control
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/config-control/IAMServiceAccount/${GKE_PROJECT_ID},resourcemanager.cnrm.cloud.google.com/namespaces/config-control/Project/${GKE_PROJECT_ID}
spec:
memberFrom:
serviceAccountRef:
Expand All @@ -52,6 +56,8 @@ kind: IAMPolicyMember
metadata:
name: iam-admin-${GKE_PROJECT_ID}
namespace: config-control
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/config-control/IAMServiceAccount/${GKE_PROJECT_ID},resourcemanager.cnrm.cloud.google.com/namespaces/config-control/Project/${GKE_PROJECT_ID}
spec:
memberFrom:
serviceAccountRef:
Expand All @@ -68,6 +74,8 @@ kind: IAMPolicyMember
metadata:
name: service-account-user-${GKE_PROJECT_ID}
namespace: config-control
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/config-control/IAMServiceAccount/${GKE_PROJECT_ID},resourcemanager.cnrm.cloud.google.com/namespaces/config-control/Project/${GKE_PROJECT_ID}
spec:
memberFrom:
serviceAccountRef:
Expand Down
10 changes: 10 additions & 0 deletions content/gke-cluster/create-gke-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ kind: IAMPolicyMember
metadata:
name: log-writer
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/IAMServiceAccount/${GKE_SA}
spec:
memberFrom:
serviceAccountRef:
Expand All @@ -109,6 +111,8 @@ kind: IAMPolicyMember
metadata:
name: metric-writer
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/IAMServiceAccount/${GKE_SA}
spec:
memberFrom:
serviceAccountRef:
Expand All @@ -126,6 +130,8 @@ kind: IAMPolicyMember
metadata:
name: monitoring-viewer
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/IAMServiceAccount/${GKE_SA}
spec:
memberFrom:
serviceAccountRef:
Expand All @@ -143,6 +149,8 @@ kind: IAMPolicyMember
metadata:
name: cloudtrace-agent
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/IAMServiceAccount/${GKE_SA}
spec:
memberFrom:
serviceAccountRef:
Expand All @@ -166,6 +174,8 @@ kind: ContainerNodePool
metadata:
name: primary
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: container.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/ContainerCluster/${GKE_NAME}
spec:
clusterRef:
name: ${GKE_NAME}
Expand Down
16 changes: 11 additions & 5 deletions content/gke-cluster/set-up-gke-configs-git-repo.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ cat <<EOF > ~/$GKE_PROJECT_DIR_NAME/config-sync/gke-hub-feature-acm.yaml
apiVersion: gkehub.cnrm.cloud.google.com/v1beta1
kind: GKEHubFeature
metadata:
name: ${GKE_NAME}-acm
name: configmanagement
namespace: ${GKE_PROJECT_ID}
spec:
projectRef:
Expand All @@ -38,8 +38,10 @@ cat <<EOF > ~/$GKE_PROJECT_DIR_NAME/config-sync/gke-hub-membership.yaml
apiVersion: gkehub.cnrm.cloud.google.com/v1beta1
kind: GKEHubMembership
metadata:
name: ${GKE_NAME}-hub-membership
name: ${GKE_NAME}
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: container.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/ContainerCluster/${GKE_NAME}
spec:
location: global
authority:
Expand Down Expand Up @@ -72,14 +74,16 @@ kind: GKEHubFeatureMembership
metadata:
name: ${GKE_NAME}-acm-membership
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: gkehub.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/GKEHubMembership/${GKE_NAME},gkehub.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/GKEHubFeature/configmanagement
spec:
projectRef:
external: ${GKE_PROJECT_ID}
location: global
membershipRef:
name: ${GKE_NAME}-hub-membership
name: ${GKE_NAME}
featureRef:
name: ${GKE_NAME}-acm
name: configmanagement
configmanagement:
configSync:
sourceFormat: unstructured
Expand Down Expand Up @@ -115,6 +119,8 @@ kind: IAMPartialPolicy
metadata:
name: ${GKE_SA}-sa-cs-monitoring-wi-user
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/IAMServiceAccount/${GKE_SA}
spec:
resourceRef:
name: ${GKE_SA}
Expand Down Expand Up @@ -173,7 +179,7 @@ getting 1 RepoSync and RootSync from krmapihost-configcontroller
│ container.cnrm.cloud.google.com │ ContainerNodePool │ primary │ acm-workshop-464-gke │
│ container.cnrm.cloud.google.com │ ContainerCluster │ gke │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubMembership │ gke-hub-membership │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ gke-acm │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ configmanagement │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeatureMembership │ gke-acm-membership │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMPolicyMember │ log-writer │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMServiceAccount │ gke-primary-pool │ acm-workshop-464-gke │
Expand Down
5 changes: 5 additions & 0 deletions content/gke-project/create-gke-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ kind: IAMPartialPolicy
metadata:
name: ${GKE_PROJECT_ID}-sa-wi-user
namespace: config-control
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/config-control/IAMServiceAccount/${GKE_PROJECT_ID}
spec:
resourceRef:
name: ${GKE_PROJECT_ID}
Expand All @@ -100,6 +102,9 @@ spec:
- member: serviceAccount:${CONFIG_CONTROLLER_PROJECT_ID}.svc.id.goog[cnrm-system/cnrm-controller-manager-${GKE_PROJECT_ID}]
EOF
```
{{% notice tip %}}
You could see that we use the annotation `config.kubernetes.io/depends-on`, [since the version 1.11 of Config Management](https://cloud.google.com/anthos-config-management/docs/release-notes#March_24_2022) we could declare [resource dependencies between resource objects](https://cloud.google.com/anthos-config-management/docs/how-to/declare-resource-dependency). KCC already handles dependencies with a retry loop with backoff, which can make things with long reconcile time even longer and generate warnings or errors on these resources. With that annotation we are optimizing these behaviors. We will use this annotation as much as we can throughout this workshop.
{{% /notice %}}

## Define GKE project namespace and ConfigConnectorContext

Expand Down
2 changes: 2 additions & 0 deletions content/ingress-gateway/allow-cloud-armor.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ kind: IAMPolicyMember
metadata:
name: security-admin-${GKE_PROJECT_ID}
namespace: config-control
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/config-control/IAMServiceAccount/${GKE_PROJECT_ID},resourcemanager.cnrm.cloud.google.com/namespaces/config-control/Project/${GKE_PROJECT_ID}
spec:
memberFrom:
serviceAccountRef:
Expand Down
4 changes: 2 additions & 2 deletions content/ingress-gateway/set-up-cloud-armor.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,9 @@ getting 1 RepoSync and RootSync from krmapihost-configcontroller
│ compute.cnrm.cloud.google.com │ ComputeNetwork │ gke │ acm-workshop-464-gke │
│ container.cnrm.cloud.google.com │ ContainerNodePool │ primary │ acm-workshop-464-gke │
│ container.cnrm.cloud.google.com │ ContainerCluster │ gke │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ gke-acm │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ configmanagement │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeatureMembership │ gke-acm-membership │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ gke-asm │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ servicemesh │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubMembership │ gke-hub-membership │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMPartialPolicy │ gke-primary-pool-sa-cs-monitoring-wi-user │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMServiceAccount │ gke-primary-pool │ acm-workshop-464-gke │
Expand Down
4 changes: 2 additions & 2 deletions content/ingress-gateway/set-up-ip-address.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ getting 1 RepoSync and RootSync from krmapihost-configcontroller
│ container.cnrm.cloud.google.com │ ContainerNodePool │ primary │ acm-workshop-464-gke │
│ container.cnrm.cloud.google.com │ ContainerCluster │ gke │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubMembership │ gke-hub-membership │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ gke-asm │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ gke-acm │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ servicemesh │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ configmanagement │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeatureMembership │ gke-acm-membership │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMPolicyMember │ log-writer │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMServiceAccount │ gke-primary-pool │ acm-workshop-464-gke │
Expand Down
2 changes: 2 additions & 0 deletions content/networking/allow-networking.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ kind: IAMPolicyMember
metadata:
name: network-admin-${GKE_PROJECT_ID}
namespace: config-control
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/config-control/IAMServiceAccount/${GKE_PROJECT_ID},resourcemanager.cnrm.cloud.google.com/namespaces/config-control/Project/${GKE_PROJECT_ID}
spec:
memberFrom:
serviceAccountRef:
Expand Down
6 changes: 6 additions & 0 deletions content/networking/set-up-network.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ kind: ComputeSubnetwork
metadata:
name: ${GKE_NAME}
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: compute.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/ComputeNetwork/${GKE_NAME}
spec:
ipCidrRange: 10.2.0.0/20
region: ${GKE_LOCATION}
Expand All @@ -57,6 +59,8 @@ kind: ComputeRouter
metadata:
name: ${GKE_NAME}
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: compute.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/ComputeNetwork/${GKE_NAME}
spec:
networkRef:
name: ${GKE_NAME}
Expand All @@ -71,6 +75,8 @@ kind: ComputeRouterNAT
metadata:
name: ${GKE_NAME}
namespace: ${GKE_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: compute.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/ComputeSubnetwork/${GKE_NAME},compute.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/ComputeRouter/${GKE_NAME}
spec:
natIpAllocateOption: AUTO_ONLY
region: ${GKE_LOCATION}
Expand Down
4 changes: 2 additions & 2 deletions content/onlineboutique/set-up-memorystore.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,9 @@ getting 1 RepoSync and RootSync from krmapihost-configcontroller
│ container.cnrm.cloud.google.com │ ContainerCluster │ gke │ acm-workshop-464-gke │
│ container.cnrm.cloud.google.com │ ContainerNodePool │ primary │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeatureMembership │ gke-acm-membership │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ gke-asm │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ servicemesh │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubMembership │ gke-hub-membership │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ gke-acm │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ configmanagement │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMPolicyMember │ artifactregistry-reader │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMPolicyMember │ metric-writer │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMPartialPolicy │ gke-primary-pool-sa-cs-monitoring-wi-user │ acm-workshop-464-gke │
Expand Down
8 changes: 5 additions & 3 deletions content/service-mesh/install-asm.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ cat <<EOF > ~/$GKE_PROJECT_DIR_NAME/config-sync/gke-hub-feature-asm.yaml
apiVersion: gkehub.cnrm.cloud.google.com/v1beta1
kind: GKEHubFeature
metadata:
name: ${GKE_NAME}-asm
name: servicemesh
namespace: ${GKE_PROJECT_ID}
spec:
projectRef:
Expand Down Expand Up @@ -78,6 +78,8 @@ metadata:
namespace: istio-system
labels:
mesh.cloud.google.com/managed-cni-enabled: "true"
annotations:
config.kubernetes.io/depends-on: gkehub.cnrm.cloud.google.com/namespaces/${GKE_PROJECT_ID}/GKEHubFeature/servicemesh
spec:
type: managed_service
channel: "${ASM_CHANNEL}"
Expand Down Expand Up @@ -141,8 +143,8 @@ getting 1 RepoSync and RootSync from krmapihost-configcontroller
│ container.cnrm.cloud.google.com │ ContainerNodePool │ primary │ acm-workshop-464-gke │
│ container.cnrm.cloud.google.com │ ContainerCluster │ gke │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubMembership │ gke-hub-membership │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ gke-asm │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ gke-acm │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ servicemesh │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeature │ configmanagement │ acm-workshop-464-gke │
│ gkehub.cnrm.cloud.google.com │ GKEHubFeatureMembership │ gke-acm-membership │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMPolicyMember │ log-writer │ acm-workshop-464-gke │
│ iam.cnrm.cloud.google.com │ IAMServiceAccount │ gke-primary-pool │ acm-workshop-464-gke │
Expand Down

0 comments on commit 14ba194

Please sign in to comment.