add missing pieces
This commit is contained in:
		
							parent
							
								
									f782181fd4
								
							
						
					
					
						commit
						9d8c19920c
					
				|  | @ -19,6 +19,8 @@ configTarget: "OperatorConfigurationCRD" | ||||||
| configGeneral: | configGeneral: | ||||||
|   # choose if deployment creates/updates CRDs with OpenAPIV3Validation |   # choose if deployment creates/updates CRDs with OpenAPIV3Validation | ||||||
|   enable_crd_validation: true |   enable_crd_validation: true | ||||||
|  |   # update only the statefulsets without immediately doing the rolling update | ||||||
|  |   enable_lazy_spilo_upgrade: false | ||||||
|   # start any new database pod without limitations on shm memory |   # start any new database pod without limitations on shm memory | ||||||
|   enable_shm_volume: true |   enable_shm_volume: true | ||||||
|   # etcd connection string for Patroni. Empty uses K8s-native DCS. |   # etcd connection string for Patroni. Empty uses K8s-native DCS. | ||||||
|  |  | ||||||
|  | @ -19,6 +19,8 @@ configTarget: "ConfigMap" | ||||||
| configGeneral: | configGeneral: | ||||||
|   # choose if deployment creates/updates CRDs with OpenAPIV3Validation |   # choose if deployment creates/updates CRDs with OpenAPIV3Validation | ||||||
|   enable_crd_validation: "true" |   enable_crd_validation: "true" | ||||||
|  |   # update only the statefulsets without immediately doing the rolling update | ||||||
|  |   enable_lazy_spilo_upgrade: "false" | ||||||
|   # start any new database pod without limitations on shm memory |   # start any new database pod without limitations on shm memory | ||||||
|   enable_shm_volume: "true" |   enable_shm_volume: "true" | ||||||
|   # etcd connection string for Patroni. Empty uses K8s-native DCS. |   # etcd connection string for Patroni. Empty uses K8s-native DCS. | ||||||
|  |  | ||||||
|  | @ -429,9 +429,16 @@ from numerous escape characters in the latter log entry, view it in CLI with | ||||||
| `PodTemplate` used by the operator is yet to be updated with the default values | `PodTemplate` used by the operator is yet to be updated with the default values | ||||||
| used internally in K8s. | used internally in K8s. | ||||||
| 
 | 
 | ||||||
| The operator also support lazy updates of the Spilo image. That means the pod template of a  | The operator also support lazy updates of the Spilo image. That means the pod | ||||||
| PG cluster's stateful set is updated immediately with the new image, but no rolling update follows. This feature saves you  | template of a PG cluster's stateful set is updated immediately with the new | ||||||
| a switchover - and hence downtime - when you know pods are re-started later anyway, for instance due to the node rotation. To force a rolling update, disable this mode by setting the `enable_lazy_spilo_upgrade` to `false` in the operator configuration and restart the operator pod. With the standard eager rolling updates the operator checks during Sync all pods run images specified in their respective statefulsets. The operator triggers a rolling upgrade fo PG clusters that violate this condition. | image, but no rolling update follows. This feature saves you a switchover - and | ||||||
|  | hence downtime - when you know pods are re-started later anyway, for instance | ||||||
|  | due to the node rotation. To force a rolling update, disable this mode by | ||||||
|  | setting the `enable_lazy_spilo_upgrade` to `false` in the operator configuration | ||||||
|  | and restart the operator pod. With the standard eager rolling updates the | ||||||
|  | operator checks during Sync all pods run images specified in their respective | ||||||
|  | statefulsets. The operator triggers a rolling upgrade for PG clusters that | ||||||
|  | violate this condition. | ||||||
| 
 | 
 | ||||||
