Created
          August 22, 2024 16:42 
        
      - 
      
- 
        Save mcbenjemaa/5f8a0e2f268196978e648d5abe4fc372 to your computer and use it in GitHub Desktop. 
    GCP CCM (cloud provider)
  
        
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | apiVersion: apps/v1 | |
| kind: DaemonSet | |
| metadata: | |
| name: cloud-controller-manager | |
| namespace: kube-system | |
| labels: | |
| component: cloud-controller-manager | |
| addon.kops.k8s.io/name: gcp-cloud-controller.addons.k8s.io | |
| spec: | |
| selector: | |
| matchLabels: | |
| component: cloud-controller-manager | |
| updateStrategy: | |
| type: RollingUpdate | |
| template: | |
| metadata: | |
| labels: | |
| tier: control-plane | |
| component: cloud-controller-manager | |
| spec: | |
| nodeSelector: null | |
| affinity: | |
| nodeAffinity: | |
| requiredDuringSchedulingIgnoredDuringExecution: | |
| nodeSelectorTerms: | |
| - matchExpressions: | |
| - key: node-role.kubernetes.io/control-plane | |
| operator: Exists | |
| - matchExpressions: | |
| - key: node-role.kubernetes.io/master | |
| operator: Exists | |
| tolerations: | |
| - key: node.cloudprovider.kubernetes.io/uninitialized | |
| value: "true" | |
| effect: NoSchedule | |
| - key: node.kubernetes.io/not-ready | |
| effect: NoSchedule | |
| - key: node-role.kubernetes.io/master | |
| effect: NoSchedule | |
| - key: node-role.kubernetes.io/control-plane | |
| effect: NoSchedule | |
| serviceAccountName: cloud-controller-manager | |
| containers: | |
| - name: cloud-controller-manager | |
| image: k8scloudprovidergcp/cloud-controller-manager:latest | |
| imagePullPolicy: IfNotPresent | |
| # ko puts it somewhere else... command: ['/usr/local/bin/cloud-controller-manager'] | |
| command: ['/usr/local/bin/cloud-controller-manager'] | |
| args: | |
| - --cloud-provider=gce # Add your own cloud provider here! | |
| - --leader-elect=true | |
| - --use-service-account-credentials | |
| # these flags will vary for every cloud provider | |
| - --allocate-node-cidrs=true | |
| - --configure-cloud-routes=true | |
| - --cluster-cidr=192.168.0.0/16 | |
| livenessProbe: | |
| failureThreshold: 3 | |
| httpGet: | |
| host: 127.0.0.1 | |
| path: /healthz | |
| port: 10258 | |
| scheme: HTTPS | |
| initialDelaySeconds: 15 | |
| periodSeconds: 10 | |
| successThreshold: 1 | |
| timeoutSeconds: 15 | |
| resources: | |
| requests: | |
| cpu: "200m" | |
| volumeMounts: | |
| - mountPath: /etc/kubernetes/cloud.config | |
| name: cloudconfig | |
| readOnly: true | |
| hostNetwork: true | |
| priorityClassName: system-cluster-critical | |
| volumes: | |
| - hostPath: | |
| path: /etc/kubernetes/cloud.config | |
| type: "" | |
| name: cloudconfig | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: cloud-controller-manager | |
| namespace: kube-system | |
| labels: | |
| addon.kops.k8s.io/name: gcp-cloud-controller.addons.k8s.io | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: RoleBinding | |
| metadata: | |
| name: cloud-controller-manager:apiserver-authentication-reader | |
| namespace: kube-system | |
| labels: | |
| addon.kops.k8s.io/name: gcp-cloud-controller.addons.k8s.io | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: Role | |
| name: extension-apiserver-authentication-reader | |
| subjects: | |
| - apiGroup: "" | |
| kind: ServiceAccount | |
| name: cloud-controller-manager | |
| namespace: kube-system | |
| --- | |
| # https://github.com/kubernetes/cloud-provider-gcp/blob/master/deploy/cloud-node-controller-role.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRole | |
| metadata: | |
| name: system:cloud-controller-manager | |
| labels: | |
| addonmanager.kubernetes.io/mode: Reconcile | |
| addon.kops.k8s.io/name: gcp-cloud-controller.addons.k8s.io | |
| rules: | |
| - apiGroups: | |
| - "" | |
| - events.k8s.io | |
| resources: | |
| - events | |
| verbs: | |
| - create | |
| - patch | |
| - update | |
| - apiGroups: | |
| - coordination.k8s.io | |
| resources: | |
| - leases | |
| verbs: | |
| - create | |
| - get | |
| - list | |
| - watch | |
| - update | |
| - apiGroups: | |
| - coordination.k8s.io | |
| resourceNames: | |
| - cloud-controller-manager | |
| resources: | |
| - leases | |
| verbs: | |
| - get | |
| - update | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - endpoints | |
| - serviceaccounts | |
| verbs: | |
| - create | |
| - get | |
| - update | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - nodes | |
| verbs: | |
| - get | |
| - update | |
| - patch # until #393 lands | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - namespaces | |
| verbs: | |
| - get | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - nodes/status | |
| verbs: | |
| - patch | |
| - update | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - secrets | |
| verbs: | |
| - create | |
| - delete | |
| - get | |
| - update | |
| - apiGroups: | |
| - "authentication.k8s.io" | |
| resources: | |
| - tokenreviews | |
| verbs: | |
| - create | |
| - apiGroups: | |
| - "*" | |
| resources: | |
| - "*" | |
| verbs: | |
| - list | |
| - watch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - serviceaccounts/token | |
| verbs: | |
| - create | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: Role | |
| metadata: | |
| name: system::leader-locking-cloud-controller-manager | |
| namespace: kube-system | |
| labels: | |
| addonmanager.kubernetes.io/mode: Reconcile | |
| addon.kops.k8s.io/name: gcp-cloud-controller.addons.k8s.io | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - configmaps | |
| verbs: | |
| - watch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - configmaps | |
| resourceNames: | |
| - cloud-controller-manager | |
| verbs: | |
| - get | |
| - update | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRole | |
| metadata: | |
| name: system:controller:cloud-node-controller | |
| labels: | |
| addonmanager.kubernetes.io/mode: Reconcile | |
| addon.kops.k8s.io/name: gcp-cloud-controller.addons.k8s.io | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - events | |
| verbs: | |
| - create | |
| - patch | |
| - update | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - nodes | |
| verbs: | |
| - get | |
| - list | |
| - update | |
| - delete | |
| - patch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - nodes/status | |
| verbs: | |
| - get | |
| - list | |
| - update | |
| - delete | |
| - patch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - pods | |
| verbs: | |
| - list | |
| - delete | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - pods/status | |
| verbs: | |
| - list | |
| - delete | |
| --- | |
| # https://github.com/kubernetes/cloud-provider-gcp/blob/master/deploy/cloud-node-controller-binding.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: RoleBinding | |
| metadata: | |
| name: system::leader-locking-cloud-controller-manager | |
| namespace: kube-system | |
| labels: | |
| addonmanager.kubernetes.io/mode: Reconcile | |
| addon.kops.k8s.io/name: gcp-cloud-controller.addons.k8s.io | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: Role | |
| name: system::leader-locking-cloud-controller-manager | |
| subjects: | |
| - kind: ServiceAccount | |
| name: cloud-controller-manager | |
| namespace: kube-system | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| name: system:cloud-controller-manager | |
| labels: | |
| addonmanager.kubernetes.io/mode: Reconcile | |
| addon.kops.k8s.io/name: gcp-cloud-controller.addons.k8s.io | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: system:cloud-controller-manager | |
| subjects: | |
| - kind: ServiceAccount | |
| apiGroup: "" | |
| name: cloud-controller-manager | |
| namespace: kube-system | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| name: system:controller:cloud-node-controller | |
| labels: | |
| addonmanager.kubernetes.io/mode: Reconcile | |
| addon.kops.k8s.io/name: gcp-cloud-controller.addons.k8s.io | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: system:controller:cloud-node-controller | |
| subjects: | |
| - kind: ServiceAccount | |
| name: cloud-node-controller | |
| namespace: kube-system | |
| --- | |
| # https://github.com/kubernetes/cloud-provider-gcp/blob/master/deploy/pvl-controller-role.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRole | |
| metadata: | |
| name: system:controller:pvl-controller | |
| labels: | |
| addonmanager.kubernetes.io/mode: Reconcile | |
| addon.kops.k8s.io/name: gcp-cloud-controller.addons.k8s.io | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - events | |
| verbs: | |
| - create | |
| - patch | |
| - update | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - persistentvolumeclaims | |
| - persistentvolumes | |
| verbs: | |
| - list | |
| - watch | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment