Releases: oracle/weblogic-kubernetes-operator
Releases · oracle/weblogic-kubernetes-operator
Operator 4.0.2
- The Helm chart now supports configuring tolerations for the operator's deployment.
- Domain resource schema now supports
.spec.maxClusterUnavailable
, which is the default value for the maximum number of cluster members that can be temporarily unavailable, such as during a roll. - Resolved an issue that would prevent Model in Image domains from working correctly when Secured Production Mode is enabled.
- Pods created for WebLogic Server instances that are members of a WebLogic cluster will now include the label
weblogic.clusterObservedGeneration
specifying themetadata.generation
of the Cluster resource. This is similar to the already existingweblogic.domainObservedGeneration
label that specifies the observed generation of the Domain resource. - Schema conversion from "v8" to "v9" Domains now uses shorter name prefixes when converting "v8" style auxiliary images.
- The Helm chart specifies a more compatible
securityContext
for the operator's deployment when thekubernetesPlatform
value is "OpenShift". - The Node Manager instance running within the Pod created for each WebLogic Server instance now supports additional configuration for how often to restart WebLogic before the Pod's liveness probe fails and the Pod is recreated.
- Samples and utility scripts now support the environment variables
KUBERNETES_CLI
, which defaults tokubectl
, andWLSIMG_BUILDER
, which defaults todocker
, to make it easier to use these samples and scripts on platforms that use binaries with different names. - Resolved an issue where a "v8" Domain that used auxiliary images and also configured
logHome
could be converted to a "v9" Domain that was invalid. - Resolved an issue where Domains that had a
.spec.domainUid
that was different from the value of.metadata.name
would not start.
Operator 4.0.1
- Resolved an issue where introspection would fail because the function
wlsVersionEarlierThan
was missing.
Operator 4.0.0
Major Themes
-
Auxiliary Image simplification:
- The usage of Model in Image auxiliary images has been substantially simplified.
- In most cases, customers now need only specify the name of the auxiliary image.
-
New Cluster resource:
- The operator now provides a new custom resource, Cluster, which configures a specific WebLogic cluster and provides status information for that cluster.
- This resource can be used with Kubernetes Horizontal Pod Autoscaling (HPA) or similar technologies to scale WebLogic clusters.
-
Status and Events updates:
- The Conditions and Events generated about Domain and Cluster resources have been significantly updated.
- The operator more clearly communicates when the domain or individual clusters have reached the intended state or significant availability for your application workloads.
- Failures are distinguished between those that require customer intervention and those that are potentially temporary and will be retried.
-
Retry updates:
- The operator handling of retries after a failure have been significantly updated.
- Customers can now tune retry intervals and limits, or disable retries, on a per domain basis.
- The time of the first failure, last retry, and the expected time of the next retry can now be easily inferred from Domain resource
.status
.
-
Istio compatibility:
- Domain configurations are always compatible with Istio and other service mesh products.
- Customers are no longer required to enable this support.
Upgrade Notes
-
This release introduces a new API version for the Domain resource,
weblogic.oracle/v9
.- The previous API version,
weblogic.oracle/v8
introduced with Operator 3.0.0 is deprecated, but is still supported.
- The previous API version,
-
This release also introduces a new custom resource, the
weblogic.oracle/v1
Cluster resource.- This Cluster resource configures a specific WebLogic cluster and allows customers to scale that cluster using the Kubernetes Horizontal Pod Autoscaling (HPA) or similar technologies.
- The Cluster resource
.spec
schema is similar to and replaces the formerweblogic.oracle/v8
Domain resource.spec.clusters[*]
content. - The Cluster resource
.status
schema mirrors the content of the Domain resource.status.clusters[*]
content.
-
This release simplifies upgrading the operator.
- The operator added a schema conversion webhook.
- This webhook automates the upgrade of
weblogic.oracle/v8
Domain resources toweblogic.oracle/v9
. - Customers do not need to take any action to begin using the latest Domain schema; however, the team recommends starting with "v9" Domain resources for any new projects.
- This webhook automates the upgrade of
- Customers who install a single WebLogic Kubernetes Operator per Kubernetes cluster (most common use case) can upgrade directly from any 3.x operator release to 4.0.0. The Helm chart for 4.0.0 will automatically install the schema conversion webhook.
- For those customers who install more than one WebLogic Kubernetes Operator in a single Kubernetes cluster:
- You must upgrade every operator to at least version 3.4.1 before upgrading any operator to 4.0.0.
- As the 4.0.0 Helm chart now also installs a singleton schema conversion webhook that is shared by all 4.0.0 operators in the cluster, you will want to use the
webhookOnly
Helm chart option to install this webhook in its own namespace prior to installing any of the 4.0.0 operators, and also use thepreserveWebhook
Helm chart option with each operator to prevent an operator uninstall from uninstalling the shared webhook.
- The operator provides a utility that can be used to convert existing "v8" Domain YAML files to "v9".
- Several [Helm chart default values have been changed]({{< ref "#changes-to-operator-helm-chart-configuration-values" >}}). Customers who upgrade their 3.x installations using the
--reuse-values
option during the Helm upgrade will continue to use the values from their original installation.
- The operator added a schema conversion webhook.
Changes to domain schema
-
Model in Image auxiliary image related.
- Added
.spec.configuration.model.auxiliaryImages
for simplified configuration of auxiliary images. - Added several additional advanced settings related to auxiliary images including
.spec.configuration.model.auxiliaryImageVolumeMountPath
,.spec.configuration.model.auxiliaryImageVolumeMedium
, and.spec.configuration.model.auxiliaryImageVolumeSizeLimit
. - Removed
.spec.serverPod.auxiliaryImages
and.spec.auxiliaryImageVolumes
as part of the simplification effort.
- Added
-
Cluster changes.
- Moved content under
.spec.clusters[*]
to the new Cluster resource.spec
. - Modified
.spec.clusters[*]
to be a list of Cluster resource names. - Removed
allowReplicasBelowMinDynClusterSize
field from.spec.
and.spec.clusters[*]
as cluster minimums must now be configured through autoscaling.
- Moved content under
-
Retry and failure tuning related.
- Added
.spec.failureRetryIntervalSeconds
and.spec.failureRetryLimitMinutes
for configuration of failure retry timing. - Added
.spec.serverPod.maxReadyWaitTimeSeconds
for configuring maximum time before considering servers as stalled during startup.
- Added
-
Condition status updates.
- Added or updated Conditions to clearly reflect the current state of the domain:
- The
Completed
condition is set toTrue
when no failures are detected, plus all expected pods areready
, at their target image(s),restartVersion
, andintrospectVersion
. - The
Available
condition is set toTrue
when a sufficient number of pods areready
. This condition can beTrue
even whenCompleted
isFalse
, aFailed
condition is reported, or a cluster has up tocluster.spec.maxUnavailable
pods that are notready
. - The
Failed
condition is set toTrue
and its.message
field is updated when there is a failure.
- The
- Added
.status.conditions[*].severity
to describe the severity of conditions that represent failures or warnings. - Added fields
.status.initialFailureTime
and.status.lastFailureTime
to enable measuring how long aFailure
condition has been reported. - Removed condition
ServersReady
. Instead useAvailable
orCompleted
. - Removed condition
Progressing
. Instead:- Check
Completed
isTrue
to see when a Domain is fully up-to-date and running. - Check whether
Available
orCompleted
exist to verify that the operator has noticed the Domain resource. - If
Failed
isTrue
, then check its.message
and.severity
to see if retries have stopped.
- Check
- Added or updated Conditions to clearly reflect the current state of the domain:
-
General status updates.
- Added
.status.observedGeneration
for comparison to.metadata.generation
; if the two values match, then the status correctly reflects the status of the latest updates to the Domain resource. - Renamed
.status.lastIntrospectJobProcessedUid
to.status.failedIntrospectionUid
. - Added
.status.serverStatus[*].podReady
and.status.serverStatus[*].podPhase
with additional information about the pod associated with each WebLogic Server instance.
- Added
-
Miscellaneous changes.
- Added
.spec.logHomeLayout
for configuring the directory layout for WebLogic Server logs. - Added
.spec.serverPod.shutdown.waitForAllSessions
to enhance the configuration of server shutdown options. - Removed
.spec.configuration.istio
as this section is no longer required. - Removed previously deprecated fields
.spec.domainHomeInImage
,.spec.configOverrides
, and.spec.configOverrideSecrets
.
These have been replaced with.spec.domainHomeSourceType
,.spec.configuration.overridesConfigMap
, and.spec.configuration.secrets
. - Removed
serverStartState
field from.spec
,.spec.adminServer
,.spec.managedServers[*]
, andspec.clusters[*]
as this field is no longer needed. - Default change for
.spec.adminServer.adminChannelPortForwardingEnabled
totrue
. It previously defaulted tofalse
.
- Added
Changes to operator Helm chart configuration values
-
Changed defaults for configuration values.
- The default for
domainNamespaceSelectionStrategy
is nowLabelSelector
. It was previouslyList
. - The default for
domainNamespaceLabelSelector
is nowweblogic-operator=enabled
. It was previously unspecified. - The default for
enableClusterRoleBinding
is nowtrue
; however, this value is ignored ifdomainNamespaceSelectionStrategy
isDedicated
. It was previouslyfalse
.
- The default for
-
Removed configuration value.
- The previously deprecated value
dedicated
has been removed. Set thedomainNamespaceSelectionStrategy
toDedicated
instead.
- The previously deprecated value
-
New configuration values.
- Added value
createLogStashConfigMap
, defaulttrue
, that configures how an optional Logstash container for the operator is configured. - Added value
webhookOnly
, defaultfalse
, that specifies if this Helm release will install only the schema conversion webhook. - Added value
operatorOnly
, defaultfalse
, that specifies if this Helm release will install only the operator. - Added value `preserveWeb...
- Added value
Operator 3.4.4
- Support added to specify resource requests and limits for Monitoring Exporter sidecar containers.
- Resolved an issue that prevented the generation of the
RollCompleted
event. - Updated scaling and lifecycle scripts to work correctly when used in a cluster with the upcoming WebLogic Kubernetes Operator 4.0 release.
- Updated several dependencies, including SnakeYAML and the Oracle Linux base for the container image.
Operator 3.4.3
Operator 3.4.2
- Updated several dependencies, including the Oracle Linux base for the container image.
- Updated the default WebLogic Monitoring Exporter injection to version 2.0.7.
Operator 3.4.1
Operator 3.4.0
- Certified support for Kubernetes 1.22.5+ and 1.23.4+.
- Support for injecting Fluentd sidecar containers for WebLogic Server pods and the introspector.
- Resolved an issue where operator Services caused warnings in the Kiali console because of missing protocol designations (#2957)
- Updated multiple dependencies, including updating the default WebLogic Monitoring Exporter injection to version 2.0.5.
- Resolved issue #2794 related to restarting evicted pods (#2979).
Operator 3.3.8
- Resolved an issue where the WebLogic Server Administration Console is not accessible through port forwarding after upgrade to WebLogic Deploy Tooling (WDT) 2.0 (#2776).
- Resolved an issue where the operator would log a SEVERE message about failing to create the CRD even though the creation was successful (#2772).
- Domain resource status now correctly displays problems pulling auxiliary container images (#2681).
- Resolved an issue related to high CPU usage in the
startServer.sh
script (#2684). - Resolved issue #2685 related to an NPE while reading server health information (#2692).
- Resolved an issue related to the
create-domain.sh
sample script (#2696). - Added validation to reject domain configurations that use the same
serverNamePrefix
for multiple clusters (#2700). - Resolved an issue related to properly handling WDT archive
domainBin
directory updates (#2704). - Restricted HTTP tunneling for Istio related replication channels (#2754).