| ## Logical backups | ## Logical backups | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,10 +4,10 @@ metadata: | ||||||
|   name: postgresql-operator-default-configuration |   name: postgresql-operator-default-configuration | ||||||
| configuration: | configuration: | ||||||
|   # enable_crd_validation: true |   # enable_crd_validation: true | ||||||
|   # enable_lazy_spilo_upgrade: true |   # enable_lazy_spilo_upgrade: false | ||||||
|  |   # enable_shm_volume: true | ||||||
|   etcd_host: "" |   etcd_host: "" | ||||||
|   docker_image: registry.opensource.zalan.do/acid/spilo-12:1.6-p2 |   docker_image: registry.opensource.zalan.do/acid/spilo-12:1.6-p2 | ||||||
|   # enable_shm_volume: true |  | ||||||
|   max_instances: -1 |   max_instances: -1 | ||||||
|   min_instances: -1 |   min_instances: -1 | ||||||
|   resync_period: 30m |   resync_period: 30m | ||||||
|  |  | ||||||
|  | @ -629,6 +629,9 @@ var OperatorConfigCRDResourceValidation = apiextv1beta1.CustomResourceValidation | ||||||
| 					"enable_crd_validation": { | 					"enable_crd_validation": { | ||||||
| 						Type: "boolean", | 						Type: "boolean", | ||||||
| 					}, | 					}, | ||||||
|  | 					"enable_lazy_spilo_upgrade": { | ||||||
|  | 						Type: "boolean", | ||||||
|  | 					}, | ||||||
| 					"enable_shm_volume": { | 					"enable_shm_volume": { | ||||||
| 						Type: "boolean", | 						Type: "boolean", | ||||||
| 					}, | 					}, | ||||||
|  |  | ||||||
|  | @ -65,12 +65,12 @@ type KubernetesMetaConfiguration struct { | ||||||
| 	// TODO: use a proper toleration structure?
 | 	// TODO: use a proper toleration structure?
 | ||||||
| 	PodToleration map[string]string `json:"toleration,omitempty"` | 	PodToleration map[string]string `json:"toleration,omitempty"` | ||||||
| 	// TODO: use namespacedname
 | 	// TODO: use namespacedname
 | ||||||
| 	PodEnvironmentConfigMap    string        `json:"pod_environment_configmap,omitempty"` | 	PodEnvironmentConfigMap    string   `json:"pod_environment_configmap,omitempty"` | ||||||
| 	PodPriorityClassName       string        `json:"pod_priority_class_name,omitempty"` | 	PodPriorityClassName       string   `json:"pod_priority_class_name,omitempty"` | ||||||
| 	MasterPodMoveTimeout       Duration      `json:"master_pod_move_timeout,omitempty"` | 	MasterPodMoveTimeout       Duration `json:"master_pod_move_timeout,omitempty"` | ||||||
| 	EnablePodAntiAffinity      bool          `json:"enable_pod_antiaffinity,omitempty"` | 	EnablePodAntiAffinity      bool     `json:"enable_pod_antiaffinity,omitempty"` | ||||||
| 	PodAntiAffinityTopologyKey string        `json:"pod_antiaffinity_topology_key,omitempty"` | 	PodAntiAffinityTopologyKey string   `json:"pod_antiaffinity_topology_key,omitempty"` | ||||||
| 	PodManagementPolicy        string        `json:"pod_management_policy,omitempty"` | 	PodManagementPolicy        string   `json:"pod_management_policy,omitempty"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // PostgresPodResourcesDefaults defines the spec of default resources
 | // PostgresPodResourcesDefaults defines the spec of default resources
 | ||||||
|  | @ -167,6 +167,7 @@ type OperatorLogicalBackupConfiguration struct { | ||||||
| // OperatorConfigurationData defines the operation config
 | // OperatorConfigurationData defines the operation config
 | ||||||
| type OperatorConfigurationData struct { | type OperatorConfigurationData struct { | ||||||
| 	EnableCRDValidation        *bool                              `json:"enable_crd_validation,omitempty"` | 	EnableCRDValidation        *bool                              `json:"enable_crd_validation,omitempty"` | ||||||
|  | 	EnableLazySpiloUpgrade     bool                               `json:"enable_lazy_spilo_upgrade,omitempty"` | ||||||
| 	EtcdHost                   string                             `json:"etcd_host,omitempty"` | 	EtcdHost                   string                             `json:"etcd_host,omitempty"` | ||||||
| 	DockerImage                string                             `json:"docker_image,omitempty"` | 	DockerImage                string                             `json:"docker_image,omitempty"` | ||||||
| 	Workers                    uint32                             `json:"workers,omitempty"` | 	Workers                    uint32                             `json:"workers,omitempty"` | ||||||
|  |  | ||||||
|  | @ -26,6 +26,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur | ||||||
| 
 | 
 | ||||||
| 	// general config
 | 	// general config
 | ||||||
| 	result.EnableCRDValidation = fromCRD.EnableCRDValidation | 	result.EnableCRDValidation = fromCRD.EnableCRDValidation | ||||||
|  | 	result.EnableLazySpiloUpgrade = fromCRD.EnableLazySpiloUpgrade | ||||||
| 	result.EtcdHost = fromCRD.EtcdHost | 	result.EtcdHost = fromCRD.EtcdHost | ||||||
| 	result.DockerImage = fromCRD.DockerImage | 	result.DockerImage = fromCRD.DockerImage | ||||||
| 	result.Workers = fromCRD.Workers | 	result.Workers = fromCRD.Workers | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue