Merge pull request #3024 from rohitsakala/gke

make forward-port rancher-gke 102.0.2+up1.1.6
pull/2787/head
Sakala Venkata Krishna Rohit 2023-09-21 15:39:46 -07:00 committed by GitHub
commit 79220b05b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 469 additions and 0 deletions

View File

@ -0,0 +1,12 @@
annotations:
catalog.cattle.io/certified: rancher
catalog.cattle.io/hidden: "true"
catalog.cattle.io/namespace: cattle-system
catalog.cattle.io/os: linux
catalog.cattle.io/permits-os: linux,windows
catalog.cattle.io/release-name: rancher-gke-operator-crd
apiVersion: v2
appVersion: 1.1.6
description: GKE Operator CustomResourceDefinitions
name: rancher-gke-operator-crd
version: 102.0.2+up1.1.6

View File

@ -0,0 +1,250 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
helm.sh/resource-policy: keep
name: gkeclusterconfigs.gke.cattle.io
spec:
group: gke.cattle.io
names:
kind: GKEClusterConfig
plural: gkeclusterconfigs
shortNames:
- gkecc
singular: gkeclusterconfig
preserveUnknownFields: false
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
properties:
spec:
properties:
clusterAddons:
nullable: true
properties:
horizontalPodAutoscaling:
type: boolean
httpLoadBalancing:
type: boolean
networkPolicyConfig:
type: boolean
type: object
clusterIpv4Cidr:
nullable: true
type: string
clusterName:
nullable: true
type: string
description:
nullable: true
type: string
enableKubernetesAlpha:
nullable: true
type: boolean
googleCredentialSecret:
nullable: true
type: string
imported:
type: boolean
ipAllocationPolicy:
nullable: true
properties:
clusterIpv4CidrBlock:
nullable: true
type: string
clusterSecondaryRangeName:
nullable: true
type: string
createSubnetwork:
type: boolean
nodeIpv4CidrBlock:
nullable: true
type: string
servicesIpv4CidrBlock:
nullable: true
type: string
servicesSecondaryRangeName:
nullable: true
type: string
subnetworkName:
nullable: true
type: string
useIpAliases:
type: boolean
type: object
kubernetesVersion:
nullable: true
type: string
labels:
additionalProperties:
nullable: true
type: string
nullable: true
type: object
locations:
items:
nullable: true
type: string
nullable: true
type: array
loggingService:
nullable: true
type: string
maintenanceWindow:
nullable: true
type: string
masterAuthorizedNetworks:
nullable: true
properties:
cidrBlocks:
items:
properties:
cidrBlock:
nullable: true
type: string
displayName:
nullable: true
type: string
type: object
nullable: true
type: array
enabled:
type: boolean
type: object
monitoringService:
nullable: true
type: string
network:
nullable: true
type: string
networkPolicyEnabled:
nullable: true
type: boolean
nodePools:
items:
properties:
autoscaling:
nullable: true
properties:
enabled:
type: boolean
maxNodeCount:
type: integer
minNodeCount:
type: integer
type: object
config:
nullable: true
properties:
diskSizeGb:
type: integer
diskType:
nullable: true
type: string
imageType:
nullable: true
type: string
labels:
additionalProperties:
nullable: true
type: string
nullable: true
type: object
localSsdCount:
type: integer
machineType:
nullable: true
type: string
oauthScopes:
items:
nullable: true
type: string
nullable: true
type: array
preemptible:
type: boolean
tags:
items:
nullable: true
type: string
nullable: true
type: array
taints:
items:
properties:
effect:
nullable: true
type: string
key:
nullable: true
type: string
value:
nullable: true
type: string
type: object
nullable: true
type: array
type: object
initialNodeCount:
nullable: true
type: integer
management:
nullable: true
properties:
autoRepair:
type: boolean
autoUpgrade:
type: boolean
type: object
maxPodsConstraint:
nullable: true
type: integer
name:
nullable: true
type: string
version:
nullable: true
type: string
type: object
nullable: true
type: array
privateClusterConfig:
nullable: true
properties:
enablePrivateEndpoint:
type: boolean
enablePrivateNodes:
type: boolean
masterIpv4CidrBlock:
nullable: true
type: string
type: object
projectID:
nullable: true
type: string
region:
nullable: true
type: string
subnetwork:
nullable: true
type: string
zone:
nullable: true
type: string
type: object
status:
properties:
failureMessage:
nullable: true
type: string
phase:
nullable: true
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@ -0,0 +1,20 @@
annotations:
catalog.cattle.io/auto-install: rancher-gke-operator-crd=match
catalog.cattle.io/certified: rancher
catalog.cattle.io/hidden: "true"
catalog.cattle.io/kube-version: '>= 1.20.0-0 < 1.28.0-0'
catalog.cattle.io/namespace: cattle-system
catalog.cattle.io/os: linux
catalog.cattle.io/permits-os: linux,windows
catalog.cattle.io/provides-gvr: gkeclusterconfigs.gke.cattle.io/v1
catalog.cattle.io/rancher-version: '>= 2.7.0-0 < 2.8.0-0'
catalog.cattle.io/release-name: rancher-gke-operator
catalog.cattle.io/scope: management
apiVersion: v2
appVersion: 1.1.6
description: A Helm chart for provisioning GKE clusters
home: https://github.com/rancher/gke-operator
name: rancher-gke-operator
sources:
- https://github.com/rancher/gke-operator
version: 102.0.2+up1.1.6

View File

@ -0,0 +1,4 @@
You have deployed the Rancher GKE operator
Version: {{ .Chart.AppVersion }}
Description: This operator provisions GKE clusters
from GKEClusterConfig CRs.

View File

@ -0,0 +1,25 @@
{{/* vim: set filetype=mustache: */}}
{{- define "system_default_registry" -}}
{{- if .Values.global.cattle.systemDefaultRegistry -}}
{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
{{- else -}}
{{- "" -}}
{{- end -}}
{{- end -}}
{{/*
Windows cluster will add default taint for linux nodes,
add below linux tolerations to workloads could be scheduled to those linux nodes
*/}}
{{- define "linux-node-tolerations" -}}
- key: "cattle.io/os"
value: "linux"
effect: "NoSchedule"
operator: "Equal"
{{- end -}}
{{- define "linux-node-selector" -}}
kubernetes.io/os: linux
{{- end -}}

View File

@ -0,0 +1,15 @@
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: gke-operator
namespace: cattle-system
rules:
- apiGroups: ['']
resources: ['secrets']
verbs: ['get', 'list', 'create', 'watch']
- apiGroups: ['gke.cattle.io']
resources: ['gkeclusterconfigs']
verbs: ['get', 'list', 'update', 'watch']
- apiGroups: ['gke.cattle.io']
resources: ['gkeclusterconfigs/status']
verbs: ['update']

View File

@ -0,0 +1,13 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: gke-operator
namespace: cattle-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: gke-operator
subjects:
- kind: ServiceAccount
name: gke-operator
namespace: cattle-system

View File

@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: gke-config-operator
namespace: cattle-system
spec:
replicas: 1
selector:
matchLabels:
ke.cattle.io/operator: gke
template:
metadata:
labels:
ke.cattle.io/operator: gke
spec:
nodeSelector: {{ include "linux-node-selector" . | nindent 8 }}
{{- if .Values.nodeSelector }}
{{ toYaml .Values.nodeSelector | indent 8 }}
{{- end }}
tolerations: {{ include "linux-node-tolerations" . | nindent 8 }}
{{- if .Values.tolerations }}
{{ toYaml .Values.tolerations | indent 8 }}
{{- end }}
serviceAccountName: gke-operator
{{- if .Values.priorityClassName }}
priorityClassName: "{{.Values.priorityClassName}}"
{{- end }}
securityContext:
fsGroup: 1007
runAsUser: 1007
containers:
- name: rancher-gke-operator
image: {{ template "system_default_registry" . }}{{ .Values.gkeOperator.image.repository }}:{{ .Values.gkeOperator.image.tag }}
imagePullPolicy: IfNotPresent
env:
- name: HTTP_PROXY
value: {{ .Values.httpProxy }}
- name: HTTPS_PROXY
value: {{ .Values.httpsProxy }}
- name: NO_PROXY
value: {{ .Values.noProxy }}
{{- if .Values.additionalTrustedCAs }}
# gke-operator mounts the additional CAs in two places:
volumeMounts:
# This directory is owned by the gke-operator user so c_rehash works here.
- mountPath: /etc/rancher/ssl/ca-additional.pem
name: tls-ca-additional-volume
subPath: ca-additional.pem
readOnly: true
# This directory is root-owned so c_rehash doesn't work here,
# but the cert is here in case update-ca-certificates is called in the future or by the OS.
- mountPath: /etc/pki/trust/anchors/ca-additional.pem
name: tls-ca-additional-volume
subPath: ca-additional.pem
readOnly: true
volumes:
- name: tls-ca-additional-volume
secret:
defaultMode: 0400
secretName: tls-ca-additional
{{- end }}

View File

@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: cattle-system
name: gke-operator

View File

@ -0,0 +1,22 @@
global:
cattle:
systemDefaultRegistry: ""
gkeOperator:
image:
repository: rancher/gke-operator
tag: v1.1.6
httpProxy: ""
httpsProxy: ""
noProxy: ""
additionalTrustedCAs: false
## Node labels for pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## List of node taints to tolerate (requires Kubernetes >= 1.6)
tolerations: []
## PriorityClassName assigned to deployment.
priorityClassName: ""

View File

@ -9088,6 +9088,30 @@ entries:
urls:
- assets/rancher-gke-operator/rancher-gke-operator-103.0.1+up1.2.0-rc2.tgz
version: 103.0.1+up1.2.0-rc2
- annotations:
catalog.cattle.io/auto-install: rancher-gke-operator-crd=match
catalog.cattle.io/certified: rancher
catalog.cattle.io/hidden: "true"
catalog.cattle.io/kube-version: '>= 1.20.0-0 < 1.28.0-0'
catalog.cattle.io/namespace: cattle-system
catalog.cattle.io/os: linux
catalog.cattle.io/permits-os: linux,windows
catalog.cattle.io/provides-gvr: gkeclusterconfigs.gke.cattle.io/v1
catalog.cattle.io/rancher-version: '>= 2.7.0-0 < 2.8.0-0'
catalog.cattle.io/release-name: rancher-gke-operator
catalog.cattle.io/scope: management
apiVersion: v2
appVersion: 1.1.6
created: "2023-09-21T15:17:01.901168-07:00"
description: A Helm chart for provisioning GKE clusters
digest: da352a92ca8d66f0d44803a2cb283bc17e5b34a2fe3009183e835b789b62023c
home: https://github.com/rancher/gke-operator
name: rancher-gke-operator
sources:
- https://github.com/rancher/gke-operator
urls:
- assets/rancher-gke-operator/rancher-gke-operator-102.0.2+up1.1.6.tgz
version: 102.0.2+up1.1.6
- annotations:
catalog.cattle.io/auto-install: rancher-gke-operator-crd=match
catalog.cattle.io/certified: rancher
@ -9247,6 +9271,22 @@ entries:
urls:
- assets/rancher-gke-operator-crd/rancher-gke-operator-crd-103.0.1+up1.2.0-rc2.tgz
version: 103.0.1+up1.2.0-rc2
- annotations:
catalog.cattle.io/certified: rancher
catalog.cattle.io/hidden: "true"
catalog.cattle.io/namespace: cattle-system
catalog.cattle.io/os: linux
catalog.cattle.io/permits-os: linux,windows
catalog.cattle.io/release-name: rancher-gke-operator-crd
apiVersion: v2
appVersion: 1.1.6
created: "2023-09-21T15:17:20.913769-07:00"
description: GKE Operator CustomResourceDefinitions
digest: 4f7ceed67c8da8ba3a31832a17692de6591396293dc440170295db21e861b8e2
name: rancher-gke-operator-crd
urls:
- assets/rancher-gke-operator-crd/rancher-gke-operator-crd-102.0.2+up1.1.6.tgz
version: 102.0.2+up1.1.6
- annotations:
catalog.cattle.io/certified: rancher
catalog.cattle.io/hidden: "true"

View File

@ -35,8 +35,10 @@ rancher-aks-operator-crd:
- 102.3.2+up1.1.3
rancher-gke-operator:
- 103.0.1+up1.2.0-rc2
- 102.0.2+up1.1.6
rancher-gke-operator-crd:
- 103.0.1+up1.2.0-rc2
- 102.0.2+up1.1.6
rancher-eks-operator:
- 103.0.0+up1.3.0-rc3
- 102.1.4+up1.2.2