From b2e04345ebcfd55ef05572399e62333af8fcb648 Mon Sep 17 00:00:00 2001 From: Ryan Eberhard Date: Fri, 22 Jan 2021 14:32:32 -0500 Subject: [PATCH] Operator version 3.1.2 (#2154) * Prepare for 3.1.1 * OWLS-86552 - Fix for multiple pod restarts during rolling update. ManagedServerUpAfterStep is executed after servers in all clusters started. (#2109) * Add PR reference * patch annotation with slashes fix - from PR 2089 * Update versions and release notes * Missing files * Restore 3.1.1 chart * Clarify Docker Hub, Docker Store and remove unnecessary references to Docker * Build schema * Fix broken link * Adjust wording * Review comments Co-authored-by: Anil Kedia <37935279+ankedia@users.noreply.github.com> Co-authored-by: anthony_lai --- README.md | 6 +-- buildDockerImage.sh | 10 ++-- buildtime-reports/pom.xml | 2 +- docs-source/content/_index.md | 6 +-- .../content/developerguide/building.md | 9 ++-- .../developerguide/integration-tests.md | 2 +- docs-source/content/faq/cannot-pull-image.md | 30 ++++++------ .../content/faq/domain-secret-mismatch.md | 14 +++--- .../content/faq/namespace-management.md | 2 +- docs-source/content/faq/node-heating.md | 8 +-- .../content/quickstart/create-domain.md | 2 +- docs-source/content/quickstart/get-images.md | 15 ++---- docs-source/content/quickstart/install.md | 2 +- docs-source/content/release-notes.md | 7 ++- .../simple/azure-kubernetes-service/_index.md | 10 ++-- .../domains/domain-home-in-image/_index.md | 34 ++++++------- .../domains/domain-home-on-pv/_index.md | 12 ++--- .../simple/domains/fmw-domain/_index.md | 8 +-- .../domains/manually-create-domain/_index.md | 2 +- .../simple/domains/model-in-image/_index.md | 6 +-- .../simple/domains/model-in-image/initial.md | 10 ++-- .../domains/model-in-image/prerequisites.md | 10 ++-- .../simple/domains/model-in-image/update3.md | 6 +-- .../simple/tanzu-kubernetes-service/_index.md | 8 +-- .../domain-security/image-protection.md | 22 ++++----- docs-source/content/security/openshift.md | 4 +- docs-source/content/security/secrets.md | 4 +- docs-source/content/userguide/cicd/_index.md | 20 ++++---- .../userguide/cicd/choose-an-approach.md | 10 ++-- .../userguide/cicd/how-to-copy-domains.md | 2 +- .../content/userguide/cicd/layering.md | 16 +++--- .../userguide/cicd/mutate-the-domain-layer.md | 2 +- docs-source/content/userguide/cicd/tools.md | 4 +- .../userguide/cicd/why-layering-matters.md | 2 +- .../userguide/introduction/architecture.md | 21 ++++---- .../userguide/introduction/introduction.md | 10 ++-- .../userguide/managing-domains/_index.md | 10 ++-- .../choosing-a-model/_index.md | 8 +-- .../domain-in-image/_index.md | 4 +- .../domain-in-image/base-images/_index.md | 24 ++++----- .../domain-lifecycle/restarting.md | 8 +-- .../domain-lifecycle/scaling.md | 4 +- .../model-in-image/overview.md | 2 +- .../managing-domains/model-in-image/usage.md | 4 +- .../persistent-storage/_index.md | 2 +- .../userguide/managing-domains/prepare.md | 2 +- .../managing-fmw-domains/fmw-infra/_index.md | 31 ++++++------ .../managing-operators/installation/_index.md | 2 +- .../using-the-operator/using-helm.md | 10 ++-- .../content/userguide/overview/database.md | 4 +- docs/charts/index.yaml | 46 +++++++++++------- docs/charts/weblogic-operator-3.1.2.tgz | Bin 0 -> 11215 bytes docs/domains/Domain.json | 6 +-- docs/domains/Domain.md | 6 +-- docs/domains/index.html | 6 +-- integration-tests/pom.xml | 2 +- .../oracle/weblogic/domain/DomainSpec.java | 10 ++-- .../src/test/resources/domain/domain-260.yaml | 2 +- json-schema-maven-plugin/pom.xml | 2 +- json-schema/pom.xml | 2 +- .../charts/weblogic-operator/Chart.yaml | 4 +- .../charts/weblogic-operator/values.yaml | 10 ++-- kubernetes/crd/domain-crd.yaml | 6 +-- kubernetes/crd/domain-v1beta1-crd.yaml | 11 ++--- kubernetes/hands-on-lab/domain.yaml | 6 +-- .../tutorials/install.operator.ocishell.md | 4 +- kubernetes/pom.xml | 2 +- .../apache-samples/custom-sample/input.yaml | 2 +- .../samples/charts/apache-webtier/values.yaml | 6 +-- .../scripts/common/domain-template.yaml | 2 +- .../scripts/common/jrf-domain-template.yaml | 2 +- kubernetes/samples/scripts/common/validate.sh | 2 +- .../create-domain-inputs.yaml | 16 +++--- .../domain-home-in-image/create-domain.sh | 4 +- .../create-domain-inputs.yaml | 6 +-- .../create-docker-credentials-secret.sh | 2 +- .../create-domain-on-aks-inputs.yaml | 14 +++--- .../create-domain-on-aks.sh | 4 +- .../validate.sh | 38 +++++++-------- .../create-domain-inputs.yaml | 18 +++---- .../domain-home-in-image/create-domain.sh | 4 +- .../create-domain-inputs.yaml | 8 +-- .../manually-create-domain/domain.yaml | 4 +- .../JRF/mii-initial-d1-JRF-v1.yaml | 2 +- .../JRF/mii-update1-d1-JRF-v1-ds.yaml | 2 +- .../JRF/mii-update2-d2-JRF-v1-ds.yaml | 2 +- .../JRF/mii-update3-d1-JRF-v2-ds.yaml | 2 +- .../WLS/mii-initial-d1-WLS-v1.yaml | 2 +- .../WLS/mii-update1-d1-WLS-v1-ds.yaml | 2 +- .../WLS/mii-update2-d2-WLS-v1-ds.yaml | 2 +- .../WLS/mii-update3-d1-WLS-v2-ds.yaml | 2 +- operator/pom.xml | 2 +- .../operator/helpers/KubernetesUtils.java | 8 ++- .../operator/helpers/ServerConfig.java | 12 ++--- .../operator/wlsconfig/WlsServerConfig.java | 2 +- .../weblogic/domain/model/DomainSpec.java | 12 ++--- pom.xml | 2 +- .../introspector/util_build_mii_image.sh | 2 +- .../model-in-image/build-operator.sh | 2 +- swagger/pom.xml | 2 +- 100 files changed, 388 insertions(+), 382 deletions(-) create mode 100644 docs/charts/weblogic-operator-3.1.2.tgz diff --git a/README.md b/README.md index c47b06a4e8b..be5e2a545a0 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Oracle is finding ways for organizations using WebLogic Server to run important workloads, to move those workloads into the cloud. By certifying on industry standards, such as Docker and Kubernetes, WebLogic now runs in a cloud neutral infrastructure. In addition, we've provided an open-source Oracle WebLogic Server Kubernetes Operator (the “operator”) which has several key features to assist you with deploying and managing WebLogic domains in a Kubernetes environment. You can: * Create WebLogic domains in a Kubernetes persistent volume. This persistent volume can reside in an NFS file system or other Kubernetes volume types. -* Create a WebLogic domain in a Docker image. +* Create a WebLogic domain in a container image. * Override certain aspects of the WebLogic domain configuration. * Define WebLogic domains as a Kubernetes resource (using a Kubernetes custom resource definition). * Start servers based on declarative startup parameters and desired states. @@ -17,8 +17,8 @@ Oracle is finding ways for organizations using WebLogic Server to run important The fastest way to experience the operator is to follow the [Quick Start guide](https://oracle.github.io/weblogic-kubernetes-operator/quickstart/), or you can peruse our [documentation](https://oracle.github.io/weblogic-kubernetes-operator), read our [blogs](https://blogs.oracle.com/weblogicserver/updated-weblogic-kubernetes-support-with-operator-20), or try out the [samples](https://oracle.github.io/weblogic-kubernetes-operator/samples/). *** -The [current release of the operator](https://github.com/oracle/weblogic-kubernetes-operator/releases) is 3.1.1. -This release was published on December 17, 2020. +The [current release of the operator](https://github.com/oracle/weblogic-kubernetes-operator/releases) is 3.1.2. +This release was published on January 22, 2021. *** # Documentation diff --git a/buildDockerImage.sh b/buildDockerImage.sh index a1bf1a70030..a5e89994eaf 100755 --- a/buildDockerImage.sh +++ b/buildDockerImage.sh @@ -1,17 +1,17 @@ #!/bin/bash -# Copyright (c) 2020, Oracle Corporation and/or its affiliates. +# Copyright (c) 2020, 2021, Oracle and/or its affiliates. # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. usage() { cat << EOF Usage: buildDockerImage.sh [-t tag] -Builds a Docker Image for the Oracle WebLogic Kubernetes Operator. +Builds a container image for the Oracle WebLogic Kubernetes Operator. Parameters: -t: image name and tag in 'name:tag' format -Copyright (c) 2020, Oracle Corporation and/or its affiliates. +Copyright (c) 2020, 2021, Oracle and/or its affiliates. Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. EOF @@ -33,7 +33,7 @@ while getopts "t:" optname; do esac done -IMAGE_NAME=${name:-ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1} +IMAGE_NAME=${name:-ghcr.io/oracle/weblogic-kubernetes-operator:3.1.2} SCRIPTPATH="$( cd "$(dirname "$0")" > /dev/null 2>&1 ; pwd -P )" # Proxy settings @@ -84,5 +84,5 @@ cat << EOF EOF else - echo "WebLogic Kubernetes Operator Docker Image was NOT successfully created. Check the output and correct any reported problems with the docker build operation." + echo "WebLogic Kubernetes Operator container image was NOT successfully created. Check the output and correct any reported problems with the docker build operation." fi \ No newline at end of file diff --git a/buildtime-reports/pom.xml b/buildtime-reports/pom.xml index 10781ffd4a8..f032739efdd 100644 --- a/buildtime-reports/pom.xml +++ b/buildtime-reports/pom.xml @@ -8,7 +8,7 @@ operator-parent oracle.kubernetes - 3.1.1 + 3.1.2 buildtime-reports diff --git a/docs-source/content/_index.md b/docs-source/content/_index.md index f70c90e16f5..65da189dbea 100644 --- a/docs-source/content/_index.md +++ b/docs-source/content/_index.md @@ -3,7 +3,7 @@ Oracle is finding ways for organizations using WebLogic Server to run important workloads, to move those workloads into the cloud. By certifying on industry standards, such as Docker and Kubernetes, WebLogic now runs in a cloud neutral infrastructure. In addition, we've provided an open source Oracle WebLogic Server Kubernetes Operator (the “operator”) which has several key features to assist you with deploying and managing WebLogic domains in a Kubernetes environment. You can: * Create WebLogic domains in a Kubernetes PersistentVolume. This PersistentVolume can reside in an NFS file system or other Kubernetes volume types. -* Create a WebLogic domain in a Docker image. +* Create a WebLogic domain in a container image. * Override certain aspects of the WebLogic domain configuration. * Define WebLogic domains as a Kubernetes resource (using a Kubernetes custom resource definition). * Start servers based on declarative startup parameters and desired states. @@ -23,8 +23,8 @@ using the operator to deploy and run a WebLogic domain container-packaged web ap *** #### Current production release -The [current release of the operator](https://github.com/oracle/weblogic-kubernetes-operator/releases) is 3.1.1. -This release was published on December 17, 2020. See the operator prerequisites and supported environments [here]({{< relref "/userguide/introduction/introduction#operator-prerequisites" >}}). +The [current release of the operator](https://github.com/oracle/weblogic-kubernetes-operator/releases) is 3.1.2. +This release was published on January 22, 2021. See the operator prerequisites and supported environments [here]({{< relref "/userguide/introduction/introduction#operator-prerequisites" >}}). *** diff --git a/docs-source/content/developerguide/building.md b/docs-source/content/developerguide/building.md index d86b266dcb6..86c9722a613 100644 --- a/docs-source/content/developerguide/building.md +++ b/docs-source/content/developerguide/building.md @@ -28,13 +28,12 @@ $ mvn javadoc:aggregate The Javadoc is also available in the GitHub repository [here](https://oracle.github.io/weblogic-kubernetes-operator/apidocs/index.html). -#### Building the operator Docker image +#### Building the operator container image -Log in to the Docker Store so that you will be able to pull the base image and create the Docker image as follows. These commands should be executed in the project root directory: +These commands should be executed in the project root directory: ``` -$ docker login -$ docker build --build-arg VERSION= -t weblogic-kubernetes-operator:some-tag --no-cache=true . +$ ./buildDockerImage.sh -t weblogic-kubernetes-operator:some-tag ``` Replace `` with the version of the project found in the `pom.xml` file in the project root directory. @@ -51,7 +50,7 @@ You may need to create a directory called `/operator` on your machine. Please b #### Running the operator in a Kubernetes cluster -If you're not running Kubernetes on your development machine, you'll need to make the Docker image available to a registry visible to your Kubernetes cluster. Either `docker push` the image to a private registry or upload your image to a machine running Docker and Kubernetes as follows: +If you're not running Kubernetes on your development machine, you'll need to make the container image available to a registry visible to your Kubernetes cluster. Either `docker push` the image to a private registry or upload your image to a machine running Docker and Kubernetes as follows: ``` # on your build machine diff --git a/docs-source/content/developerguide/integration-tests.md b/docs-source/content/developerguide/integration-tests.md index 199f5d4efb7..6dca6188291 100644 --- a/docs-source/content/developerguide/integration-tests.md +++ b/docs-source/content/developerguide/integration-tests.md @@ -6,7 +6,7 @@ weight: 4 --- -The project includes integration tests that can be run against a Kubernetes cluster. If you want to use these tests, you will need to provide your own Kubernetes cluster. The Kubernetes cluster must meet the version number requirements and have Helm installed. Ensure that the operator Docker image is in a Docker registry visible to the Kubernetes cluster. +The project includes integration tests that can be run against a Kubernetes cluster. If you want to use these tests, you will need to provide your own Kubernetes cluster. The Kubernetes cluster must meet the version number requirements and have Helm installed. Ensure that the operator container image is in a Docker registry visible to the Kubernetes cluster. You will need to obtain the `kube.config` file for an administrative user and make it available on the machine running the build. To run the tests, update the `KUBECONFIG` environment variable to point to your config file and then execute: diff --git a/docs-source/content/faq/cannot-pull-image.md b/docs-source/content/faq/cannot-pull-image.md index 0448cec6be0..9dd77245492 100644 --- a/docs-source/content/faq/cannot-pull-image.md +++ b/docs-source/content/faq/cannot-pull-image.md @@ -8,7 +8,7 @@ description: "My domain will not start and I see errors like `ImagePullBackoff` > My domain will not start and I see errors like `ImagePullBackoff` or `Cannot pull image` -When you see these kinds of errors, it means that Kubernetes cannot find your Docker image. +When you see these kinds of errors, it means that Kubernetes cannot find your container image. The most common causes are: * The `image` value in your Domain is set incorrectly, meaning Kubernetes will be @@ -17,7 +17,7 @@ The most common causes are: configured Kubernetes with the necessary credentials, for example in an `imagePullSecret`. * You built the image on a machine that is not where your `kubelet` is running and Kubernetes cannot see the image, meaning you need to copy the image to the worker nodes or put it in - a Docker registry that is accessible the to all of the worker nodes. + a container registry that is accessible the to all of the worker nodes. Let's review what happens when Kubernetes starts a pod. @@ -26,7 +26,7 @@ Let's review what happens when Kubernetes starts a pod. The definition of the pod contains a list of container specifications. Each container specification contains the name (and optionally, tag) of the image that should be used to run that container. In the example above, there is a container called `c1` which is -configured to use the Docker image `some.registry.com/owner/domain1:1.0`. This image +configured to use the container image `some.registry.com/owner/domain1:1.0`. This image name is in the format `registry address / owner / name : tag`, so in this case the registry is `some.registry.com`, the owner is `owner`, the image name is `domain` and the tag is `1.0`. Tags are a lot like version numbers, but they are not required @@ -34,7 +34,7 @@ to be numbers or to be in any particular sequence or format. If you omit the ta is assumed to be `latest`. {{% notice note %}} -The Docker tag `latest` is confusing - it does not actually mean the latest version of +The tag `latest` is confusing - it does not actually mean the latest version of the image that was created or published in the registry; it just literally means whichever version the owner decided to call "latest". Docker and Kubernetes make some assumptions about latest, and it is generally recommended to avoid using it and instead @@ -42,23 +42,23 @@ specify the actual version or tag that you really want. {{% /notice %}} First, Kubernetes will check to see if the requested image is available in the local -Docker image store on whichever worker node the pod was scheduled on. If it is there, +container image store on whichever worker node the pod was scheduled on. If it is there, then it will use that image to start the container. If it is not there, then Kubernetes -will attempt to pull the image from a remote Docker registry. +will attempt to pull the image from a remote container registry. {{% notice note %}} There is another setting called `imagePullPolicy` that can be used to force Kubernetes -to always pull the image, even if it is already present in the local Docker image +to always pull the image, even if it is already present in the local container image store. {{% /notice %}} If the image is available in the remote registry and it is public, that is it does not -require authentication, then Kubernetes will pull the image to the local Docker image +require authentication, then Kubernetes will pull the image to the local container image store and start the container. #### Images that require authentication -If the remote Docker registry requires authentication, then you will need to provide +If the remote container registry requires authentication, then you will need to provide the authentication details in a Kubernetes `docker-registry` secret and tell Kubernetes to use that secret when pulling the image. @@ -76,7 +76,7 @@ kubectl create secret docker-registry secret1 \ In this command, you would replace `secret1` with the name of the secret; the `docker-server` is set to the registry name, without the `https://` prefix; the `docker-username`, `docker-password` and `docker-email` are set to match the credentials you use to authenticate to the remote -Docker registry; and the `namespace` must be set to the same namespace where you intend to +container registry; and the `namespace` must be set to the same namespace where you intend to use the image. {{% notice note %}} @@ -122,9 +122,9 @@ kubectl patch serviceaccount default \ ``` {{% notice note %}} -You can provide multiple `imagePullSecrets` if you need to pull Docker images from multiple -remote Docker registries or if your images require different authentication credentials. -For more information, see [Docker Image Protection]({{}}). +You can provide multiple `imagePullSecrets` if you need to pull container images from multiple +remote container registries or if your images require different authentication credentials. +For more information, see [Container Image Protection]({{}}). {{% /notice %}} #### Pushing the image to a repository @@ -151,8 +151,8 @@ a remote repository, then the Docker steps are: #### Manually copying the image to your worker nodes -If you are not able to use a remote Docker registry, for example if your Kubernetes cluster is -in a secure network with no external access, then you can manually copy the Docker images to the +If you are not able to use a remote container registry, for example if your Kubernetes cluster is +in a secure network with no external access, then you can manually copy the container images to the cluster instead. On the machine where you created the image, export it into a TAR file using this command: diff --git a/docs-source/content/faq/domain-secret-mismatch.md b/docs-source/content/faq/domain-secret-mismatch.md index debfa23b049..3c3d2733aa6 100644 --- a/docs-source/content/faq/domain-secret-mismatch.md +++ b/docs-source/content/faq/domain-secret-mismatch.md @@ -32,15 +32,15 @@ This can happen in a variety of ways, depending on the [domain home source type] ##### Rolling to an image containing new or unrelated domain directory -The error occurs while rolling pods have containers based on a new Docker image that contains an entirely new or unrelated domain directory. +The error occurs while rolling pods have containers based on a new container image that contains an entirely new or unrelated domain directory. The problem is that WebLogic cannot support server instances being part of the same WebLogic domain if the server instances do not all share the same domain-specific encryption key. Additionally, operator introspection currently happens only when starting servers following a total shutdown. Therefore, the `boot.properites` files generated from introspecting the image containing the original domain directory will be invalid when used with a container started with -the updated Docker image containing the new or unrelated domain directory. +the updated container image containing the new or unrelated domain directory. -The solution is to follow either the recommended [CI/CD guidelines](https://oracle.github.io/weblogic-kubernetes-operator/userguide/cicd/) so that the original and new Docker images contain domain directories +The solution is to follow either the recommended [CI/CD guidelines](https://oracle.github.io/weblogic-kubernetes-operator/userguide/cicd/) so that the original and new container images contain domain directories with consistent domain-specific encryption keys and bootstrapping security details, or to [perform a total shutdown](https://oracle.github.io/weblogic-kubernetes-operator/userguide/managing-domains/domain-lifecycle/startup/#starting-and-stopping-servers) of the domain so that introspection reoccurs as servers are restarted. @@ -48,12 +48,12 @@ that introspection reoccurs as servers are restarted. The error occurs while starting servers after a full domain shutdown. -If your development model generates new Docker images +If your development model generates new container images with new and unrelated domain directories and then tags those images with the same tag, then different Kubernetes worker nodes -may have different images under the same tag in their individual, local Docker repositories. +may have different images under the same tag in their individual, local container repositories. The simplest solution is to set `imagePullPolicy` to `Always`; however, the better solution would be to design your development -pipeline to generate new Docker image tags on every build and to never reuse an existing tag. +pipeline to generate new container image tags on every build and to never reuse an existing tag. #### Domain in PV @@ -67,4 +67,4 @@ Because all servers will already be stopped, there is no requirement that the ne the previous contents of the domain directory. When starting servers again, the operator will perform its introspection of the domain directory. However, you may want to preserve the domain directory security configuration including the domain-specific encryption key and, in that case, you should follow a similar pattern as is described in the [CI/CD guidelines](https://oracle.github.io/weblogic-kubernetes-operator/userguide/cicd/) for the domain -in a Docker image model to preserve the original security-related domain directory files. +in a container image model to preserve the original security-related domain directory files. diff --git a/docs-source/content/faq/namespace-management.md b/docs-source/content/faq/namespace-management.md index 3fdccbea10f..038031c8361 100644 --- a/docs-source/content/faq/namespace-management.md +++ b/docs-source/content/faq/namespace-management.md @@ -43,7 +43,7 @@ elkIntegrationEnabled: false externalDebugHttpPort: 30999 externalRestEnabled: false externalRestHttpsPort: 31001 -image: ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1 +image: ghcr.io/oracle/weblogic-kubernetes-operator:3.1.2 imagePullPolicy: IfNotPresent internalDebugHttpPort: 30999 istioEnabled: false diff --git a/docs-source/content/faq/node-heating.md b/docs-source/content/faq/node-heating.md index 5b838fdcc60..edf9aa86eae 100644 --- a/docs-source/content/faq/node-heating.md +++ b/docs-source/content/faq/node-heating.md @@ -3,12 +3,12 @@ title: "Node heating problem" date: 2020-06-03T08:08:19-04:00 draft: false weight: 5 -description: "The operator creates a Pod for each WebLogic Server instance that is started. The Kubernetes Scheduler then selects a Node for each Pod. Because the default scheduling algorithm gives substantial weight to selecting a Node where the necessary Docker images have already been pulled, this often results in Kubernetes running many of the Pods for WebLogic Server instances on the same Node while other Nodes are not fairly utilized. This is commonly known as the Node heating problem." +description: "The operator creates a Pod for each WebLogic Server instance that is started. The Kubernetes Scheduler then selects a Node for each Pod. Because the default scheduling algorithm gives substantial weight to selecting a Node where the necessary container images have already been pulled, this often results in Kubernetes running many of the Pods for WebLogic Server instances on the same Node while other Nodes are not fairly utilized. This is commonly known as the Node heating problem." --- -The WebLogic Server Kubernetes Operator creates a Pod for each WebLogic Server instance that is started. The [Kubernetes Scheduler](https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/) then selects a Node for each Pod. Because the default scheduling algorithm gives substantial weight to selecting a Node where the necessary Docker images have already been pulled, this often results in Kubernetes running many of the Pods for WebLogic Server instances on the same Node while other Nodes are not fairly utilized. This is commonly known as the "Node heating problem." +The WebLogic Server Kubernetes Operator creates a Pod for each WebLogic Server instance that is started. The [Kubernetes Scheduler](https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/) then selects a Node for each Pod. Because the default scheduling algorithm gives substantial weight to selecting a Node where the necessary container images have already been pulled, this often results in Kubernetes running many of the Pods for WebLogic Server instances on the same Node while other Nodes are not fairly utilized. This is commonly known as the "Node heating problem." -One solution is to ensure that all necessary Docker images are available on worker Nodes as part of node provisioning. When the necessary Docker images are available on each worker Node, the Kubernetes Scheduler will instead select a Node based on other factors such as available CPU and memory or a simple round-robin. +One solution is to ensure that all necessary container images are available on worker Nodes as part of node provisioning. When the necessary container images are available on each worker Node, the Kubernetes Scheduler will instead select a Node based on other factors such as available CPU and memory or a simple round-robin. The operator team recommends a different solution that is based on [inter-pod affinity and anti-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity). This solution has the advantage of both resolving the Node heating problem and of explicitly directing the Kubernetes Scheduler to spread the Pods for WebLogic Server instances from a given cluster or domain more widely across the available Nodes. Inter-pod affinity and anti-affinity are features of the Kubernetes Scheduler that allow the scheduler to choose a Node for a new Pod based on details of the Pods that are already running. For WebLogic Server use cases, the intent will often be for anti-affinity with the Pods for other WebLogic Server instances so that server instances spread over the available Nodes. @@ -33,7 +33,7 @@ clusters: topologyKey: "kubernetes.io/hostname" ``` -Because the `serverPod` element here is scoped to a cluster, the content of the `affinity` element will be added to the Pod generated for each WebLogic Server instance that is a member of this WebLogic cluster. This inter-pod anti-affinity statement expresses a preference that the scheduler select a Node for the new Pod avoiding, as much as possible, Nodes that already have Pods with the label "weblogic.clusterName" and the name of this cluster. Note that the `weight` is set to `100`, which is the maximum weight, so that this term will outweigh any possible preference for a Node based on availability of Docker images. +Because the `serverPod` element here is scoped to a cluster, the content of the `affinity` element will be added to the Pod generated for each WebLogic Server instance that is a member of this WebLogic cluster. This inter-pod anti-affinity statement expresses a preference that the scheduler select a Node for the new Pod avoiding, as much as possible, Nodes that already have Pods with the label "weblogic.clusterName" and the name of this cluster. Note that the `weight` is set to `100`, which is the maximum weight, so that this term will outweigh any possible preference for a Node based on availability of container images. It is possible to express many other scheduling preferences or constraints. The following example similarly expresses an anti-affinity, but changes the test to have all WebLogic Server instances in the domain prefer to run on Nodes where there is not already a Pod for a running instance: diff --git a/docs-source/content/quickstart/create-domain.md b/docs-source/content/quickstart/create-domain.md index 488dbcaad9c..c641a4576f3 100644 --- a/docs-source/content/quickstart/create-domain.md +++ b/docs-source/content/quickstart/create-domain.md @@ -25,7 +25,7 @@ weight: 6 1. Create a new image with a domain home by running the [create-domain](http://github.com/oracle/weblogic-kubernetes-operator/blob/master/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/create-domain.sh) script. First, copy the sample [create-domain-inputs.yaml](http://github.com/oracle/weblogic-kubernetes-operator/blob/master/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/create-domain-inputs.yaml) file and update your copy with: * `domainUID`: `sample-domain1` * `image`: Leave empty unless you need to tag the new image that the script builds to a different name. - For example if you are using a remote cluster that will need to pull the image from a Docker registry, + For example if you are using a remote cluster that will need to pull the image from a container registry, then you should set this value to the fully qualified image name. Note that you will need to push the image manually. * `weblogicCredentialsSecretName`: `sample-domain1-weblogic-credentials` diff --git a/docs-source/content/quickstart/get-images.md b/docs-source/content/quickstart/get-images.md index b08ffec27ba..1ddd29f5c7f 100644 --- a/docs-source/content/quickstart/get-images.md +++ b/docs-source/content/quickstart/get-images.md @@ -7,19 +7,10 @@ weight: 3 #### Get these images and put them into your local registry. -1. If you don't already have one, obtain a Docker Store account, log in to the Docker Store, -and accept the license agreement for the [WebLogic Server image](https://hub.docker.com/_/oracle-weblogic-server-12c). - -1. Log in to the Docker Store from your Docker client: - - ```bash - $ docker login - ``` - 1. Pull the operator image: ```bash - $ docker pull ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1 + $ docker pull ghcr.io/oracle/weblogic-kubernetes-operator:3.1.2 ``` 1. Pull the Traefik ingress controller image: @@ -38,8 +29,8 @@ and accept the license agreement for the [WebLogic Server image](https://hub.doc $ docker pull container-registry.oracle.com/middleware/weblogic:12.2.1.4 ``` - {{% notice note %}} The WebLogic Server Docker image, `weblogic:12.2.1.3`, has all the necessary patches applied. The WebLogic Server Docker image, `weblogic:12.2.1.4`, does not require any additional patches. + {{% notice note %}} The WebLogic Server image, `weblogic:12.2.1.3`, has all the necessary patches applied. The WebLogic Server image, `weblogic:12.2.1.4`, does not require any additional patches. {{% /notice %}} -1. Copy the image to all the nodes in your cluster, or put it in a Docker registry that your cluster can access. +1. Copy the image to all the nodes in your cluster, or put it in a container registry that your cluster can access. diff --git a/docs-source/content/quickstart/install.md b/docs-source/content/quickstart/install.md index d2d57536e35..36ac2027ab3 100644 --- a/docs-source/content/quickstart/install.md +++ b/docs-source/content/quickstart/install.md @@ -51,7 +51,7 @@ $ helm install traefik-operator traefik/traefik \ ```bash $ helm install sample-weblogic-operator kubernetes/charts/weblogic-operator \ --namespace sample-weblogic-operator-ns \ - --set image=ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1 \ + --set image=ghcr.io/oracle/weblogic-kubernetes-operator:3.1.2 \ --set serviceAccount=sample-weblogic-operator-sa \ --set "enableClusterRoleBinding=true" \ --set "domainNamespaceSelectionStrategy=LabelSelector" \ diff --git a/docs-source/content/release-notes.md b/docs-source/content/release-notes.md index 32a5071e108..84c1c880d33 100644 --- a/docs-source/content/release-notes.md +++ b/docs-source/content/release-notes.md @@ -8,6 +8,7 @@ draft: false | Date | Version | Introduces backward incompatibilities? | Change | | --- | --- | --- | --- | +| January 22, 2021 | v3.1.2 | no | Resolved an issue where the operator failed to start servers in which the pods were configured to have an annotation containing a forward slash. | | December 17, 2020 | v3.1.1 | no | Resolved an issue that caused unexpected server restarts when the domain had multiple WebLogic clusters. | | November 24, 2020 | v3.0.4 | no | This release contains a back-ported fix from 3.1.0 for Managed Server pods that do not properly restart following a rolling activity. | | November 13, 2020 | v3.1.0 | no | Enhanced options for specifying managed namespaces. Helm 3.1.3+ now required. Added support for Tanzu Kubernetes Service. | @@ -25,7 +26,7 @@ draft: false | March 4, 2019 | v2.0.1 | no | OpenShift support is now certified. Many bug fixes, including fixes for configuration overrides, cluster services, and domain status processing. | January 24, 2019 | v2.0 | yes; not compatible with 1.x releases, but is compatible with 2.0-rc2. | Final version numbers and documentation updates. | January 16, 2019 | v2.0-rc2 | yes | Schema updates are completed, and various bugs fixed. -| December 20, 2018 | v2.0-rc1 | yes | Operator is now installed using Helm charts, replacing the earlier scripts. The operator now supports the domain home on a persistent volume or in Docker image use cases, which required a redesign of the domain schema. You can override the domain configuration using configuration override templates. Now load balancers and ingresses can be independently configured. You can direct WebLogic logs to a persistent volume or to the pod's log. Added life cycle support for servers and significantly enhanced configurability for generated pods. The final v2.0 release will be the initial release where the operator team intends to provide backward compatibility as part of future releases. +| December 20, 2018 | v2.0-rc1 | yes | Operator is now installed using Helm charts, replacing the earlier scripts. The operator now supports the domain home on a persistent volume or in image use cases, which required a redesign of the domain schema. You can override the domain configuration using configuration override templates. Now load balancers and ingresses can be independently configured. You can direct WebLogic logs to a persistent volume or to the pod's log. Added life cycle support for servers and significantly enhanced configurability for generated pods. The final v2.0 release will be the initial release where the operator team intends to provide backward compatibility as part of future releases. | September 11, 2018 | v1.1 | no | Enhanced the documentation and fixed various bugs. | May 7, 2018 | v1.0 | no | Added support for dynamic clusters, the Apache HTTP Server, the Voyager Ingress Controller, and for PV in NFS storage for multi-node environments. | April 4, 2018 | 0.2 | yes | Many Kubernetes artifact names and labels have changed. Also, the names of generated YAML files for creating a domain's PV and PVC have changed. Because of these changes, customers must recreate their operators and domains. @@ -33,6 +34,10 @@ draft: false ### Change log +#### Operator 3.1.2 + +* Resolved an issue where the operator failed to start servers in which the pods were configured to have an annotation containing a forward slash ([#2089](https://github.com/oracle/weblogic-kubernetes-operator/pull/2089)). + #### Operator 3.1.1 * Resolved an issue that caused unexpected server restarts when the domain had multiple WebLogic clusters ([#2109](https://github.com/oracle/weblogic-kubernetes-operator/pull/2109)). diff --git a/docs-source/content/samples/simple/azure-kubernetes-service/_index.md b/docs-source/content/samples/simple/azure-kubernetes-service/_index.md index 398180fd6d1..4538fde860f 100644 --- a/docs-source/content/samples/simple/azure-kubernetes-service/_index.md +++ b/docs-source/content/samples/simple/azure-kubernetes-service/_index.md @@ -269,7 +269,7 @@ For example, given the service principal created above, the following values mus | `azureServicePrincipalAppId` | `nr086o75-pn59-4782-no5n-nq2op0rsr1q6` | `appId` | | `azureServicePrincipalClientSecret` | `8693089o-q190-45ps-9319-or36252s3s90` | `password` | | `azureServicePrincipalTenantId` | `72s988os-86s1-cafe-babe-2q7pq011qo47` | `tenant` | -| `dockerEmail` | `yourDockerEmail` | Your Oracle Single Sign-On (SSO) account email, used to pull the WebLogic Server Docker image from the Oracle Container Registry. | +| `dockerEmail` | `yourDockerEmail` | Your Oracle Single Sign-On (SSO) account email, used to pull the WebLogic Server image from the Oracle Container Registry. | | `dockerPassword` | `yourDockerPassword`| Your Oracle Single Sign-On (SSO) account password in clear text. | | `dockerUserName` | `yourDockerId` | The same value as `dockerEmail`. | | `namePrefix` | `0730` | Alphanumeric value used as a disambiguation prefix for several Kubernetes resources. Make sure the value matches the value of `${NAME_PREFIX}` to keep names in step-by-step commands the same with those in configuration files. | @@ -441,7 +441,7 @@ Now that we have created the AKS cluster, installed the operator, and verified t The secret domain1-weblogic-credentials has been successfully created in the default namespace. ``` -2. We will use the `kubernetes/samples/scripts/create-kuberetes-secrets/create-docker-credentials-secret.sh` script to create the Docker credentials as a Kubernetes secret. Please run: +2. We will use the `kubernetes/samples/scripts/create-kuberetes-secrets/create-docker-credentials-secret.sh` script to create the container registry credentials as a Kubernetes secret. Please run: ```bash # Please change imagePullSecretNameSuffix if you change pre-defined value "regcred" before generating the configuration files. @@ -511,7 +511,7 @@ Now that we have created the AKS cluster, installed the operator, and verified t Azure storage account: 0730storage1597391432 Azure file share: 0730-weblogic-1597391432 Kubenetes secret for Azure storage: 0730azure-secret - Kubenetes secret for Docker Account: 0730regcred + Kubenetes secret for Container Registry Account: 0730regcred Kubenetes secret for Weblogic domain: domain1-weblogic-credentials Persistent Volume: 0730-azurefile-1597391432 Persistent Volume Claim: 0730-azurefile-1597391432 @@ -807,8 +807,8 @@ For input values, you can edit `kubernetes/samples/scripts/create-weblogic-domai | `azureServicePrincipalAppId` | `nr086o75-pn59-4782-no5n-nq2op0rsr1q6` | Application ID of your service principal, refer to the application ID in the [Create Service Principal](#create-service-principal-for-aks) section. | | `azureServicePrincipalClientSecret` | `8693089o-q190-45ps-9319-or36252s3s90` | A client secret of your service principal, refer to the client secret in the [Create Service Principal](#create-service-principal-for-aks) section. | | `azureServicePrincipalTenantId` | `72s988os-86s1-cafe-babe-2q7pq011qo47` | Tenant (Directory ) ID of your service principal, refer to the client secret in the [Create Service Principal](#create-service-principal-for-aks) section. | -| `dockerEmail` | `yourDockerEmail` | Oracle Single Sign-On (SSO) account email, used to pull the WebLogic Server Docker image. | -| `dockerPassword` | `yourDockerPassword`| Password for Oracle SSO account, used to pull the WebLogic Server Docker image. In clear text. | +| `dockerEmail` | `yourDockerEmail` | Oracle Single Sign-On (SSO) account email, used to pull the WebLogic Server image. | +| `dockerPassword` | `yourDockerPassword`| Password for Oracle SSO account, used to pull the WebLogic Server image. In clear text. | | `dockerUserName` | `yourDockerId` | The same value as `dockerEmail`. | | `namePrefix` | `0730` | Alphanumeric value used as a disambiguation prefix for several Kubernetes resources. | diff --git a/docs-source/content/samples/simple/domains/domain-home-in-image/_index.md b/docs-source/content/samples/simple/domains/domain-home-in-image/_index.md index f8fea4b7d48..3eaf033903b 100644 --- a/docs-source/content/samples/simple/domains/domain-home-in-image/_index.md +++ b/docs-source/content/samples/simple/domains/domain-home-in-image/_index.md @@ -2,10 +2,10 @@ title: "Domain home in image" date: 2019-02-23T17:32:31-05:00 weight: 3 -description: "Sample for creating a WebLogic domain home inside a Docker image, and the Domain YAML file for deploying the generated WebLogic domain." +description: "Sample for creating a WebLogic domain home inside an image, and the Domain YAML file for deploying the generated WebLogic domain." --- -The sample scripts demonstrate the creation of a WebLogic domain home in a Docker image using one of the domain home in image samples in the Oracle WebLogic Docker images [GitHub project](https://github.com/oracle/docker-images/tree/master/OracleWebLogic/samples). The sample scripts have the option of putting the WebLogic domain log, server logs, server output files, and the Node Manager logs on an existing Kubernetes PersistentVolume (PV) and PersistentVolumeClaim (PVC). The scripts also generate the domain YAML file, which can then be used by the scripts or used manually to start the Kubernetes artifacts of the corresponding domain, including the WebLogic Server pods and services. +The sample scripts demonstrate the creation of a WebLogic domain home in an image using one of the domain home in image samples in the Oracle WebLogic Server images [GitHub project](https://github.com/oracle/docker-images/tree/master/OracleWebLogic/samples). The sample scripts have the option of putting the WebLogic domain log, server logs, server output files, and the Node Manager logs on an existing Kubernetes PersistentVolume (PV) and PersistentVolumeClaim (PVC). The scripts also generate the domain YAML file, which can then be used by the scripts or used manually to start the Kubernetes artifacts of the corresponding domain, including the WebLogic Server pods and services. #### Prerequisites @@ -14,7 +14,7 @@ Before you begin, read this document, [Domain resource]({{< relref "/userguide/m The following prerequisites must be met prior to running the create domain script: * The WebLogic Deploy Tooling (WDT) sample requires that `JAVA_HOME` is set to a Java JDK version 1.8 or later. -* The operator requires either Oracle WebLogic Server 12.2.1.3.0 with patch 29135930 applied, or Oracle WebLogic Server 12.2.1.4.0, or Oracle WebLogic Server 14.1.1.0.0. The existing WebLogic Docker image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3`, has all the necessary patches applied. For details on how to obtain or create the image, see [WebLogic Docker images]({{< relref "/userguide/managing-domains/domain-in-image/base-images/_index.md#creating-or-obtaining-weblogic-docker-images" >}}). +* The operator requires either Oracle WebLogic Server 12.2.1.3.0 with patch 29135930 applied, or Oracle WebLogic Server 12.2.1.4.0, or Oracle WebLogic Server 14.1.1.0.0. The existing WebLogic Server image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3`, has all the necessary patches applied. For details on how to obtain or create the image, see [WebLogic Server images]({{< relref "/userguide/managing-domains/domain-in-image/base-images/_index.md#creating-or-obtaining-weblogic-server-images" >}}). * Create a Kubernetes Namespace for the domain unless you intend to use the default namespace. * If `logHomeOnPV` is enabled, create the Kubernetes PersistentVolume where the log home will be hosted, and the Kubernetes PersistentVolumeClaim for the domain in the same Kubernetes Namespace. For samples to create a PV and PVC, see [Create sample PV and PVC]({{< relref "/samples/simple/storage/_index.md" >}}). * Create a Kubernetes Secret for the WebLogic administrator credentials that contains the fields `username` and `password`, and make sure that the secret name matches the value specified for `weblogicCredentialsSecretName`; see [Configuration parameters](#configuration-parameters) below. For example: @@ -33,7 +33,7 @@ $ create-weblogic-credentials.sh #### Use the script to create a domain {{% notice note %}} -The `create-domain.sh` script generates a new Docker image on each run with a new domain home and a different internal `domain secret` in it. To prevent having disparate images with different domain secrets in the same domain, we strongly recommend that a new domain uses a `domainUID` that is different from any of the active domains, or that you delete the existing Domain using the following command and wait until all the WebLogic Server instance Pods are terminated before you create a Domain with the same `domainUID`: +The `create-domain.sh` script generates a new container image on each run with a new domain home and a different internal `domain secret` in it. To prevent having disparate images with different domain secrets in the same domain, we strongly recommend that a new domain uses a `domainUID` that is different from any of the active domains, or that you delete the existing Domain using the following command and wait until all the WebLogic Server instance Pods are terminated before you create a Domain with the same `domainUID`: `$ kubectl delete domain [domainUID] -n [domainNamespace]` {{% /notice %}} @@ -60,16 +60,16 @@ The script will perform the following steps: * Create a properties file, `domain.properties`, in the directory that is created above. This properties file will be used to create a sample WebLogic Server domain. * Clone the WebLogic docker-images project into the directory that is derived from the `domainHomeImageBuildPath` property using `git clone https://github.com/oracle/docker-images.git`. By default, the script always cleans up the directory and clones it again on every run. You need to specify the `-k` option if you want to use a previously cloned project. Note that if the specified `domainHomeImageBuildPath` is empty, the script will still clone the project even if the `-k` option is specified. * Replace the built-in user name and password in the `properties/docker-build/domain_security.properties` file with the `username` and `password` that are supplied on the command line using the `-u` and `-p` options. These credentials need to match the WebLogic domain administrator credentials in the secret that is specified using the `weblogicCredentialsSecretName` property in the `create-domain-inputs.yaml` file. -* Build a Docker image based on the Docker sample, [Example Image with a WebLogic Server Domain using the Oracle WebLogic Scripting Tooling (WLST)](https://github.com/oracle/docker-images/tree/master/OracleWebLogic/samples/12213-domain-home-in-image) or [Example Image with a WebLogic Server Domain using the Oracle WebLogic Deploy Tooling (WDT)](https://github.com/oracle/docker-images/tree/master/OracleWebLogic/samples/12213-domain-home-in-image-wdt). It will create a sample WebLogic Server domain in the Docker image. +* Build a container image based on the Docker sample, [Example Image with a WebLogic Server Domain using the Oracle WebLogic Scripting Tooling (WLST)](https://github.com/oracle/docker-images/tree/master/OracleWebLogic/samples/12213-domain-home-in-image) or [Example Image with a WebLogic Server Domain using the Oracle WebLogic Deploy Tooling (WDT)](https://github.com/oracle/docker-images/tree/master/OracleWebLogic/samples/12213-domain-home-in-image-wdt). It will create a sample WebLogic Server domain in a container image. {{% notice warning %}} Oracle strongly recommends storing the image containing the domain home as private - in the registry (for example, Oracle Cloud Infrastructure Registry, Docker Hub, and such) because + in the registry (for example, Oracle Cloud Infrastructure Registry, GitHub Container Registry, and such) because this image contains sensitive information about the domain, including keys and credentials that are used to access external resources (for example, the data source password). For more information, see - [WebLogic domain in Docker image protection]({{}}). + [WebLogic domain in image protection]({{}}). {{% /notice %}} -* Create a tag that refers to the generated Docker image. +* Create a tag that refers to the generated image. * Create a Kubernetes domain YAML file, `domain.yaml`, in the directory that is created above. This YAML file can be used to create the Kubernetes resource using the `kubectl create -f` or `kubectl apply -f` command. ``` $ kubectl apply -f //weblogic-domains//domain.yaml @@ -86,8 +86,8 @@ $ sh create-domain.sh -h usage: create-domain.sh -o dir -i file -u username -p password [-k] [-e] [-h] -i Parameter inputs file, must be specified. -o Ouput directory for the generated properties and YAML files, must be specified. - -u User name used in building the Docker image for WebLogic domain in image. - -p Password used in building the Docker image for WebLogic domain in image. + -u User name used in building the image for WebLogic domain in image. + -p Password used in building the image for WebLogic domain in image. -e Also create the resources in the generated YAML files, optional. -v Validate the existence of persistentVolumeClaim, optional. -k Keep what has been previously cloned from https://github.com/oracle/docker-images.git, optional. @@ -112,7 +112,7 @@ If you run the sample from a machine that is remote to the Kubernetes cluster, a * If you want Kubernetes to pull the image from a private registry, create a Kubernetes Secret to hold your credentials and set the `imagePullSecretName` property in the inputs file to the name of the secret. {{% notice note %}} The Kubernetes Secret must be in the same namespace where the domain will be running. -For more information, see [WebLogic domain in Docker image protection]({{}}). +For more information, see [WebLogic domain in image protection]({{}}). {{% /notice %}} * Run the `create-domain.sh` script without the `-e` option. * Push the `image` to the target registry. @@ -136,16 +136,16 @@ The following parameters can be provided in the inputs file. | `adminServerName` | Name of the Administration Server. | `admin-server` | | `clusterName` | Name of the WebLogic cluster instance to generate for the domain. | `cluster-1` | | `configuredManagedServerCount` | Number of Managed Server instances to generate for the domain. | `5` | -| `domainHomeImageBase` | Base WebLogic binary image used to build the WebLogic domain image. The operator requires either Oracle WebLogic Server 12.2.1.3.0 with patch 29135930 applied, or Oracle WebLogic Server 12.2.1.4.0, or Oracle WebLogic Server 14.1.1.0.0. The existing WebLogic Docker image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3`, has all the necessary patches applied. For details on how to obtain or create the image, see [WebLogic Docker images]({{< relref "/userguide/managing-domains/domain-in-image/base-images/_index.md#creating-or-obtaining-weblogic-docker-images" >}}). | `container-registry.oracle.com/middleware/weblogic:12.2.1.3` | -| `domainHomeImageBuildPath` | Location of the WebLogic "domain home in image" Docker image in the `https://github.com/oracle/docker-images.git` project. If not specified, use `./docker-images/OracleWebLogic/samples/12213-domain-home-in-image`. Another possible value is `./docker-images/OracleWebLogic/samples/12213-domain-home-in-image-wdt` which uses WDT, instead of WLST, to generate the domain configuration. | `./docker-images/OracleWebLogic/samples/12213-domain-home-in-image` | +| `domainHomeImageBase` | Base WebLogic binary image used to build the WebLogic domain image. The operator requires either Oracle WebLogic Server 12.2.1.3.0 with patch 29135930 applied, or Oracle WebLogic Server 12.2.1.4.0, or Oracle WebLogic Server 14.1.1.0.0. The existing WebLogic Server image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3`, has all the necessary patches applied. For details on how to obtain or create the image, see [WebLogic Server images]({{< relref "/userguide/managing-domains/domain-in-image/base-images/_index.md#creating-or-obtaining-weblogic-server-images" >}}). | `container-registry.oracle.com/middleware/weblogic:12.2.1.3` | +| `domainHomeImageBuildPath` | Location of the WebLogic "domain home in image" image in the `https://github.com/oracle/docker-images.git` project. If not specified, use `./docker-images/OracleWebLogic/samples/12213-domain-home-in-image`. Another possible value is `./docker-images/OracleWebLogic/samples/12213-domain-home-in-image-wdt` which uses WDT, instead of WLST, to generate the domain configuration. | `./docker-images/OracleWebLogic/samples/12213-domain-home-in-image` | | `domainPVMountPath` | Mount path of the domain persistent volume. This parameter is required if `logHomeOnPV` is true. Otherwise, it is ignored. | `/shared` | | `domainUID` | Unique ID that will be used to identify this particular domain. Used as the name of the generated WebLogic domain as well as the name of the Domain. This ID must be unique across all domains in a Kubernetes cluster. This ID cannot contain any character that is not valid in a Kubernetes Service name. | `domain1` | | `exposeAdminNodePort` | Boolean indicating if the Administration Server is exposed outside of the Kubernetes cluster. | `false` | | `exposeAdminT3Channel` | Boolean indicating if the T3 administrative channel is exposed outside the Kubernetes cluster. | `false` | | `httpAccessLogInLogHome` | Boolean indicating if server HTTP access log files should be written to the same directory as `logHome` if `logHomeOnPV` is true. Otherwise, server HTTP access log files will be written to the directory specified in the WebLogic domain home configuration. | `true` | -| `image` | WebLogic Server Docker image that the operator uses to start the domain. The create domain scripts generate a WebLogic Server Docker image with a domain home in it. By default, the scripts tag the generated WebLogic Server Docker image as either `domain-home-in-image` or `domain-home-in-image-wdt` based on the `domainHomeImageBuildPath` property, and use it plus the tag that is obtained from the `domainHomeImageBase` to set the `image` element in the generated domain YAML file. If this property is set, the create domain scripts will use the value specified, instead of the default value, to tag the generated image and set the `image` in the domain YAML file. A unique value is required for each domain that is created using the scripts. If you are running the sample scripts from a machine that is remote to the Kubernetes cluster where the domain is going to be running, you need to set this property to the image name that is intended to be used in a registry local to that Kubernetes cluster. You also need to push the `image` to that registry before starting the domain using the `kubectl create -f` or `kubectl apply -f` command. | | -| `imagePullPolicy` | WebLogic Docker image pull policy. Legal values are `IfNotPresent`, `Always`, or `Never`. | `IfNotPresent` | -| `imagePullSecretName` | Name of the Kubernetes Secret to access the Docker Store to pull the WebLogic Server Docker image. The presence of the secret will be validated when this parameter is specified. | | +| `image` | WebLogic Server image that the operator uses to start the domain. The create domain scripts generate a WebLogic Server Docker image with a domain home in it. By default, the scripts tag the generated WebLogic Server Docker image as either `domain-home-in-image` or `domain-home-in-image-wdt` based on the `domainHomeImageBuildPath` property, and use it plus the tag that is obtained from the `domainHomeImageBase` to set the `image` element in the generated domain YAML file. If this property is set, the create domain scripts will use the value specified, instead of the default value, to tag the generated image and set the `image` in the domain YAML file. A unique value is required for each domain that is created using the scripts. If you are running the sample scripts from a machine that is remote to the Kubernetes cluster where the domain is going to be running, you need to set this property to the image name that is intended to be used in a registry local to that Kubernetes cluster. You also need to push the `image` to that registry before starting the domain using the `kubectl create -f` or `kubectl apply -f` command. | | +| `imagePullPolicy` | WebLogic Server image pull policy. Legal values are `IfNotPresent`, `Always`, or `Never`. | `IfNotPresent` | +| `imagePullSecretName` | Name of the Kubernetes Secret to access the container registry to pull the WebLogic Server image. The presence of the secret will be validated when this parameter is specified. | | | `includeServerOutInPodLog` | Boolean indicating whether to include the server `.out` int the pod's stdout. | `true` | | `initialManagedServerReplicas` | Number of Managed Servers to initially start for the domain. | `2` | | `javaOptions` | Java options for starting the Administration Server and Managed Servers. A Java option can have references to one or more of the following pre-defined variables to obtain WebLogic domain information: `$(DOMAIN_NAME)`, `$(DOMAIN_HOME)`, `$(ADMIN_NAME)`, `$(ADMIN_PORT)`, and `$(SERVER_NAME)`. If `sslEnabled` is set to `true` and the WebLogic demo certificate is used, add `-Dweblogic.security.SSL.ignoreHostnameVerification=true` to allow the managed servers to connect to the Administration Server while booting up. The WebLogic generated demo certificate in this environment typically contains a host name that is different from the runtime container's host name. | `-Dweblogic.StdoutDebugEnabled=false` | @@ -195,7 +195,7 @@ spec: domainHome: /u01/oracle/user_projects/domains/domain1 # Set domain home type to PersistentVolume for domain-in-pv, Image for domain-in-image, or FromModel for model-in-image domainHomeSourceType: Image - # The WebLogic Server Docker image that the operator uses to start the domain + # The WebLogic Server image that the operator uses to start the domain image: "domain-home-in-image:12.2.1.4" # imagePullPolicy defaults to "Always" if image version is :latest imagePullPolicy: "IfNotPresent" diff --git a/docs-source/content/samples/simple/domains/domain-home-on-pv/_index.md b/docs-source/content/samples/simple/domains/domain-home-on-pv/_index.md index d876a3f5a71..a15d59323be 100644 --- a/docs-source/content/samples/simple/domains/domain-home-on-pv/_index.md +++ b/docs-source/content/samples/simple/domains/domain-home-on-pv/_index.md @@ -15,7 +15,7 @@ Before you begin, read this document, [Domain resource]({{< relref "/userguide/m The following prerequisites must be met prior to running the create domain script: * Make sure the WebLogic Server Kubernetes Operator is running. -* The operator requires either Oracle WebLogic Server 12.2.1.3.0 with patch 29135930 applied, or Oracle WebLogic Server 12.2.1.4.0, or Oracle WebLogic Server 14.1.1.0.0. The existing WebLogic Docker image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3`, has all the necessary patches applied. For details on how to obtain or create the image, see [WebLogic Docker images]({{< relref "/userguide/managing-domains/domain-in-image/base-images/_index.md#creating-or-obtaining-weblogic-docker-images" >}}). +* The operator requires either Oracle WebLogic Server 12.2.1.3.0 with patch 29135930 applied, or Oracle WebLogic Server 12.2.1.4.0, or Oracle WebLogic Server 14.1.1.0.0. The existing WebLogic Server image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3`, has all the necessary patches applied. For details on how to obtain or create the image, see [WebLogic Server images]({{< relref "/userguide/managing-domains/domain-in-image/base-images/_index.md#creating-or-obtaining-weblogic-server-images" >}}). * Create a Kubernetes Namespace for the domain unless you intend to use the default namespace. * In the same Kubernetes Namespace, create the Kubernetes PersistentVolume (PV) where the domain home will be hosted, and the Kubernetes PersistentVolumeClaim (PVC) for the domain. For samples to create a PV and PVC, see [Create sample PV and PVC]({{< relref "/samples/simple/storage/_index.md" >}}). By default, the `create-domain.sh` script creates a domain with the `domainUID` set to `domain1` and expects the PVC `domain1-weblogic-sample-pvc` to be present. You can create `domain1-weblogic-sample-pvc` using [create-pv-pvc.sh](https://github.com/oracle/weblogic-kubernetes-operator/blob/master/kubernetes/samples/scripts/create-weblogic-domain-pv-pvc/create-pv-pvc.sh) with an inputs file that has the `domainUID` set to `domain1`. * Create the Kubernetes Secrets `username` and `password` of the administrative account in the same Kubernetes Namespace as the domain. @@ -32,7 +32,7 @@ the `ReadWriteMany` option. Many storage providers will create a file system on the persistent volume which is owned by the `root` user. In those cases, you will need to update the file permissions or ownership so that the `oracle` user (`uid 1000`) that is used in the standard -WebLogic Server Docker images can write to the file system in the persistent volume. +WebLogic Server images can write to the file system in the persistent volume. This sample will automatically set the owner of all files on the persistent volume to `uid 1000`. If you want to change that behavior, please edit `kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/create-domain-job-template.yaml` and edit or remove the @@ -112,9 +112,9 @@ The following parameters can be provided in the inputs file. | `exposeAdminNodePort` | Boolean indicating if the Administration Server is exposed outside of the Kubernetes cluster. | `false` | | `exposeAdminT3Channel` | Boolean indicating if the T3 administrative channel is exposed outside the Kubernetes cluster. | `false` | | `httpAccessLogInLogHome` | Boolean indicating if server HTTP access log files should be written to the same directory as `logHome`. Otherwise, server HTTP access log files will be written to the directory specified in the WebLogic domain home configuration. | `true` | -| `image` | WebLogic Docker image. The operator requires either Oracle WebLogic Server 12.2.1.3.0 with patch 29135930 applied, or Oracle WebLogic Server 12.2.1.4.0, or Oracle WebLogic Server 14.1.1.0.0. The existing WebLogic Docker image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3`, has all the necessary patches applied. For details on how to obtain or create the image, see [WebLogic Docker images]({{< relref "/userguide/managing-domains/domain-in-image/base-images/_index.md#creating-or-obtaining-weblogic-docker-images" >}}). | `container-registry.oracle.com/middleware/weblogic:12.2.1.3` | -| `imagePullPolicy` | WebLogic Docker image pull policy. Legal values are `IfNotPresent`, `Always`, or `Never` | `IfNotPresent` | -| `imagePullSecretName` | Name of the Kubernetes Secret to access the Docker Store to pull the WebLogic Server Docker image. The presence of the secret will be validated when this parameter is specified | | +| `image` | WebLogic Server image. The operator requires either Oracle WebLogic Server 12.2.1.3.0 with patch 29135930 applied, or Oracle WebLogic Server 12.2.1.4.0, or Oracle WebLogic Server 14.1.1.0.0. The existing WebLogic Docker image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3`, has all the necessary patches applied. For details on how to obtain or create the image, see [WebLogic Server images]({{< relref "/userguide/managing-domains/domain-in-image/base-images/_index.md#creating-or-obtaining-weblogic-server-images" >}}). | `container-registry.oracle.com/middleware/weblogic:12.2.1.3` | +| `imagePullPolicy` | WebLogic Server image pull policy. Legal values are `IfNotPresent`, `Always`, or `Never` | `IfNotPresent` | +| `imagePullSecretName` | Name of the Kubernetes Secret to access the container registry to pull the WebLogic Server image. The presence of the secret will be validated when this parameter is specified | | | `includeServerOutInPodLog` | Boolean indicating whether to include the server `.out` in the pod's `stdout`. | `true` | | `initialManagedServerReplicas` | Number of Managed Servers to start initially for the domain. | `2` | | `javaOptions` | Java options for starting the Administration Server and Managed Servers. A Java option can have references to one or more of the following pre-defined variables to obtain WebLogic domain information: `$(DOMAIN_NAME)`, `$(DOMAIN_HOME)`, `$(ADMIN_NAME)`, `$(ADMIN_PORT)`, and `$(SERVER_NAME)`. | `-Dweblogic.StdoutDebugEnabled=false` | @@ -162,7 +162,7 @@ spec: domainHome: /shared/domains/domain1 # Set domain home type to PersistentVolume for domain-in-pv, Image for domain-in-image, or FromModel for model-in-image domainHomeSourceType: PersistentVolume - # The WebLogic Server Docker image that the operator uses to start the domain + # The WebLogic Server image that the operator uses to start the domain image: "container-registry.oracle.com/middleware/weblogic:12.2.1.4" # imagePullPolicy defaults to "Always" if image version is :latest imagePullPolicy: "IfNotPresent" diff --git a/docs-source/content/samples/simple/domains/fmw-domain/_index.md b/docs-source/content/samples/simple/domains/fmw-domain/_index.md index 4b4b36b960d..133de87273e 100644 --- a/docs-source/content/samples/simple/domains/fmw-domain/_index.md +++ b/docs-source/content/samples/simple/domains/fmw-domain/_index.md @@ -116,9 +116,9 @@ The following parameters can be provided in the inputs file. | `exposeAdminNodePort` | Boolean indicating if the Administration Server is exposed outside of the Kubernetes cluster. | `false` | | `exposeAdminT3Channel` | Boolean indicating if the T3 administrative channel is exposed outside the Kubernetes cluster. | `false` | | `httpAccessLogInLogHome` | Boolean indicating if server HTTP access log files should be written to the same directory as `logHome`. Otherwise, server HTTP access log files will be written to the directory specified in the WebLogic domain home configuration. | `true` | -| `image` | WebLogic Docker image. The operator requires FMW Infrastructure 12.2.1.3.0 with patch 29135930 applied or FMW Infrastructure 12.2.1.4.0. For details on how to obtain or create the image, see [FMW Infrastructure domains]({{< relref "/userguide/managing-fmw-domains/fmw-infra/_index.md#obtaining-the-fmw-infrastructure-docker-image" >}}). | `container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4` | -| `imagePullPolicy` | WebLogic Docker image pull policy. Legal values are `IfNotPresent`, `Always`, or `Never`. | `IfNotPresent` | -| `imagePullSecretName` | Name of the Kubernetes Secret to access the Docker Store to pull the WebLogic Server Docker image. The presence of the secret will be validated when this parameter is specified. | | +| `image` | WebLogic Server image. The operator requires FMW Infrastructure 12.2.1.3.0 with patch 29135930 applied or FMW Infrastructure 12.2.1.4.0. For details on how to obtain or create the image, see [FMW Infrastructure domains]({{< relref "/userguide/managing-fmw-domains/fmw-infra/_index.md#obtaining-the-fmw-infrastructure-docker-image" >}}). | `container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4` | +| `imagePullPolicy` | WebLogic Server image pull policy. Legal values are `IfNotPresent`, `Always`, or `Never`. | `IfNotPresent` | +| `imagePullSecretName` | Name of the Kubernetes Secret to access the container registry to pull the WebLogic Server image. The presence of the secret will be validated when this parameter is specified. | | | `includeServerOutInPodLog` | Boolean indicating whether to include the server `.out` in the pod's `stdout`. | `true` | | `initialManagedServerReplicas` | Number of Managed Servers to start initially for the domain. | `2` | | `javaOptions` | Java options for starting the Administration Server and Managed Servers. A Java option can have references to one or more of the following pre-defined variables to obtain WebLogic domain information: `$(DOMAIN_NAME)`, `$(DOMAIN_HOME)`, `$(ADMIN_NAME)`, `$(ADMIN_PORT)`, and `$(SERVER_NAME)`. | `-Dweblogic.StdoutDebugEnabled=false` | @@ -179,7 +179,7 @@ spec: domainHome: /shared/domains/fmw-domain # Set domain home type to PersistentVolume for domain-in-pv, Image for domain-in-image, or FromModel for model-in-image domainHomeSourceType: PersistentVolume - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4" # imagePullPolicy defaults to "Always" if image version is :latest imagePullPolicy: "IfNotPresent" diff --git a/docs-source/content/samples/simple/domains/manually-create-domain/_index.md b/docs-source/content/samples/simple/domains/manually-create-domain/_index.md index a2499c8f1b9..5f6317e2560 100644 --- a/docs-source/content/samples/simple/domains/manually-create-domain/_index.md +++ b/docs-source/content/samples/simple/domains/manually-create-domain/_index.md @@ -7,7 +7,7 @@ description: "Sample for creating the domain custom resource manually." In some circumstances you may wish to manually create your domain custom resource. If you have created your own -Docker image containing your domain and the specific patches that it requires, then this approach will probably +Container image containing your domain and the specific patches that it requires, then this approach will probably be the most suitable for your needs. To create the domain custom resource, just make a copy of the sample [domain.yaml](https://github.com/oracle/weblogic-kubernetes-operator/blob/master/kubernetes/samples/scripts/create-weblogic-domain/manually-create-domain/domain.yaml) file, and then edit diff --git a/docs-source/content/samples/simple/domains/model-in-image/_index.md b/docs-source/content/samples/simple/domains/model-in-image/_index.md index 9b0ff9dc676..5b6b5fe8011 100644 --- a/docs-source/content/samples/simple/domains/model-in-image/_index.md +++ b/docs-source/content/samples/simple/domains/model-in-image/_index.md @@ -113,15 +113,15 @@ Location | Description | If you run the sample from a machine that is remote to one or more of your Kubernetes cluster worker nodes, then you need to ensure that the images you create can be accessed from any node in the cluster. -For example, if you have permission to put the image in a Docker repository that the cluster can also access, then: +For example, if you have permission to put the image in a container registry that the cluster can also access, then: - After you've created an image: - `docker tag` the image with a target image name (including the registry host name, port, repository name, and the tag, if needed). - `docker push` the tagged image to the target repository. - Before you deploy a Domain: - - Modify the Domain YAML file's `image:` value to match the Docker tag for the image in the repository. + - Modify the Domain YAML file's `image:` value to match the image tag for the image in the repository. - If the repository requires a login, then also deploy a corresponding Kubernetes `docker secret` to the same namespace that the Domain will use, and modify the Domain YAML file's `imagePullSecrets:` to reference this secret. -Alternatively, if you have access to the local Docker image cache on each worker node in the cluster, then you can use a Docker command to save the image to a file, copy the image file to each worker node, and use a `docker` command to load the image file into the node's image cache. +Alternatively, if you have access to the local image cache on each worker node in the cluster, then you can use a Docker command to save the image to a file, copy the image file to each worker node, and use a `docker` command to load the image file into the node's image cache. For more information, see the [Cannot pull image FAQ]({{}}). diff --git a/docs-source/content/samples/simple/domains/model-in-image/initial.md b/docs-source/content/samples/simple/domains/model-in-image/initial.md index c3a2d9f3daa..b06b7e5a05f 100644 --- a/docs-source/content/samples/simple/domains/model-in-image/initial.md +++ b/docs-source/content/samples/simple/domains/model-in-image/initial.md @@ -24,7 +24,7 @@ In this use case, you set up an initial WebLogic domain. This involves: - A WDT archive ZIP file that contains your applications. - A WDT model that describes your WebLogic configuration. - - A Docker image that contains your WDT model files and archive. + - A container image that contains your WDT model files and archive. - Creating secrets for the domain. - Creating a Domain YAML for the domain that references your Secrets and image. @@ -283,7 +283,7 @@ If you don't see the `imagetool` directory, then you missed a step in the [prere This command runs the WebLogic Image Tool in its Model in Image mode, and does the following: - - Builds the final Docker image as a layer on the `container-registry.oracle.com/middleware/weblogic:12.2.1.4` base image. + - Builds the final container image as a layer on the `container-registry.oracle.com/middleware/weblogic:12.2.1.4` base image. - Copies the WDT ZIP file that's referenced in the WIT cache into the image. - Note that you cached WDT in WIT using the keyword `latest` when you set up the cache during the sample prerequisites steps. - This lets WIT implicitly assume it's the desired WDT version and removes the need to pass a `-wdtVersion` flag. @@ -295,7 +295,7 @@ When the command succeeds, it should end with output like the following: [INFO ] Build successful. Build time=36s. Image tag=model-in-image:WLS-v1 ``` -Also, if you run the `docker images` command, then you will see a Docker image named `model-in-image:WLS-v1`. +Also, if you run the `docker images` command, then you will see an image named `model-in-image:WLS-v1`. > Note: If you have Kubernetes cluster worker nodes that are remote to your local machine, then you need to put the image in a location that these nodes can access. See [Ensuring your Kubernetes cluster can access images](#ensuring-your-kubernetes-cluster-can-access-images). @@ -409,7 +409,7 @@ Copy the following to a file called `/tmp/mii-sample/mii-initial.yaml` or simila # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain1 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:WLS-v1" # Defaults to "Always" if image tag (version) is ':latest' @@ -531,7 +531,7 @@ Copy the following to a file called `/tmp/mii-sample/mii-initial.yaml` or simila # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain1 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:JRF-v1" # Defaults to "Always" if image tag (version) is ':latest' diff --git a/docs-source/content/samples/simple/domains/model-in-image/prerequisites.md b/docs-source/content/samples/simple/domains/model-in-image/prerequisites.md index 9155cfbd17e..961d3be2d57 100644 --- a/docs-source/content/samples/simple/domains/model-in-image/prerequisites.md +++ b/docs-source/content/samples/simple/domains/model-in-image/prerequisites.md @@ -129,7 +129,7 @@ weight: 1 c. Select Sign In and accept the license agreement. - d. Use your terminal to log in to Docker locally: `docker login container-registry.oracle.com`. + d. Use your terminal to log in to the container registry: `docker login container-registry.oracle.com`. e. Later in this sample, when you run WebLogic Image Tool commands, the tool will use the image as a base image for creating model images. Specifically, the tool will implicitly call `docker pull` for one of the above licensed images as specified in the tool's command line using the `--fromImage` parameter. For `JRF`, this sample specifies `container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4`, and for `WLS`, the sample specifies `container-registry.oracle.com/middleware/weblogic:12.2.1.4`. @@ -137,7 +137,7 @@ weight: 1 If you prefer, you can create your own base image and then substitute this image name in the WebLogic Image Tool `--fromImage` parameter throughout this sample. For example, you may wish to start with a base image that has patches applied. See [Preparing a Base Image]({{< relref "/userguide/managing-domains/domain-in-image/base-images/_index.md" >}}). {{% /notice %}} -1. Download the latest WebLogic Deploying Tooling (WDT) and WebLogic Image Tool (WIT) installer ZIP files to your `/tmp/mii-sample/model-images` directory. Both WDT and WIT are required to create your Model in Image Docker images. +1. Download the latest WebLogic Deploying Tooling (WDT) and WebLogic Image Tool (WIT) installer ZIP files to your `/tmp/mii-sample/model-images` directory. Both WDT and WIT are required to create your Model in Image container images. For example, visit the GitHub [WebLogic Deploy Tooling Releases](https://github.com/oracle/weblogic-deploy-tooling/releases) and [WebLogic Image Tool Releases](https://github.com/oracle/weblogic-image-tool/releases) web pages to determine the latest release version for each, and then, assuming the version numbers are `1.9.1` and `1.9.1` respectively, call: @@ -219,9 +219,9 @@ A JRF domain requires an infrastructure database and requires initializing this This step is based on the steps documented in [Run a Database](https://oracle.github.io/weblogic-kubernetes-operator/userguide/overview/database/). - __NOTE__: If your Kubernetes cluster nodes do not all have access to the database image in a local Docker cache, then deploy a Kubernetes `docker secret` to the default namespace with login credentials for `container-registry.oracle.com`, and pass the name of this secret as a parameter to `start-db-service.sh` using `-s your-image-pull-secret`. Alternatively, copy the database image to each local Docker cache in the cluster. For more information, see the [Cannot pull image FAQ]({{}}). + __NOTE__: If your Kubernetes cluster nodes do not all have access to the database image in a local cache, then deploy a Kubernetes `docker secret` to the default namespace with login credentials for `container-registry.oracle.com`, and pass the name of this secret as a parameter to `start-db-service.sh` using `-s your-image-pull-secret`. Alternatively, copy the database image to each local Docker cache in the cluster. For more information, see the [Cannot pull image FAQ]({{}}). - **WARNING:** The Oracle Database Docker images are supported only for non-production use. For more details, see My Oracle Support note: Oracle Support for Database Running on Docker (Doc ID 2216342.1). + **WARNING:** The Oracle Database images are supported only for non-production use. For more details, see My Oracle Support note: Oracle Support for Database Running on Docker (Doc ID 2216342.1). 2. Use the sample script in `/tmp/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-rcu-schema` to create an RCU schema for each domain (schema prefixes `FMW1` and `FMW2`). @@ -234,7 +234,7 @@ A JRF domain requires an infrastructure database and requires initializing this $ ./create-rcu-schema.sh -s FMW2 -i container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4 ``` - __NOTE__: If your Kubernetes cluster nodes do not all have access to the FMW infrastructure image in a local Docker cache, then deploy a Kubernetes `docker secret` to the default namespace with login credentials for `container-registry.oracle.com`, and pass the name of this secret as a parameter to `./create-rcu-schema.sh` using `-p your-image-pull-secret`. Alternatively, copy the FMW infrastructure image to each local Docker cache in the cluster. For more information, see the [Cannot pull image FAQ]({{}}). + __NOTE__: If your Kubernetes cluster nodes do not all have access to the FMW infrastructure image in a local cache, then deploy a Kubernetes `docker secret` to the default namespace with login credentials for `container-registry.oracle.com`, and pass the name of this secret as a parameter to `./create-rcu-schema.sh` using `-p your-image-pull-secret`. Alternatively, copy the FMW infrastructure image to each local Docker cache in the cluster. For more information, see the [Cannot pull image FAQ]({{}}). __NOTE__: If you need to drop the repository, use this command: diff --git a/docs-source/content/samples/simple/domains/model-in-image/update3.md b/docs-source/content/samples/simple/domains/model-in-image/update3.md index fb0a5a58e4d..42078a070a0 100644 --- a/docs-source/content/samples/simple/domains/model-in-image/update3.md +++ b/docs-source/content/samples/simple/domains/model-in-image/update3.md @@ -4,7 +4,7 @@ date: 2019-02-23T17:32:31-05:00 weight: 5 --- -The Update 3 use case demonstrates deploying an updated WebLogic application to the running [Update 1]({{< relref "/samples/simple/domains/model-in-image/update1.md" >}}) use case domain using an updated Docker image. +The Update 3 use case demonstrates deploying an updated WebLogic application to the running [Update 1]({{< relref "/samples/simple/domains/model-in-image/update1.md" >}}) use case domain using an updated image. In the use case, you will: @@ -114,7 +114,7 @@ Here are the steps for this use case: If you don't see the `imagetool` directory, then you missed a step in the [prerequisites]({{< relref "/samples/simple/domains/model-in-image/prerequisites.md" >}}). This command runs the WebLogic Image Tool in its Model in Image mode, and does the following: - - Builds the final Docker image as a layer on the `container-registry.oracle.com/middleware/weblogic:12.2.1.4` base image. + - Builds the final container image as a layer on the `container-registry.oracle.com/middleware/weblogic:12.2.1.4` base image. - Copies the WDT ZIP file that's referenced in the WIT cache into the image. - Note that you cached WDT in WIT using the keyword `latest` when you set up the cache during the sample prerequisites steps. - This lets WIT implicitly assume it's the desired WDT version and removes the need to pass a `-wdtVersion` flag. @@ -126,7 +126,7 @@ Here are the steps for this use case: [INFO ] Build successful. Build time=36s. Image tag=model-in-image:WLS-v2 ``` - Also, if you run the `docker images` command, then you will see a Docker image named `model-in-image:WLS-v2`. + Also, if you run the `docker images` command, then you will see an image named `model-in-image:WLS-v2`. > **Note**: If you have Kubernetes cluster worker nodes that are remote to your local machine, then you need to put the image in a location that these nodes can access. See [Ensuring your Kubernetes cluster can access images]({{< relref "/samples/simple/domains/model-in-image/_index.md#ensuring-your-kubernetes-cluster-can-access-images" >}}). diff --git a/docs-source/content/samples/simple/tanzu-kubernetes-service/_index.md b/docs-source/content/samples/simple/tanzu-kubernetes-service/_index.md index acf8391bcd0..c76404772f7 100644 --- a/docs-source/content/samples/simple/tanzu-kubernetes-service/_index.md +++ b/docs-source/content/samples/simple/tanzu-kubernetes-service/_index.md @@ -159,7 +159,7 @@ $ cp -r /root/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-web **Note**: We will refer to this working copy of the sample as `/tmp/mii-sample`; however, you can use a different location. -Download the latest WebLogic Deploying Tooling (WDT) and WebLogic Image Tool (WIT) installer ZIP files to your `/tmp/mii-sample/model-images` directory. Both WDT and WIT are required to create your Model in Image Docker images. +Download the latest WebLogic Deploying Tooling (WDT) and WebLogic Image Tool (WIT) installer ZIP files to your `/tmp/mii-sample/model-images` directory. Both WDT and WIT are required to create your Model in Image container images. For example, visit the GitHub [WebLogic Deploy Tooling Releases](https://github.com/oracle/weblogic-deploy-tooling/releases) and [WebLogic Image Tool Releases](https://github.com/oracle/weblogic-image-tool/releases) web pages to determine the latest release version for each, and then, assuming the version numbers are `1.9.7` and `1.9.5` respectively, call: @@ -328,7 +328,7 @@ If you don’t see the `imagetool` directory, then you missed a step in the prer This command runs the WebLogic Image Tool in its Model in Image mode, and does the following: - - Builds the final Docker image as a layer on the `container-registry.oracle.com/middleware/weblogic:12.2.1.4` base image. + - Builds the final image as a layer on the `container-registry.oracle.com/middleware/weblogic:12.2.1.4` base image. - Copies the WDT ZIP file that’s referenced in the WIT cache into the image. - Note that you cached WDT in WIT using the keyword `latest` when you set up the cache during the sample prerequisites steps. - This lets WIT implicitly assume it’s the desired WDT version and removes the need to pass a `-wdtVersion` flag. @@ -340,7 +340,7 @@ When the command succeeds, it should end with output like the following: [INFO ] Build successful. Build time=36s. Image tag=model-in-image:WLS-v1 ``` -Also, if you run the `docker images` command, then you will see a Docker image named `model-in-image:WLS-v1`. +Also, if you run the `docker images` command, then you will see an image named `model-in-image:WLS-v1`. > Note: If you have Kubernetes cluster worker nodes that are remote to your local machine, then you need to put the image in a location that these nodes can access. See [Ensuring your Kubernetes cluster can access images](#ensuring-your-kubernetes-cluster-can-access-images). @@ -442,7 +442,7 @@ Copy the following to a file called `/tmp/mii-sample/mii-initial.yaml` or simila # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain1 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:WLS-v1" # Defaults to "Always" if image tag (version) is ':latest' diff --git a/docs-source/content/security/domain-security/image-protection.md b/docs-source/content/security/domain-security/image-protection.md index bdbfc870fd7..7739e5d552a 100644 --- a/docs-source/content/security/domain-security/image-protection.md +++ b/docs-source/content/security/domain-security/image-protection.md @@ -1,23 +1,23 @@ --- -title: "Docker image protection" +title: "Container image protection" date: 2019-03-08T19:00:49-05:00 weight: 1 -description: "WebLogic domain in Docker image protection" +description: "WebLogic domain in image protection" --- -#### WebLogic domain in Docker image protection +#### WebLogic domain in image protection {{% notice warning %}} -Oracle strongly recommends storing the Docker images that contain a -WebLogic domain home as private in the Docker registry. -In addition to any local registry, public Docker registries include -[Docker Hub](https://hub.docker.com/) and the +Oracle strongly recommends storing the container images that contain a +WebLogic domain home as private in the container registry. +In addition to any local registry, public container registries include +[GItHub Container Registry](https://ghcr.io/) and the [Oracle Cloud Infrastructure Registry](https://cloud.oracle.com/containers/registry) (OCIR). {{% /notice %}} -The WebLogic domain home that is part of a Docker image contains sensitive +The WebLogic domain home that is part of an image contains sensitive information about the domain including keys and credentials that are used to -access external resources (for example, the data source password). In addition, the Docker image +access external resources (for example, the data source password). In addition, the image may be used to create a running server that further exposes the WebLogic domain outside of the Kubernetes cluster. @@ -29,7 +29,7 @@ There are two main options to pull images from a private registry: ##### 1. Use `imagePullSecrets` with the `Domain` resource. -In order to access a Docker image that is protected by a private registry, the +In order to access an image that is protected by a private registry, the `imagePullSecrets` should be specified in the Kubernetes `Domain` resource definition: ``` yaml apiVersion: "weblogic.oracle/v2" @@ -66,7 +66,7 @@ the registry, see the Kubernetes documentation about ##### 2. Set up the Kubernetes `ServiceAccount` with `imagePullSecrets`. -An additional option for accessing a Docker image protected by a private registry +An additional option for accessing an image protected by a private registry is to set up the Kubernetes `ServiceAccount` in the namespace running the WebLogic domain with a set of image pull secrets thus avoiding the need to set `imagePullSecrets` for each `Domain` resource being created (because each resource diff --git a/docs-source/content/security/openshift.md b/docs-source/content/security/openshift.md index 19ea50e595c..2686f22ecbc 100644 --- a/docs-source/content/security/openshift.md +++ b/docs-source/content/security/openshift.md @@ -7,8 +7,8 @@ description: "OpenShift information for the operator" #### Security requirements to run WebLogic in OpenShift -WebLogic Server Kubernetes Operator Docker images starting with version 3.1 and -WebLogic Server Docker images obtained from Oracle Container Registry after August 2020 +WebLogic Server Kubernetes Operator images starting with version 3.1 and +WebLogic Server images obtained from Oracle Container Registry after August 2020 have an `oracle` user with UID 1000 with the default group set to `root`. Here is an excerpt from a standard WebLogic [Dockerfile](https://github.com/oracle/docker-images/blob/master/OracleWebLogic/dockerfiles/12.2.1.4/Dockerfile.generic#L89) diff --git a/docs-source/content/security/secrets.md b/docs-source/content/security/secrets.md index ccf57e7c7e1..47facda6dd0 100644 --- a/docs-source/content/security/secrets.md +++ b/docs-source/content/security/secrets.md @@ -21,7 +21,7 @@ Also, the domain credentials secret must be created in the namespace where the ` {{% notice note %}} For an example of a WebLogic Domain YAML file using `webLogicCredentialsSecret`, -see [Docker Image Protection]({{}}). +see [Container Image Protection]({{}}). {{% /notice %}} The samples supplied with the operator use a naming convention that follows @@ -76,7 +76,7 @@ in the registry. The `imagePullSecrets` setting on the `Domain` can be used to s Kubernetes `Secret` that holds the registry credentials. {{% notice info %}} -For more information, see [Docker Image Protection]({{}}). +For more information, see [Container Image Protection]({{}}). {{% /notice %}} #### Operator image pull secret diff --git a/docs-source/content/userguide/cicd/_index.md b/docs-source/content/userguide/cicd/_index.md index fdeef05a402..faf777259f0 100644 --- a/docs-source/content/userguide/cicd/_index.md +++ b/docs-source/content/userguide/cicd/_index.md @@ -9,7 +9,7 @@ draft: false ### Overview In this section, we will discuss the recommended techniques for managing the evolution -and mutation of Docker images to run WebLogic in Kubernetes. There are several +and mutation of container images to run WebLogic Server in Kubernetes. There are several approaches and techniques available, and the choice of which to use depends very much on your particular requirements. We will start with a review of the "problem space," and then talk about the considerations that would lead us to choose various @@ -18,10 +18,10 @@ CI/CD and links to examples. ### Review of the problem space -Kubernetes makes a fundamental assumption that Docker images are immutable, +Kubernetes makes a fundamental assumption that images are immutable, that they contain no state, and that updating them is as simple as throwing away a pod/container and replacing it with a new one that uses a newer version -of the Docker image. These assumptions work very well for microservices +of the image. These assumptions work very well for microservices applications, but for more traditional workloads, we need to do some extra thinking and some extra work to get the behavior we want. @@ -52,21 +52,21 @@ server to consolidate and replicate data (DataGuard). There are three common approaches on how to structure these components: * The first, "domain on a persistent volume" or Domain in PV, places the JDK and WebLogic binaries - in the Docker image, but the domain home is kept on a separate persistent storage + in the image, but the domain home is kept on a separate persistent storage outside of the image. * The second, Domain in Image, - puts the JDK, WebLogic binaries, - and the domain home all in the Docker image. - * The third approach, Model in Image, puts the JDK, WebLogic binaries, and a domain model - in the Docker image, and generates the domain home at runtime + puts the JDK, WebLogic Server binaries, + and the domain home all in the image. + * The third approach, Model in Image, puts the JDK, WebLogic Server binaries, and a domain model + in the image, and generates the domain home at runtime from the domain model. All of these approaches are perfectly valid (and fully supported) and they have various advantages and disadvantages. We have listed the [relative advantages of these approaches here]({{< relref "/userguide/managing-domains/choosing-a-model/_index.md" >}}). -One of the key differences between these approaches is how many Docker images +One of the key differences between these approaches is how many images you have, and therefore, how you build and maintain them - your image CI/CD -process. Let's take a short detour and talk about Docker image layering. +process. Let's take a short detour and talk about image layering. {{% children style="h4" description="true" %}} diff --git a/docs-source/content/userguide/cicd/choose-an-approach.md b/docs-source/content/userguide/cicd/choose-an-approach.md index 723b853d7c2..aa2b3b2e190 100644 --- a/docs-source/content/userguide/cicd/choose-an-approach.md +++ b/docs-source/content/userguide/cicd/choose-an-approach.md @@ -31,7 +31,7 @@ various approaches. We can start by asking ourselves questions like these: so on. All of these kinds of updates can be made with configuration overrides for Domain in PV and Domain in Image, and with model updates for Model in Image. These are placed in a Kubernetes ConfigMap, meaning that they are outside of the image, so - they do not require rebuilding the Docker image. If all of your changes fit into + they do not require rebuilding the image. If all of your changes fit into this category, it is probably much better to just use configuration overrides for Domain in PV and Domain in Image, and use model updates for Model in Image. @@ -40,7 +40,7 @@ various approaches. We can start by asking ourselves questions like these: configuration overrides, Model in Image model updates, and such?* If your changes fit into this category, and you have used the "domain-in-image" - approach and the Docker layering model, then you only need to update the top layer + approach and the image layering model, then you only need to update the top layer of your image. This is relatively easy compared to making changes in lower layers. You could create a new layer with the changes, or you could rebuild/replace the existing top layer with a new one. Which approach you choose depends mainly on @@ -72,8 +72,8 @@ The diagram below summarizes these concerns in a decision tree for the “domain ![Decision model for the "domain-in-image" approach](/weblogic-kubernetes-operator/images/flowchart.png) If you are using the "domain-on-PV" or "model-in-image" approach, many of these concerns become -moot because you have an effective separation between your domain and the Docker image. -There is still the possibility that an update in the Docker image could affect your domain; +moot because you have an effective separation between your domain and the image. +There is still the possibility that an update in the image could affect your domain; for example, if you updated the JDK, you may need to update some of your domain scripts to reflect the new JDK path. @@ -81,4 +81,4 @@ However, in this scenario, your environment is much closer to what you are proba to in a traditional (non-Kubernetes) environment, and you will probably find that all of the practices you used from that pre-Kubernetes environment are directly applicable here too, with just some small modifications. For example, applying a WebLogic patch would -now involve building a new Docker image. +now involve building a new image. diff --git a/docs-source/content/userguide/cicd/how-to-copy-domains.md b/docs-source/content/userguide/cicd/how-to-copy-domains.md index 322fea7cb70..7747d03c57c 100644 --- a/docs-source/content/userguide/cicd/how-to-copy-domains.md +++ b/docs-source/content/userguide/cicd/how-to-copy-domains.md @@ -36,7 +36,7 @@ to that domain using tools like WDT or WLST (see [here]({{< relref "/userguide/c > **Always use external state.** -You should always keep state outside the Docker image. This means that you should +You should always keep state outside the image. This means that you should use JDBC stores for leasing tables, JMS and Transaction stores, EJB timers, JMS queues, and so on. This ensures that data will not be lost when a container is destroyed. diff --git a/docs-source/content/userguide/cicd/layering.md b/docs-source/content/userguide/cicd/layering.md index 2ff4f233cfb..a86a11dd73a 100644 --- a/docs-source/content/userguide/cicd/layering.md +++ b/docs-source/content/userguide/cicd/layering.md @@ -1,23 +1,23 @@ --- -title: "Docker image layering" +title: "Container image layering" date: 2019-04-11T13:15:32-04:00 weight: 1 draft: false -description: "Learn about Docker image layering and why it is important." +description: "Learn about Container image layering and why it is important." --- -Docker images are composed of layers, as shown in the diagram below. If you download +Container images are composed of layers, as shown in the diagram below. If you download the standard `weblogic:12.2.1.4` image from the [Oracle Container Registry](https://container-registry.oracle.com), then you can see these layers using the command `docker inspect container-registry.oracle.com/middleware/weblogic:12.2.1.4` (the domain layer will not be there). You are not required to use layers, but efficient use of layers is considered a best practice. -![Docker image layers](/weblogic-kubernetes-operator/images/layers.png) +![Container image layers](/weblogic-kubernetes-operator/images/layers.png) #### Why is it important to maintain the layering of images? -Layering is an important technique in Docker images. Layers are important because they +Layering is an important technique in container images. Layers are important because they are shared between images. Let's consider an example. In the diagram below, we have two domains that we have built using layers. The second domain has some additional patches that we needed on top of those provided in the standard WebLogic image. Those @@ -27,18 +27,18 @@ layer on top of that. Let's assume we have a three-node Kubernetes cluster and we are running both domains in this cluster. Sooner or later, we will end up with servers in each domain running on each node, so eventually all of the image layers are going to be needed on all of -the nodes. Using the approach shown below (that is, standard Docker layering techniques) +the nodes. Using the approach shown below (that is, standard image layering techniques) we are going to need to store all six of these layers on each node. If you add up the sizes, then you will see that it comes out to about 1.5GB per node. -![Docker images with layers](/weblogic-kubernetes-operator/images/more-layers.png) +![Container images with layers](/weblogic-kubernetes-operator/images/more-layers.png) Now, let's consider the alternative, where we do not use layers, but instead, build images for each domain and put everything in one big layer (this is often called "squashing" the layers). In this case, we have the same content, but if you add up the size of the images, you get 2.9GB per node. That’s almost twice the size! -![Docker images without layers](/weblogic-kubernetes-operator/images/no-layers.png) +![Container images without layers](/weblogic-kubernetes-operator/images/no-layers.png) With only two domains, you start to see the problem. In the layered approach, each new domain is adding only a relatively very small increment. In the non-layered diff --git a/docs-source/content/userguide/cicd/mutate-the-domain-layer.md b/docs-source/content/userguide/cicd/mutate-the-domain-layer.md index f136d2bcbda..89ce8a1ca29 100644 --- a/docs-source/content/userguide/cicd/mutate-the-domain-layer.md +++ b/docs-source/content/userguide/cicd/mutate-the-domain-layer.md @@ -30,7 +30,7 @@ changes up to that point. Said another way, each build would start with t=0 as the base image and extend it. This eliminates the need to keep each intermediate state, and would also likely have benefits when you remove things from the domain, because you would not have -"lost" ("whited out" is the Docker layer term) space in the intermediate layers. +"lost" ("whited out" is the image layer term) space in the intermediate layers. Although, these layers tend to be relatively small, so this is possibly not a big issue. ![Rebuilding from a primordial state](/weblogic-kubernetes-operator/images/primordial.png) diff --git a/docs-source/content/userguide/cicd/tools.md b/docs-source/content/userguide/cicd/tools.md index 926ef331766..d7c357039b2 100644 --- a/docs-source/content/userguide/cicd/tools.md +++ b/docs-source/content/userguide/cicd/tools.md @@ -42,9 +42,9 @@ Other than the tools themselves, there are three components to the WDT tools: #### WDT Create Domain Samples -- (Docker) A sample for creating a domain in a Docker image with WDT can be found +- (Docker) A sample for creating a domain in a container image with WDT can be found [here](https://github.com/oracle/weblogic-deploy-tooling/tree/master/samples/docker-domain). -- (Kubernetes) A similar sample of creating a domain in a Docker image with WDT +- (Kubernetes) A similar sample of creating a domain in an image with WDT can be found in the WebLogic Server Kubernetes Operator project for creating a [domain-in-image with WDT](https://oracle.github.io/weblogic-kubernetes-operator/samples/simple/domains/domain-home-in-image/). - (Kubernetes) A [Model in Image sample]({{< relref "/samples/simple/domains/model-in-image/_index.md" >}}) diff --git a/docs-source/content/userguide/cicd/why-layering-matters.md b/docs-source/content/userguide/cicd/why-layering-matters.md index d33547b3355..ad4c8ca10d1 100644 --- a/docs-source/content/userguide/cicd/why-layering-matters.md +++ b/docs-source/content/userguide/cicd/why-layering-matters.md @@ -3,7 +3,7 @@ title: "Why layering matters" date: 2019-04-11T13:27:58-04:00 draft: false weight: 2 -description: "Learn why Docker image layering affects CI/CD processes." +description: "Learn why container image layering affects CI/CD processes." --- diff --git a/docs-source/content/userguide/introduction/architecture.md b/docs-source/content/userguide/introduction/architecture.md index 1712071332f..fbfc2526c01 100644 --- a/docs-source/content/userguide/introduction/architecture.md +++ b/docs-source/content/userguide/introduction/architecture.md @@ -8,17 +8,16 @@ description: "The operator consists of several parts: the operator runtime, the The operator consists of the following parts: -* The operator runtime, a process that runs in a Docker container deployed into a Kubernetes Pod and which performs the actual management tasks. +* The operator runtime, a process that runs in a container deployed into a Kubernetes Pod and which performs the actual management tasks. * The model for a Kubernetes custom resource definition (CRD) that when installed in a Kubernetes cluster allows the Kubernetes API server to manage instances of this new type representing the operational details and status of WebLogic domains. -* A Helm chart for installing the operator runtime and related resources. +* A Helm chart for installing the operator runtime and related resources. * A variety of sample shell scripts for preparing or packaging WebLogic domains for running in Kubernetes. * A variety of sample Helm charts or shell scripts for conditionally exposing WebLogic endpoints outside the Kubernetes cluster. -The operator is packaged in a [Docker image](https://hub.docker.com/r/oracle/weblogic-kubernetes-operator/) which you can access using the following `docker pull` commands: +The operator is packaged in a [container image](https://github.com/orgs/oracle/packages/container/package/weblogic-kubernetes-operator) which you can access using the following `docker pull` commands: ``` -$ docker login -$ docker pull ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1 +$ docker pull ghcr.io/oracle/weblogic-kubernetes-operator:3.1.2 ``` For more details on acquiring the operator image and prerequisites for installing the operator, consult the [Quick Start guide]({{< relref "/quickstart/_index.md" >}}). @@ -60,7 +59,7 @@ The diagram below shows the components inside the containers running WebLogic Se ![Inside a container](/weblogic-kubernetes-operator/images/inside-a-container.png) -The Domain specifies a container image, defaulting to `container-registry.oracle.com/middleware/weblogic:12.2.1.4`. All containers running WebLogic Server use this same Docker image. Depending on the use case, this image could contain the WebLogic Server product binaries or also include the domain directory. +The Domain specifies a container image, defaulting to `container-registry.oracle.com/middleware/weblogic:12.2.1.4`. All containers running WebLogic Server use this same image. Depending on the use case, this image could contain the WebLogic Server product binaries or also include the domain directory. {{% notice note %}} During a rolling event caused by a change to the Domain's `image` field, containers will be using a mix of the updated value of the `image` field and its previous value. {{% /notice %}} @@ -71,18 +70,18 @@ Within the container, the following aspects are configured by the operator: * The readiness probe is configured to use the WebLogic Server ReadyApp framework. The readiness probe is used to determine if the server is ready to accept user requests. The readiness is used to determine when a server should be included in a load balancer's endpoints, when a restarted server is fully started in the case of a rolling restart, and for various other purposes. * A shutdown hook is configured that will execute a script that performs a graceful shutdown of the server. This ensures that servers have an opportunity to shut down cleanly before they are killed. -### Domain state stored outside Docker images -The operator expects (and requires) that all state be stored outside of the Docker images that are used to run the domain. This means either in a persistent file system, or in a database. The WebLogic configuration, that is, the domain directory and the applications directory may come from the Docker image or a persistent volume. However, other state, such as file-based persistent stores, and such, must be stored on a persistent volume or in a database. All of the containers that are participating in the WebLogic domain use the same image, and take on their personality; that is, which server they execute, at startup time. Each Pod mounts storage, according to the Domain, and has access to the state information that it needs to fulfill its role in the domain. +### Domain state stored outside container images +The operator expects (and requires) that all state be stored outside of the images that are used to run the domain. This means either in a persistent file system, or in a database. The WebLogic configuration, that is, the domain directory and the applications directory may come from the image or a persistent volume. However, other state, such as file-based persistent stores, and such, must be stored on a persistent volume or in a database. All of the containers that are participating in the WebLogic domain use the same image, and take on their personality; that is, which server they execute, at startup time. Each Pod mounts storage, according to the Domain, and has access to the state information that it needs to fulfill its role in the domain. It is worth providing some background information on why this approach was adopted, in addition to the fact that this separation is consistent with other existing operators (for other products) and the Kubernetes “cattle, not pets” philosophy when it comes to containers. -The external state approach allows the operator to treat the Docker images as essentially immutable, read-only, binary images. This means that the image needs to be pulled only once, and that many domains can share the same image. This helps to minimize the amount of bandwidth and storage needed for WebLogic Server Docker images. +The external state approach allows the operator to treat the images as essentially immutable, read-only, binary images. This means that the image needs to be pulled only once, and that many domains can share the same image. This helps to minimize the amount of bandwidth and storage needed for WebLogic Server images. This approach also eliminates the need to manage any state created in a running container, because all of the state that needs to be preserved is written into either the persistent volume or a database backend. The containers and pods are completely throwaway and can be replaced with new containers and pods, as necessary. This makes handling failures and rolling restarts much simpler because there is no need to preserve any state inside a running container. -When users wish to apply a binary patch to WebLogic Server, it is necessary to create only a single new, patched Docker image. If desired, any domains that are running may be updated to this new patched image with a rolling restart, because there is no state in the containers. +When users wish to apply a binary patch to WebLogic Server, it is necessary to create only a single new, patched image. If desired, any domains that are running may be updated to this new patched image with a rolling restart, because there is no state in the containers. -It is envisaged that in some future release of the operator, it will be desirable to be able to “move” or “copy” domains in order to support scenarios like Kubernetes federation, high availability, and disaster recovery. Separating the state from the running containers is seen as a way to greatly simplify this feature, and to minimize the amount of data that would need to be moved over the network, because the configuration is generally much smaller than the size of WebLogic Server Docker images. +It is envisaged that in some future release of the operator, it will be desirable to be able to “move” or “copy” domains in order to support scenarios like Kubernetes federation, high availability, and disaster recovery. Separating the state from the running containers is seen as a way to greatly simplify this feature, and to minimize the amount of data that would need to be moved over the network, because the configuration is generally much smaller than the size of WebLogic Server images. The team developing the operator felt that these considerations provided adequate justification for adopting the external state approach. diff --git a/docs-source/content/userguide/introduction/introduction.md b/docs-source/content/userguide/introduction/introduction.md index 3f96c5e5226..f4c42b7e4f3 100644 --- a/docs-source/content/userguide/introduction/introduction.md +++ b/docs-source/content/userguide/introduction/introduction.md @@ -16,7 +16,7 @@ Detailed instructions are available [here]({{< relref "/userguide/managing-opera ### Operator prerequisites -For the current production release 3.1.1: +For the current production release 3.1.2: * Kubernetes 1.14.8+, 1.15.7+, 1.16.0+, 1.17.0+, and 1.18.0+ (check with `kubectl version`). * Flannel networking v0.9.1-amd64 or later (check with `docker images | grep flannel`), Calico networking (Calico v3.16.1), @@ -24,7 +24,7 @@ For the current production release 3.1.1: * Docker 18.9.1 or 19.03.1 (check with `docker version`) *or* CRI-O 1.14.7 (check with `crictl version | grep RuntimeVersion`). * Helm 3.1.3+ (check with `helm version --client --short`). * Either Oracle WebLogic Server 12.2.1.3.0 with patch 29135930, Oracle WebLogic Server 12.2.1.4.0, or Oracle WebLogic Server 14.1.1.0.0. - * The existing WebLogic Docker image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3 `, + * The existing WebLogic Server image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3 `, has all the necessary patches applied. * Check the WLS version with `docker run container-registry.oracle.com/middleware/weblogic:12.2.1.3 sh -c` `'source $ORACLE_HOME/wlserver/server/bin/setWLSEnv.sh > /dev/null 2>&1 && java weblogic.version'`. * Check the WLS patches with `docker run container-registry.oracle.com/middleware/weblogic:12.2.1.3 sh -c` `'$ORACLE_HOME/OPatch/opatch lspatches'`. @@ -97,7 +97,7 @@ There are a number of development-focused distributions of Kubernetes, like kind Often these run Kubernetes in a virtual machine on your development machine. We have found that these distributions present some extra challenges in areas like: -* Separate Docker image stores, making it necessary to save/load images to move them between Docker file systems +* Separate container image caches, making it necessary to save/load images to move them between Docker file systems * Default virtual machine file sizes and resource limits that are too small to run WebLogic or hold the necessary images * Storage providers that do not always support the features that the operator or WebLogic rely on * Load balancing implementations that do not always support the features that the operator or WebLogic rely on @@ -108,7 +108,7 @@ provide support for WebLogic or the operator running in these distributions. We have found that Docker for Desktop does not seem to suffer the same limitations, and we do support that as a development/test option. -### Operator Docker image +### Operator image You can find the operator image in -[Docker Hub](https://hub.docker.com/r/oracle/weblogic-kubernetes-operator/). +[GitHub Container Registry](https://github.com/orgs/oracle/packages/container/package/weblogic-kubernetes-operator). diff --git a/docs-source/content/userguide/managing-domains/_index.md b/docs-source/content/userguide/managing-domains/_index.md index 4675c836cef..9b12936247b 100644 --- a/docs-source/content/userguide/managing-domains/_index.md +++ b/docs-source/content/userguide/managing-domains/_index.md @@ -27,11 +27,11 @@ Be aware of the following important considerations for WebLogic domains running {{% notice warning %}} Oracle strongly recommends storing an image containing a WebLogic domain home (`domainHomeSourceType` is `Image`) - as private in the registry (for example, Oracle Cloud Infrastructure Registry, Docker Hub, and such). - A Docker image that contains a WebLogic domain has sensitive information including + as private in the registry (for example, Oracle Cloud Infrastructure Registry, GitHub Container Registry, and such). + A container image that contains a WebLogic domain has sensitive information including keys and credentials that are used to access external resources (for example, the data source password). For more information, see - [WebLogic domain in Docker image protection]({{}}). + [WebLogic domain in container image protection]({{}}). {{% /notice %}} * _Log File Locations:_ The operator can automatically override WebLogic Server, domain, and introspector log locations. @@ -107,10 +107,10 @@ When a domain resource or WebLogic domain configuration violates the limits, the ### Creating and managing WebLogic domains -You can locate a WebLogic domain either in a persistent volume (PV) or in a Docker image. +You can locate a WebLogic domain either in a persistent volume (PV) or in an image. For examples of each, see the [WebLogic Server Kubernetes Operator samples]({{< relref "/samples/simple/domains/_index.md" >}}). -If you want to create your own Docker images, for example, to choose a specific set of patches or to create a domain +If you want to create your own container images, for example, to choose a specific set of patches or to create a domain with a specific configuration or applications deployed, then you can create the domain custom resource manually to deploy your domain. This process is documented in [this sample]({{< relref "/samples/simple/domains/manually-create-domain/_index.md" >}}). diff --git a/docs-source/content/userguide/managing-domains/choosing-a-model/_index.md b/docs-source/content/userguide/managing-domains/choosing-a-model/_index.md index 822bd08a02c..216e11a4e30 100644 --- a/docs-source/content/userguide/managing-domains/choosing-a-model/_index.md +++ b/docs-source/content/userguide/managing-domains/choosing-a-model/_index.md @@ -8,8 +8,8 @@ pre = " " When using the operator to start WebLogic Server instances from a domain, you have the choice of the following WebLogic domain home source types: - **Domain in PV**: Supply your domain home configuration in a persistent volume. - - **Domain in Image**: Supply your domain home in a Docker image. - - **Model in Image**: Supply a WebLogic Deployment Tool (WDT) model file in a Docker image. + - **Domain in Image**: Supply your domain home in an image. + - **Model in Image**: Supply a WebLogic Deployment Tool (WDT) model file in an image. There are advantages for each domain home source type, but sometimes there are also technical limitations of various cloud providers that may make one type better suited to your needs. @@ -17,8 +17,8 @@ Note that you can use different domain home types for different domains; there's | Domain in PV | Domain in Image | Model in Image | | --- | --- | --- | -| Lets you use the same standard WebLogic Docker image for every server in every domain. | Requires a different image for each domain, but all servers in that domain use the same image. | Different domains can use the same image, but require different domainUID and may have different configuration. | -| No state is kept in Docker images making the containers created from these images completely throw away (cattle not pets). | Runtime state should not be kept in the images, but applications and configuration are. | Runtime state should not be kept in the images. Application and configuration may be. | +| Lets you use the same standard WebLogic Server image for every server in every domain. | Requires a different image for each domain, but all servers in that domain use the same image. | Different domains can use the same image, but require different domainUID and may have different configuration. | +| No state is kept in images making the containers created from these images completely throw away (cattle not pets). | Runtime state should not be kept in the images, but applications and configuration are. | Runtime state should not be kept in the images. Application and configuration may be. | | The domain is long-lived, so you can mutate the configuration or deploy new applications using the Administration Console or WLST. You can also mutate the configuration using configuration overrides. | If you want to mutate the domain home configuration, then you can apply configuration overrides or create a new image. If you want to deploy application updates, then you must create a new image. | If you want to mutate the domain home configuration, then you can override it with additional model files supplied in a ConfigMap or you can supply a new image. If you want to deploy application updates, then you must create a new image. | | You can use configuration overrides to mutate the domain configuration, but there are [limitations]({{< relref "/userguide/managing-domains/configoverrides/_index.md#unsupported-overrides" >}}). | You can use configuration overrides to mutate the domain configuration, but there are [limitations]({{< relref "/userguide/managing-domains/configoverrides/_index.md#unsupported-overrides" >}}). | You can deploy model files to a ConfigMap to mutate the domain, and may not need to restart the entire domain for the change to take effect. Instead, you can initiate a rolling upgrade, which restarts your WebLogic Server instance Pods one at a time. Also, the model file syntax is far simpler and less error prone than the configuration override syntax, and, unlike configuration overrides, allows you to directly add data sources and JMS modules. | | You can change WebLogic domain configuration using the Administration Console or WLST. You can also change configuration overrides and [distribute the new overrides]({{< relref "/userguide/managing-domains/domain-lifecycle/introspection.md#distributing-changes-to-configuration-overrides" >}}) to running servers; however, non-dynamic configuration attributes can only be changed when servers are starting. | You can also change configuration overrides and [distribute the new overrides]({{< relref "/userguide/managing-domains/domain-lifecycle/introspection.md#distributing-changes-to-configuration-overrides" >}}) to running servers; however, non-dynamic configuration attributes can only be changed when servers are starting. You should not use the Administration Console or WLST for these domains as changes are ephemeral and will be lost when servers restart. | You should not use the Administration Console or WLST for these domains as changes are ephemeral and will be lost when servers restart. | diff --git a/docs-source/content/userguide/managing-domains/domain-in-image/_index.md b/docs-source/content/userguide/managing-domains/domain-in-image/_index.md index c06b7aabdec..db18f154a06 100644 --- a/docs-source/content/userguide/managing-domains/domain-in-image/_index.md +++ b/docs-source/content/userguide/managing-domains/domain-in-image/_index.md @@ -9,8 +9,8 @@ pre = " " {{% notice warning %}} Oracle strongly recommends storing a domain image as private in the registry. -A Docker image that contains a WebLogic domain home has sensitive information +A container image that contains a WebLogic domain home has sensitive information including keys and credentials that are used to access external resources (for example, the data source password). For more information, see -[WebLogic domain in Docker image protection]({{}}). +[WebLogic domain in container image protection]({{}}). {{% /notice %}} diff --git a/docs-source/content/userguide/managing-domains/domain-in-image/base-images/_index.md b/docs-source/content/userguide/managing-domains/domain-in-image/base-images/_index.md index e095c1fca2c..ed9d2c81e8f 100644 --- a/docs-source/content/userguide/managing-domains/domain-in-image/base-images/_index.md +++ b/docs-source/content/userguide/managing-domains/domain-in-image/base-images/_index.md @@ -2,25 +2,25 @@ title: "Base images" date: 2019-02-23T16:45:55-05:00 weight: 1 -description: "Creating or obtaining WebLogic Docker images." +description: "Creating or obtaining WebLogic Server images." --- #### Contents -* [Creating or obtaining WebLogic Docker images](#creating-or-obtaining-weblogic-docker-images) +* [Creating or obtaining WebLogic Server images](#creating-or-obtaining-weblogic-server-images) * [Setting up secrets to access the Oracle Container Registry](#setting-up-secrets-to-access-the-oracle-container-registry) * [Obtaining standard images from the Oracle Container Registry](#obtaining-standard-images-from-the-oracle-container-registry) * [Creating a custom image with patches applied](#creating-a-custom-image-with-patches-applied) * [Creating a custom image with your domain inside the image](#creating-a-custom-image-with-your-domain-inside-the-image) -#### Creating or obtaining WebLogic Docker images +#### Creating or obtaining WebLogic Server images -You will need Docker images to run your WebLogic domains in Kubernetes. +You will need container images to run your WebLogic domains in Kubernetes. There are two main options available: -* Use a Docker image which contains the WebLogic Server binaries but +* Use an image which contains the WebLogic Server binaries but not the domain, or -* Use a Docker image which contains both the WebLogic Server binaries +* Use an image which contains both the WebLogic Server binaries and the domain directory. If you want to use the first option, then you will need to obtain the standard @@ -29,7 +29,7 @@ This image already contains the mandatory patches applied, as described in [Crea If you want to use additional patches, you can customize that process to include additional patches. If you want to use the second option, which includes the domain directory -inside the Docker image, then you will need to build your own Docker images, +inside the image, then you will need to build your own images, as described in [Creating a custom image with your domain inside the image](#creating-a-custom-image-with-your-domain-inside-the-image). #### Setting up secrets to access the Oracle Container Registry @@ -38,7 +38,7 @@ as described in [Creating a custom image with your domain inside the image](#cre This version of the operator requires WebLogic Server 12.2.1.3.0 plus patch 29135930; the standard image, `container-registry.oracle.com/middleware/weblogic:12.2.1.3`, already includes this patch pre-applied. Images for WebLogic Server 12.2.1.4.0 do not require any patches. {{% /notice %}} -In order for Kubernetes to obtain the WebLogic Server Docker image from the Oracle Container Registry (OCR), which requires authentication, a Kubernetes Secret containing the registry credentials must be created. To create a secret with the OCR credentials, issue the following command: +In order for Kubernetes to obtain the WebLogic Server image from the Oracle Container Registry (OCR), which requires authentication, a Kubernetes Secret containing the registry credentials must be created. To create a secret with the OCR credentials, issue the following command: ``` $ kubectl create secret docker-registry SECRET_NAME \ @@ -56,7 +56,7 @@ If you choose this approach, you do not require the Kubernetes Secret. #### Obtaining standard images from the Oracle Container Registry -The Oracle Container Registry contains images for licensed commercial Oracle software products that you may use in your enterprise. To access the Oracle Registry Server, you must have an Oracle Single Sign-On (SSO) account. The Oracle Container Registry provides a web interface that allows an administrator to authenticate and then to select the images for the software that your organization wishes to use. Oracle Standard Terms and Restrictions terms must be agreed to using the web interface. After the Oracle Standard Terms and Restrictions have been accepted, you can pull images of the software from the Oracle Container Registry using the standard Docker pull command. +The Oracle Container Registry contains images for licensed commercial Oracle software products that you may use in your enterprise. To access the Oracle Registry Server, you must have an Oracle Single Sign-On (SSO) account. The Oracle Container Registry provides a web interface that allows an administrator to authenticate and then to select the images for the software that your organization wishes to use. Oracle Standard Terms and Restrictions terms must be agreed to using the web interface. After the Oracle Standard Terms and Restrictions have been accepted, you can pull images of the software from the Oracle Container Registry using the standard `docker pull` command. To pull an image from the Oracle Container Registry, in a web browser, navigate to https://container-registry.oracle.com and log in using the Oracle Single Sign-On authentication service. If you do not already have SSO credentials, at the top of the page, click the Sign In link to create them. @@ -64,7 +64,7 @@ using the Oracle Single Sign-On authentication service. If you do not already ha Use the web interface to accept the Oracle Standard Terms and Restrictions for the Oracle software images that you intend to deploy. Your acceptance of these terms is stored in a database that links the software images to your Oracle Single Sign-On login credentials. -The Oracle Container Registry provides a WebLogic Server 12.2.1.3.0 Docker image, which already has the necessary patches applied, and the Oracle WebLogic Server 12.2.1.4.0 and 14.1.1.0.0 images, which do not require any patches. +The Oracle Container Registry provides a WebLogic Server 12.2.1.3.0 image, which already has the necessary patches applied, and the Oracle WebLogic Server 12.2.1.4.0 and 14.1.1.0.0 images, which do not require any patches. First, you will need to log in to the Oracle Container Registry: @@ -136,7 +136,7 @@ to build the image and apply the patches. #### Creating a custom image with your domain inside the image -You can also create a Docker image with the WebLogic domain inside the image. +You can also create an image with the WebLogic domain inside the image. [Samples]({{< relref "/samples/simple/domains/domain-home-in-image/_index.md" >}}) are provided that demonstrate how to create the image using either: @@ -150,6 +150,6 @@ the standard `container-registry.oracle.com/middleware/weblogic:12.2.1.3` pre-pa WebLogic Server 12.2.1.4.0 images do not require patches. {{% notice note %}} -Oracle recommends that Docker images containing WebLogic domains +Oracle recommends that images containing WebLogic domains be kept in a private repository. {{% /notice %}} diff --git a/docs-source/content/userguide/managing-domains/domain-lifecycle/restarting.md b/docs-source/content/userguide/managing-domains/domain-lifecycle/restarting.md index 8f40e10cd61..103b63df9a8 100644 --- a/docs-source/content/userguide/managing-domains/domain-lifecycle/restarting.md +++ b/docs-source/content/userguide/managing-domains/domain-lifecycle/restarting.md @@ -170,8 +170,8 @@ a. Select a different name for the new image. b. For Domain in Image, it is important to keep your original domain home in your new image. -Using the same domain home-in-image Docker image as a base, create a new Docker image by copying (`COPY` -command in a Dockerfile) the updated application deployment files or WebLogic Server patches into the Docker image during the Docker image build. +Using the same domain home-in-image image as a base, create a new image by copying (`COPY` +command in a Dockerfile) the updated application deployment files or WebLogic Server patches into the image during the image build. {{% notice note %}} The key here is to make sure that you do not re-run WLST or WDT to create a new domain home even though it will @@ -179,7 +179,7 @@ The key here is to make sure that you do not re-run WLST or WDT to create a new rolling restart. {{% /notice %}} -c. Deploy the new Docker image to your Docker repository with the new name. +c. Deploy the new image to your container registry with the new name. d. Update the `image` field of the Domain YAML file, specifying the new image name. @@ -188,7 +188,7 @@ d. Update the `image` field of the Domain YAML file, specifying the new image na ``` domain: spec: - image: ghcr.io/oracle/weblogic-updated:3.1.1 + image: ghcr.io/oracle/weblogic-updated:3.1.2 ``` e. The operator will now initiate a rolling restart, which will apply the updated image, for all the servers in the domain. diff --git a/docs-source/content/userguide/managing-domains/domain-lifecycle/scaling.md b/docs-source/content/userguide/managing-domains/domain-lifecycle/scaling.md index 8b72aa7d548..6f3a6891f49 100644 --- a/docs-source/content/userguide/managing-domains/domain-lifecycle/scaling.md +++ b/docs-source/content/userguide/managing-domains/domain-lifecycle/scaling.md @@ -283,7 +283,7 @@ The easiest way to verify and debug the `scalingAction.sh` script is to open a s The following example illustrates how to open a bash shell on a running Administration Server pod named `domain1-admin-server` and execute the `scriptAction.sh` script. It assumes that: -* The domain home is in `/u01/oracle/user-projects/domains/domain1` (that is, the domain home is inside a Docker image). +* The domain home is in `/u01/oracle/user-projects/domains/domain1` (that is, the domain home is inside an image). * The Dockerfile copied [`scalingAction.sh`](https://github.com/oracle/weblogic-kubernetes-operator/blob/master/src/scripts/scaling/scalingAction.sh) to `/u01/oracle/user-projects/domains/domain1/bin/scripts/scalingAction.sh`. ``` @@ -311,7 +311,7 @@ This example assumes the operator and Domain YAML file are configured with the f * operator's namespace: `weblogic-operator` * operator's hostname is the same as the host shell script is executed on. * Domain fields: - * WebLogic cluster name: `DockerCluster` + * WebLogic cluster name: `ApplicationCluster` * Domain UID: `domain1` ``` diff --git a/docs-source/content/userguide/managing-domains/model-in-image/overview.md b/docs-source/content/userguide/managing-domains/model-in-image/overview.md index dbd81585dee..7541c24af18 100644 --- a/docs-source/content/userguide/managing-domains/model-in-image/overview.md +++ b/docs-source/content/userguide/managing-domains/model-in-image/overview.md @@ -24,7 +24,7 @@ Unlike Domain in PV and Domain in Image, Model in Image eliminates the need to p It enables: - Defining a WebLogic domain home configuration using WebLogic Deploy Tool (WDT) model files and application archives. - - Embedding model files and archives in a custom Docker image, and using the WebLogic Image Tool (WIT) to generate this image. + - Embedding model files and archives in a custom container image, and using the WebLogic Image Tool (WIT) to generate this image. - Supplying additional model files using a Kubernetes ConfigMap. - Supplying Kubernetes Secrets that resolve macro references within the models. For example, a secret can be used to supply a database credential. - Updating WDT model files at runtime. For example, you can add a data source to a running domain. Note that all such updates currently cause the domain to 'roll' in order to take effect. diff --git a/docs-source/content/userguide/managing-domains/model-in-image/usage.md b/docs-source/content/userguide/managing-domains/model-in-image/usage.md index 06dd0d5ac57..395b013d58a 100644 --- a/docs-source/content/userguide/managing-domains/model-in-image/usage.md +++ b/docs-source/content/userguide/managing-domains/model-in-image/usage.md @@ -25,7 +25,7 @@ Deploy the operator and ensure that it is monitoring the desired namespace for y ### WebLogic Server image -Model in Image requires creating a Docker image that has WebLogic Server and WDT installed, plus optionally, your model and application files. +Model in Image requires creating an image that has WebLogic Server and WDT installed, plus optionally, your model and application files. First, obtain a base image: @@ -123,7 +123,7 @@ The following Domain fields are specific to Model in Image domains. ### Always use external state -Regardless of the domain home source type, we recommend that you always keep state outside the Docker image. This includes cluster database leasing tables, JMS and transaction stores, EJB timers, and so on. This ensures that data will not be lost when a container is destroyed. +Regardless of the domain home source type, we recommend that you always keep state outside the image. This includes cluster database leasing tables, JMS and transaction stores, EJB timers, and so on. This ensures that data will not be lost when a container is destroyed. We recommend that state be kept in a database to take advantage of built-in database server high availability features, and the fact that disaster recovery of sites across all but the shortest distances, almost always requires using a single database server to consolidate and replicate data (DataGuard). diff --git a/docs-source/content/userguide/managing-domains/persistent-storage/_index.md b/docs-source/content/userguide/managing-domains/persistent-storage/_index.md index 46efc456466..12c14f6c698 100644 --- a/docs-source/content/userguide/managing-domains/persistent-storage/_index.md +++ b/docs-source/content/userguide/managing-domains/persistent-storage/_index.md @@ -46,7 +46,7 @@ $ kubectl annotate pv domain1-weblogic-sample-pv pv.beta.kubernetes.io/gid=6789 After the domain is created and servers are running, the group ownership of the PersistentVolume files can be updated to the specified GID which will provide read access to the group members. Typically, files created from a pod onto the PersistentVolume will have UID `1000` and GID `1000` which is the -`oracle` user from the WebLogic Docker image. +`oracle` user from the WebLogic Server image. An example of updating the group ownership on the PersistentVolume would be as follows: diff --git a/docs-source/content/userguide/managing-domains/prepare.md b/docs-source/content/userguide/managing-domains/prepare.md index 06bc92a1394..b853ab6ec43 100644 --- a/docs-source/content/userguide/managing-domains/prepare.md +++ b/docs-source/content/userguide/managing-domains/prepare.md @@ -35,6 +35,6 @@ Perform these steps to prepare your Kubernetes cluster to run a WebLogic domain: * Replace the string `password` in the fourth line with the password. 1. Optionally, [create a PV & PersistentVolumeClaim (PVC)]({{< relref "/samples/simple/storage/_index.md" >}}) which can hold the domain home, logs, and application binaries. - Even if you put your domain in a Docker image, you may want to put the logs on a persistent volume so that they are available after the pods terminate. + Even if you put your domain in an image, you may want to put the logs on a persistent volume so that they are available after the pods terminate. This may be instead of, or as well as, other approaches like streaming logs into Elasticsearch. 1. Optionally, [configure load balancer](https://github.com/oracle/weblogic-kubernetes-operator/blob/master/kubernetes/samples/charts/README.md) to manage access to any WebLogic clusters. diff --git a/docs-source/content/userguide/managing-fmw-domains/fmw-infra/_index.md b/docs-source/content/userguide/managing-fmw-domains/fmw-infra/_index.md index fc40b5f2977..317c74bf6f0 100644 --- a/docs-source/content/userguide/managing-fmw-domains/fmw-infra/_index.md +++ b/docs-source/content/userguide/managing-fmw-domains/fmw-infra/_index.md @@ -9,8 +9,8 @@ the prerequisite for upper stack products like Oracle SOA Suite." #### Contents * [Limitations](#limitations) -* [Obtaining the FMW Infrastructure Docker image](#obtaining-the-fmw-infrastructure-docker-image) -* [Creating an FMW Infrastructure Docker image](#creating-an-fmw-infrastructure-docker-image) +* [Obtaining the FMW Infrastructure image](#obtaining-the-fmw-infrastructure-image) +* [Creating an FMW Infrastructure image](#creating-an-fmw-infrastructure-image) * [Configuring access to your database](#configuring-access-to-your-database) * [Running the Repository Creation Utility to set up your database schema](#running-the-repository-creation-utility-to-set-up-your-database-schema) * [Create a Kubernetes Secret with the RCU credentials](#create-a-kubernetes-secret-with-the-rcu-credentials) @@ -58,7 +58,7 @@ following limitations currently exist for FMW Infrastructure domains: before version 2.2.0. -#### Obtaining the FMW Infrastructure Docker image +#### Obtaining the FMW Infrastructure image The Oracle WebLogic Server Kubernetes Operator requires patch 29135930. The standard pre-built FMW Infrastructure image, `container-registry.oracle.com/middleware/fmw-infrastrucutre:12.2.1.3`, already has this patch applied. For detailed instructions on how to log in to the Oracle Container Registry and accept license agreement, see this [document]({{< relref "/userguide/managing-domains/domain-in-image/base-images/_index.md#obtaining-standard-images-from-the-oracle-container-registry" >}}). @@ -92,14 +92,14 @@ Additional information about using this image is available in the [Oracle Container Registry](https://container-registry.oracle.com). -#### Creating an FMW Infrastructure Docker image +#### Creating an FMW Infrastructure image -You can also create a Docker image containing the FMW Infrastructure binaries. +You can also create an image containing the FMW Infrastructure binaries. We provide a [sample](https://github.com/oracle/docker-images/tree/master/OracleFMWInfrastructure) - in the Oracle GitHub account that demonstrates how to create a Docker image + in the Oracle GitHub account that demonstrates how to create an image to run the FMW Infrastructure. Please consult the [README](https://github.com/oracle/docker-images/blob/master/OracleFMWInfrastructure/dockerfiles/12.2.1.4/README.md) file associated with this sample for important prerequisite steps, -such as building or pulling the Server JRE Docker image and downloading the Fusion Middleware +such as building or pulling the Server JRE image and downloading the Fusion Middleware Infrastructure installer binary. After cloning the repository and downloading the installer from Oracle Technology Network @@ -114,7 +114,7 @@ The image produced will be named `oracle/fmw-infrastructure:12.2.1.4`. You must also install the [required patch]({{< relref "/userguide/introduction/introduction/_index.md#prerequisites" >}}) to use this image with the operator. We provide a [sample](https://github.com/oracle/docker-images/tree/master/OracleFMWInfrastructure/samples/12213-patch-fmw-for-k8s) - that demonstrates how to create a Docker image with the necessary patch installed. + that demonstrates how to create an image with the necessary patch installed. After downloading the patch from My Oracle Support, you create the patched image by running the provided script: @@ -128,10 +128,10 @@ This will produce an image named `oracle/fmw-infrastructure:12213-update-k8s`. All samples and instructions reference the pre-built image, `container-registry.oracle.com/middleware/fmw_infrastructure:12.2.1.4`. Because these samples build an image based on WebLogic Server 12.2.1.3 and use the tag, `oracle/fmw-infrastructure:12213-update-k8s`, be sure to update your sample inputs to use this `image` value. -These samples allow you to create a Docker image containing the FMW Infrastructure +These samples allow you to create an image containing the FMW Infrastructure binaries and the necessary patch. You can use this image to run the Repository Creation Utility and to run your domain using the "domain on a persistent volume" model. If you want to use -the "domain in a Docker image" model, you will need to go one step further and add another +the "domain in an image" model, you will need to go one step further and add another layer with your domain in it. You can use WLST or WDT to create your domain. Before creating a domain, you will need to set up the necessary schemas in your database. @@ -147,16 +147,15 @@ same existing requirements apply. For testing and development, you may choose to run your database inside Kubernetes or outside of Kubernetes. {{% notice warning %}} -The Oracle Database Docker images are only supported for non-production use. +The Oracle Database images are only supported for non-production use. For more details, see My Oracle Support note: Oracle Support for Database Running on Docker (Doc ID 2216342.1) {{% /notice %}} ##### Running the database inside Kubernetes -If you wish to run the database inside Kubernetes, you can use the official Docker image -[from Docker Hub](https://hub.docker.com/_/oracle-database-enterprise-edition) or -the [Oracle Container Registry](https://container-registry.oracle.com/pls/apex/f?p=113:1:10859199204803::NO:1:P1_BUSINESS_AREA:3). +If you wish to run the database inside Kubernetes, you can use the official container image +from the [Oracle Container Registry](https://container-registry.oracle.com/pls/apex/f?p=113:1:10859199204803::NO:1:P1_BUSINESS_AREA:3). Please note that there is a Slim Variant (`12.2.0.1-slim` tag) of EE that has reduced disk space (4GB) requirements and a quicker container startup. @@ -306,7 +305,7 @@ machine on your network. #### Running the Repository Creation Utility to set up your database schema -If you want to run RCU from a pod inside the Kubernetes cluster, you can use the Docker +If you want to run RCU from a pod inside the Kubernetes cluster, you can use the container image that you built earlier as a "service" pod to run RCU. To do this, start up a pod using that image as follows: @@ -408,7 +407,7 @@ password will be the password you provided for regular schema users during RCU c #### Creating an FMW Infrastructure domain -Now that you have your Docker images and you have created your RCU schemas, you are ready +Now that you have your images and you have created your RCU schemas, you are ready to create your domain. We provide a [sample]({{< relref "/samples/simple/domains/fmw-domain/_index.md" >}}) that demonstrates how to create an FMW Infrastructure domain. diff --git a/docs-source/content/userguide/managing-operators/installation/_index.md b/docs-source/content/userguide/managing-operators/installation/_index.md index 67ed1a40e9f..3762ca75d4e 100644 --- a/docs-source/content/userguide/managing-operators/installation/_index.md +++ b/docs-source/content/userguide/managing-operators/installation/_index.md @@ -117,7 +117,7 @@ the `helm upgrade` command requires that you supply a new Helm chart and image. ``` $ helm upgrade \ --reuse-values \ - --set image=ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1 \ + --set image=ghcr.io/oracle/weblogic-kubernetes-operator:3.1.2 \ --namespace weblogic-operator-namespace \ --wait \ weblogic-operator \ diff --git a/docs-source/content/userguide/managing-operators/using-the-operator/using-helm.md b/docs-source/content/userguide/managing-operators/using-the-operator/using-helm.md index fb6bfba83df..f7b68e1ecad 100644 --- a/docs-source/content/userguide/managing-operators/using-the-operator/using-helm.md +++ b/docs-source/content/userguide/managing-operators/using-the-operator/using-helm.md @@ -98,9 +98,9 @@ javaLoggingLevel: "FINE" #### Creating the operator pod ##### `image` -Specifies the Docker image containing the operator code. +Specifies the container image containing the operator code. -Defaults to `ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1`. +Defaults to `ghcr.io/oracle/weblogic-kubernetes-operator:3.1.2`. Example: ``` @@ -108,7 +108,7 @@ image: "ghcr.io/oracle/weblogic-kubernetes-operator:some-tag" ``` ##### `imagePullPolicy` -Specifies the image pull policy for the operator Docker image. +Specifies the image pull policy for the operator container image. Defaults to `IfNotPresent`. @@ -118,7 +118,7 @@ image: "Always" ``` ##### `imagePullSecrets` -Contains an optional list of Kubernetes Secrets, in the operator's namespace, that are needed to access the registry containing the operator Docker image. You are responsible for creating the secret. If no secrets are required, then omit this property. +Contains an optional list of Kubernetes Secrets, in the operator's namespace, that are needed to access the registry containing the operator image. You are responsible for creating the secret. If no secrets are required, then omit this property. Example: ``` @@ -343,7 +343,7 @@ elkIntegrationEnabled: true ``` ##### `logStashImage` -Specifies the Docker image containing Logstash. This parameter is ignored if `elkIntegrationEnabled` is false. +Specifies the container image containing Logstash. This parameter is ignored if `elkIntegrationEnabled` is false. Defaults to `logstash:6.6.0`. diff --git a/docs-source/content/userguide/overview/database.md b/docs-source/content/userguide/overview/database.md index 89528c5887b..cc58128a5ed 100644 --- a/docs-source/content/userguide/overview/database.md +++ b/docs-source/content/userguide/overview/database.md @@ -12,7 +12,7 @@ your state store, leasing tables, and such, in that database, then you can use t sample to install the database. {{% notice warning %}} -The Oracle Database Docker images are only supported for non-production use. +The Oracle Database images are only supported for non-production use. For more details, see My Oracle Support note: Oracle Support for Database Running on Docker (Doc ID 2216342.1) {{% /notice %}} @@ -107,7 +107,7 @@ spec: If you have not previously done so, you will need to go to the [Oracle Container Registry](https://container-registry.oracle.com) and accept the license for the [Oracle database image](https://container-registry.oracle.com/pls/apex/f?p=113:4:11538835301670). -Create a Docker registry secret so that Kubernetes can pull the database image: +Create a container registry secret so that Kubernetes can pull the database image: ``` kubectl create secret docker-registry regsecret \ diff --git a/docs/charts/index.yaml b/docs/charts/index.yaml index c1c065f4283..8d0e895fb0e 100644 --- a/docs/charts/index.yaml +++ b/docs/charts/index.yaml @@ -1,9 +1,19 @@ apiVersion: v1 entries: weblogic-operator: + - apiVersion: v1 + appVersion: 3.1.2 + created: "2021-01-22T12:54:51.467995-05:00" + description: Helm chart for configuring the WebLogic operator. + digest: 2d8b77038ba870cc66ddd45e07a593a5ac3159c8b9531b5309688028b5268a5f + name: weblogic-operator + type: application + urls: + - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.1.2.tgz + version: 3.1.2 - apiVersion: v1 appVersion: 3.1.1 - created: "2021-01-22T09:58:24.130851-05:00" + created: "2021-01-22T12:54:51.467146-05:00" description: Helm chart for configuring the WebLogic operator. digest: d0e371926643a25769de441cc336198e6a7d53b0f33b66d956726612046f89b1 name: weblogic-operator @@ -13,7 +23,7 @@ entries: version: 3.1.1 - apiVersion: v1 appVersion: 3.1.0 - created: "2021-01-22T09:58:24.129966-05:00" + created: "2021-01-22T12:54:51.465763-05:00" description: Helm chart for configuring the WebLogic operator. digest: acf600d0951dc3d8a0b05b35f3b9b1e62d827ef483fa863b0e37054ebb61f853 name: weblogic-operator @@ -22,7 +32,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.1.0.tgz version: 3.1.0 - apiVersion: v1 - created: "2021-01-22T09:58:24.12833-05:00" + created: "2021-01-22T12:54:51.464524-05:00" description: Helm chart for configuring the WebLogic operator. digest: 5d3a79a55132c33afd5d2d30e398c3cc508d77c9352129f2e8e127db5f1dcf19 name: weblogic-operator @@ -30,7 +40,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.4.tgz version: 3.0.4 - apiVersion: v1 - created: "2021-01-22T09:58:24.127431-05:00" + created: "2021-01-22T12:54:51.463192-05:00" description: Helm chart for configuring the WebLogic operator. digest: c6aeefca88eaa0d431dba66ee5705391c92468f26b27c5af92815ec3c3000406 name: weblogic-operator @@ -38,7 +48,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.3.tgz version: 3.0.3 - apiVersion: v1 - created: "2021-01-22T09:58:24.126232-05:00" + created: "2021-01-22T12:54:51.462065-05:00" description: Helm chart for configuring the WebLogic operator. digest: 84b5989fe8f2392d2b3b0f721bdab1562566d7d885324beafd9fc9e658b13cd3 name: weblogic-operator @@ -46,7 +56,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.2.tgz version: 3.0.2 - apiVersion: v1 - created: "2021-01-22T09:58:24.124635-05:00" + created: "2021-01-22T12:54:51.461286-05:00" description: Helm chart for configuring the WebLogic operator. digest: e7654ad3f2168f54b3a4b133bf8a86ea12bc474e5ee1d3ab14e1cf53012e9772 name: weblogic-operator @@ -54,7 +64,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.1.tgz version: 3.0.1 - apiVersion: v1 - created: "2021-01-22T09:58:24.123838-05:00" + created: "2021-01-22T12:54:51.460493-05:00" description: Helm chart for configuring the WebLogic operator. digest: 5c7c0d3ae797e98592b6fd2191b104f515d6649d0060af0a3ffef215d4c69864 name: weblogic-operator @@ -62,7 +72,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.0.tgz version: 3.0.0 - apiVersion: v1 - created: "2021-01-22T09:58:24.123053-05:00" + created: "2021-01-22T12:54:51.459726-05:00" description: Helm chart for configuring the WebLogic operator. digest: 5f4cd8f4f3282b52b5e90a1169f26986e8272671845053606ade9c855fb04151 name: weblogic-operator @@ -70,7 +80,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.0-rc1.tgz version: 3.0.0-rc1 - apiVersion: v1 - created: "2021-01-22T09:58:24.122192-05:00" + created: "2021-01-22T12:54:51.458901-05:00" description: Helm chart for configuring the WebLogic operator. digest: d441888a8deae1b1339e7585e3b437dfd2533303e46e842d7378e16db665e234 name: weblogic-operator @@ -78,7 +88,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.6.0.tgz version: 2.6.0 - apiVersion: v1 - created: "2021-01-22T09:58:24.121422-05:00" + created: "2021-01-22T12:54:51.458077-05:00" description: Helm chart for configuring the WebLogic operator. digest: fe41421b7dc45dc8a3b2888d3a626a37f5d3c8e1fa292fb6699deedc5e1db33d name: weblogic-operator @@ -86,7 +96,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.5.0.tgz version: 2.5.0 - apiVersion: v1 - created: "2021-01-22T09:58:24.12062-05:00" + created: "2021-01-22T12:54:51.457046-05:00" description: Helm chart for configuring the WebLogic operator. digest: b36bd32083f67453a62d089a2c09ce38e6655d88ac8a7b38691230c55c40e672 name: weblogic-operator @@ -94,7 +104,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.4.0.tgz version: 2.4.0 - apiVersion: v1 - created: "2021-01-22T09:58:24.119766-05:00" + created: "2021-01-22T12:54:51.455971-05:00" description: Helm chart for configuring the WebLogic operator. digest: a3eafe4c2c6ff49384e56421201e59a3737d651af8d5b605b87a19eb1f6f1dc3 name: weblogic-operator @@ -102,7 +112,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.3.1.tgz version: 2.3.1 - apiVersion: v1 - created: "2021-01-22T09:58:24.115473-05:00" + created: "2021-01-22T12:54:51.451996-05:00" description: Helm chart for configuring the WebLogic operator. digest: cbc6caaa6eb28e3c7e906ede14b2ae511a0b35fc12a8e3ab629155b09993e8b2 name: weblogic-operator @@ -110,7 +120,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.3.0.tgz version: 2.3.0 - apiVersion: v1 - created: "2021-01-22T09:58:24.114632-05:00" + created: "2021-01-22T12:54:51.451059-05:00" description: Helm chart for configuring the WebLogic operator. digest: 23d5a1c554fa8211cc1e86b7ade09460917cb2069e68fb4bfdddafc8db44fdcd name: weblogic-operator @@ -118,7 +128,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.2.1.tgz version: 2.2.1 - apiVersion: v1 - created: "2021-01-22T09:58:24.113573-05:00" + created: "2021-01-22T12:54:51.449927-05:00" description: Helm chart for configuring the WebLogic operator. digest: bba303686cb55d84fe8c0d693a2436e7e686b028085b56e012f6381699a3911f name: weblogic-operator @@ -126,7 +136,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.2.0.tgz version: 2.2.0 - apiVersion: v1 - created: "2021-01-22T09:58:24.112773-05:00" + created: "2021-01-22T12:54:51.449076-05:00" description: Helm chart for configuring the WebLogic operator. digest: 391e23c0969ada5f0cd2a088ddc6f11f237f57521801ed3925db2149a8437a0d name: weblogic-operator @@ -134,11 +144,11 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.1.tgz version: "2.1" - apiVersion: v1 - created: "2021-01-22T09:58:24.111926-05:00" + created: "2021-01-22T12:54:51.448216-05:00" description: Helm chart for configuring the WebLogic operator. digest: 298acda78ab73db6b7ba6f2752311bfa40c65874e03fb196b70976192211c1a5 name: weblogic-operator urls: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.0.1.tgz version: 2.0.1 -generated: "2021-01-22T09:58:24.110271-05:00" +generated: "2021-01-22T12:54:51.446133-05:00" diff --git a/docs/charts/weblogic-operator-3.1.2.tgz b/docs/charts/weblogic-operator-3.1.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..055e574b3312e090cd936ed052e28d3cae71e9f0 GIT binary patch literal 11215 zcmV;=D=^d_iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMa0bKADIAl{$#SK!i_kL`XWTC!uOSF_!nG;v$My0*tk)7g1@ zUk4(OB-9ka0HAEOdHc8T;0sBR1SQILoWxh0P9u}R!NK`{4gv5M#u1&8phpv6SWtHG zW`>#Ymv|n1^GH{}-|wHie5wBJ_xsg<`-ew^Zw4>>{lk+%|M>XmoBrVCN&om8)PF1l zR$VC!h|wm@;fn}!w}V^tRt2Q3=vL}hy+*y?<~sWes042n_PAM zU*ISO{+I?}wf-Nze0B1wqW{PJlUG~)e~N1dy`jmHk?BmJyQC9X9sa$3lhNVAfRb1 z5KkZ=69Qa~Da{R{6ZLykZb)KvH2E$vs4# zY3WH`gmjKce31bfK?H%6laXLpz;tPGXGU)wh;h|JPZ@;dT#gm*>}b9aq1(=JjHlqE zbC}`?X)}c|gCRO6Ty)Vn9zpsb6oVS0L(bfw6mw-8D<1EDWTCPxw!?aFSuT{R5E z4&?NJZsbrzxPTCim+JX$g%W&MBWReEk7%Q~+r8JoA>jdC0MmnGg@}~fQlpe-@}N2#av>tSvqH!2Rv^TMjX*NTDo<(vx9DDz$)5F1czuMjYJ4ZM3+*9Z)YT! z$y;SCja4g~fOQI}b)%z<65)oJdNc+`Bd)YLkT#-9SqHp=Fp^?n_LrsUWTK7LLn($x ztcWJ5v4&_qvUw+13bt@IDJL33L~lDg5)zrllu1BkI+@#YPHSniD?1n*umM5E445`# zu`xI$vJKG$M;sislv@;)DkAw`A)c);#)H{p*A(aWluC1LKPl;B4DuT}H!cS(ko4XD zYJ~-tXD<8=3>~wa}=^dUY5e(6p?vo`eI*?JU?>3K|0~;s@lK*+AfmfL| z?ChW(@`_$w<;I~`)m1+1^j3P)l3A|AIc4)~ge{9=9M1n%l39uoiKiu=NQ!d6ESO~m zrYckcjfE7p8ZR6oSMt+mTFj)(Z6;_XcT{1fVGoX%mZ7*MVwU?Xc{@a2EwS;OoGT4B zbah+b%fUPCk}Re<9h0JcU^D@CTZ@q-k(9J+S z)DU_9rP{1$BH08n9!KydO1S`bO(Xb$#G$lS1*dLjAdR*{iO~o+iXi~bFm_7F=f!2F?7msEIp%+WiWD#%CH#<$EKO}R52ECFf&7hwuNh&h~-eoT;f%>8%7eO z=~hq8-&wF#)NRz`A@ZiPfcbH1H0THd1|kQ+5tiYblvEt$zSMFdrhRu+irCGv z5zGL^03n3R&j(U8w5-6CaKV;MGZOMYIxlM)TM6To5|T>}@V zN{GV-<*N|y`gHUTkyrqmsNj%GOG>%2PBayqgn5i?@ix#Jf~aO~LYXKh6DmNok@{JP zgkMo6=U5?L5o5{_(+Xa44$f09WT%D1MzL&kjsjqUOjN+9NSrXTkiTz0Nxn`%?Wtzy zROdX-G-;VhM2`8T>HP+n*p;JncIpp*f#q&CB_dNE2Qw@K;-pHo;6g(~Rizz#M$;&i z)(=M!)tN!2-1)3>>#3&q^SgIfqhgYNma8O~;W>y*EwpqiKjgq#xgN0gpK0eKN-Y#r(oq=zt%r^j z$>8ZIyg!VJD`>cbUP}p8W<;8ds3nG>%z_E>gk zxQSzQCZS}dNHhmN^E)z?40i7cbuTCp&~jR3Cw3_ zn|c0-PPy#n78*NSbRwXnM&aOhN*D~0mw_Ih_$Pi}JAeptL4uKrSbwIxYEfpCi%bV~ zaAHE{`Q?HA> z-(O!}oL&4Rf1X|Zcq#vVb9wROnY#1i*~Mx0@3p6c4fV(9o#%I|*bNN`iMjMKjyxFa zlu5;j`kof5d+HQ#p(#b^1;G4H3 zi3-rQt5Vf4bW7PyL~+Phb1ciGR`9G9$8ywLam&izGJZW7w=zt7I1YO_7NnQmS;4z} zdQzWCo%~J?QStD-R$7ZcA&gV4@KrT`V**;9MRd|N$uuF0Zpx0lh$-bj4CYk8TM7Jv zh9J#QD~DU=VHQPWZJIPtjj|OI>$qM=>auyLOm5EnU7qp;;_xz7=!^trB2Drjcv%;R z>I*8}AHf|2samJ7gVI=#2$fNq0#iX776MCNXYt&wLN&&b8ehhoDzzvOkaEXpRCgC7 z=2;R^s7Gff&uApSODVv{Bbcno*rR&V!aNJEygyJ|R)eWxXnvEyC|+(zeWHoHHDvqy9ht`A<80TSb8lvbSRD zot;%0`4m%kPR*Kn81up4@aRVZQOFTp0AnOHQ#SEjUI&`UMyAACE1*ktqwxZme(V4C zV$_p>QDnb@Rx-;ViEtpLbb%R>lR*q7z@+QTUt4r`vZR6mrzs0SzfURQWb&p7P2>zCiEvZ;hzW2;w7SpFwB8W2G(=^u>QIv<$BctML1EG$vA&q+x_kAt-K+< zZ*8qfXmUjh6Z9t?t2Pqv3#lpjfDCvV2^@>OjqPT~pdG!c3Lk%`*4yDgNH&Hk6al1V zry`=teYAuZR?wxJuv+SgaWo+d72yzF7L|ft3{wH5ZDnXyWAHqsH`Oyait#Z~u>ht* zY{JoQ&nC}qQ^Qz>jJ+d&;P+)O&+66FWbXY*$6lwA>%&qX%1UKNv%KX~%1Gvz^P&t6 z=js&=TL42^O{#LF7eEwnc6qs1USlyOhgCAQQl3tZ9w1NF;7u%sJJFuA*{r<6q}TW} z)a?`#jXNHZzu-#BZah`#XhUIzOe_IMG?s=EiCbzBKqi+as2wX3N@{0?eYGA-y1$6V zGQ7*)!dQ&tXbb_C=1bB?>c7+tU6amY2TuN~Q7lhIw6AM1uc2z%QIdB9@ii<6+`dj_ z{vyl@+OC{&sXpDluC5laX^~0QTYH2CzAX`IRK(P*QS^3iWe zhy~cCysU{;jI;=mFtQ*KOtq&e$1pZ+RgBp!FRTl&w0*l$9x#)1R^(DMim}slv zLWk3Qr5oWWl%iT-n1in3=MX1T1=?wpkt{;a*MHX6{|cBVGDGACe;9LXt>6&JJr)J8 zUjI8d9=tj%um3$9431uI*Z)4n^|h`4{rm5p6nhc_^71IRy0XSY|NY;pC7GZ-%FrHs zKzo_8c;|!*4^=zWRx|7)FJJ5C?V~;E*8O6=+kIiGmiznr8HxzKz--FV@O$Y!qBI2L zrGiA<4heBh)MU-@sCK_pi;Wz$(H?h{L^3D@Hs{jgs`OE>_sQNZskf8~W)Q2zf80mE#S_Xz8e;*` zvYV}wsH}rB@Ohf3QiQ=W)JuQVdROU_uyRT$q@V}QCKFM5gPF{hx!?Krz?S)2%5J0^ z9e$5O5(wlmkTD2^9@>+^#6I%Wbj+V_p(s(+Qd=@97MOTluSI8M3s;~x!e9z_ny@Wl z^af~!jAk?Tr0SSCwrNfT%su3Jc4MP3fl`-%+mF=jr9s>)NU-Oj7r{Q-lf1ER@2lJU z<=$&C*-IFSi`%}utH77QWa^=Ygb$VGp4WaTE5>SKd;*)fD(SZfl8-=jULwP}L9#lSX+ zg%ZVVENzKwEae^9L@+X!t?R-};t=k-7B&i^gs8=ODd*mEn-l~n`R=1L7|Kt0H>Av8~kXOul(fqL1!2}~Q)v~xZ zAxtW#g5xqT>#35&Ifrse z?HIP7xy^?%sqT}$Aidd;9b0aEQf?UEvk^}!eLkN(d%+=~aabD5;*^W-DlK`V7kQ`< zgr{RJ7#g5G8R6~mbd2^Qh%?yxXt2MZ4^)R|Uj8{^`0_~QcwJv67|~@r8GsmI4ijrE zw`uzrM*Hc^w$pIm*P5e^h4oP-brbvX*|gq~8GQA+(nvb>g51;f?5{_~4Az3B4y4;F zOpya*;-c3Jd<{X`{gvwr%M4be%%wjz%sr81pPH~M7aR);>W;NpRwi@b%I3pso6Tg} ztkkKu^gVuc*vX>}ixr9?%Fz9aMKE(0^~?s*M*f!hwTU!*q3o^w{M>K8w%0f7-v8$N z_sjwXMkC19;Hc#(?cN8kIsfgb|EhBS)8Wgbet-M^_bIMt@%}gaVQq)jODtYXAyr^u4Q^I24bu!N}>>%_N zPy}WBiEEasS2IVRX{`Vc(cgc&-id!iA5tnn!?sDBjr8~5diANJuLFrD)99g(=uawh z(4OZQQ?m`}Gb{K|75_8fxjbKF_^h6W+IKVT^bk(SPmHDsAEN*Cynl62zQjn~(I=qH zal+NJ1+cNYKLz1+ktZiD|Gkw_i~OP2dCFgU0h9cdWDi4#K;P280vZ`cdjDFFirx^; z6+{}Ue_7!10~UyUd38UtZC6DZRt@kz zwYR6K3V!W1z_G!x0_;yZ{^T^?G={o||EF=j)wW#(u*Uxn`Y(^G@Ba>8ooxO8Q(Vv1 z|I_%|NNFAcxV-2+UFU<{MWIB^4&zaML|hQ$x9f9deGbegw+_CoTcvF__V00RZvXR} ztyh4o%m0oKtNGu{ljH68znalE=L0RWXR^U;db^S4P0IiQ-p2>sy-3CS?Cw9r0(n z?(P4x&$uqvR{+-f|3UTqzvIJK+w=dP;ip?kT z{9gszO7F!s*ceh~$f_XcX*Pgthae8 zKf(1Z?0>%gPc3cw6(??+FD-jz-J73%ckUW^{*hv3C5p7j98BpW&u)AcLM(__j?@Aw z&txghEwr&|eqOdw)x0I^mo0021FQnke&U3ctu?Ft@giRlRzK{}qG(GiKhH>!kxyoW z))2){U-H6g{383JZD}g%NXHQFsvVK%YVMWBc0*JxTu&51SM+Hnqj5Lpqk-#P(7Nnb zLAXcGylN1x(W-s&=p#yF@&SEBoHFq`N@h6s$X!PoE0w0m?e##}pJs&oY4d`|9MYQ4 z<=j@90=yR&ZYHh&%T80J@c=AjBQP1K{H&9Mk(=N9;f*mnj=L;}o*Xdqpbu>fWu zi!i7>qlXQuFPtPzq(&&4y82y;r!QKSda~q4eM!=fX$a-uQeO7mVp_77pz4r#AALlz z%t2y-zAMAcoqu^CsTwg6%i>vf=RpHxpV?$N`Fkrx)tu=*$5TTp_0z=!_24RvqAMDa zU}?23Zo2xZZ-7cw`cH3+xjyp1Oqfme9^>4vFDb9o6}-GNPq77M@HvE>n1`I87-UgX6^nJ7PBGpO2_8s2ZuC`{{Hm(hs#lY>>={h zXGa`;|Ks)h*MFQ}{`Aw?#ZP~npT0jmcl4Ij{Sz0F=wdin13kGH2k{Pxoy zSC`lC8fKFv%?j|(LL?IKswsIIU!RM42rPjY)U5^KczmiJdh|Eb9g*^XC(sT8= zGMbH|ZcxR?L4p#U6^c&S^_jFDVL_vG4!=qt!5tRImD==lADgFh+27cb!nEnil*1a- zp@veJH-T+Bv>(Cj=xjYewga>zdpNv|qvcS2r>Ld~5Z#=`0;a5cY&~L_m&~Ij7OIhk!!oo!fdn>Mq zsPqqfcGeW%m}mrfy@}T~5_yn;^rdon=wEG3g+p#vh`T$$IX!!H?k~`3-yZ&%lKBG4D+6jULUjYw|PX( zh!)YV%b*5XL2OtzJxztIHKQ~d@6E=_z}UQ@iTXlSR5H2uu=4u8jfTE+u?CQLf4wX# z1I!b#d`p;(!W=@9&SjXSe70BT_qHndnXY#AzpPH*VK!@*Gc*30rfYao$vbB#E#B21m)#O&eCD7Fb;#e2tIEeQ7jXQVm4c^R$5$9 zl1nJd+DC5R#VuK(S@D!^UQ>UstV?q?|yDmrm3WZ0yrkz=BKZyA;5 z`bDWmSVz&>*zMH5SpU|}{%7R*H1@xL+^^XG!K>~5@29z*mHj`9>-PV?7CaaEFV}*b zMY(5J_ch_Y!Wd_1e92&cu~ut)J=WFE{xcf2|J+0ET4(&-WQU`uBfc4yxz>ADtX- z?f;Wp&(8j58vvWW|Ko$I4Ai&wp%w=xl+RaaI#}UhM=`HN@bPvFw)|dAl26vr%V`i-S_dtCp$BbAN)|2@*cb@|`n zt6Kf<{ky1&@r{^eYWEafNXpCFR=9XE4%-#XYNh< z64vUSq%X9})pz6@+*^jvSryQ=C*O=<{$0BpU*cSB#W`q;p85QsIW>1`$t`ju=8-j{OsHnL)!Otijr9vQZ1Ywsd& z(Y&_ks70UJLRDLCR=xmOr^W79AO+7%iM9z$^>iRNyFYi(vb`SdS{eVPf<*j*!Qa~W z@96mOq_X~JaPn%fegFF;*Vh;S9emqSo59f{Kb)!a?SZjOS!k#wSF%=*kO?w1mpai-6<$Su zgeI6orlDVLS0hB7C|4<;A&g?UwWn{G*)*9Xyy$I6Cd?a>5+7@_TxeRIELF% zxpQr5`nd(DXLY{9VkZ0IBmq_EsdQG)8~VO!Qi2>QqX+pwcJEQ94oySb@?IM6z8aGc z`YDy>iY7|lHxLe*w2}=U)hx+sn%$F5duH#p8E5~Kl4}IYSfD_6caRND7@ey&3Y|v# zy$Xd@#I#KLYI1%=5#}36-$-l2UU4L;8pmjfldNt)S4xR$aFlNCH_-JO0?I;!Yc?9~ z5rJ-{Ri1({<{CmIqd11fOQfl(@4v5@$NeVaGc{VJ`D*)?KT}x!%BN-fmOoC6fpS}> zQnQg@s-^0Zt@`ji^brY0<`rzhQ)}Ek<&wSs6MF@u9I<`$5e0Of;6UV1k#|q;BaKj% ztP+C&i$Vno!y5 z29{0e7XW_7{DQ_8X%xMeT`e_JUf8W=aV>(dW-bG@?6s8!qT27HJyn-N@B!_KWdfIz z+zMH(_L28LViNsN5AE-7MyU6|$YhDc3=3_kQb2TqusX|)Oh};C1}K6l7Mt4;Hb#vL z1+hvO1|L$wApAu_bJM40p$5&gJG4wUzc#S#21hn=jaCbWgOZlnc28=*_wM@jn^VsW zSH{^M$EkJ|f81b?wV5+>wd|Wq179RqIb@gV9hDq9nN){gA*%)j1Kfz2H6<+sMKEhO zwA-QFq`sPK3ri?$t;>+hexWKoUun+odU0tR&s$w%JW38Bxsr6XwX!IUa0Zbsx(3j z$5XIOz>8A-L|-ixA8Fi_`&wlI_A7nXs5*_KWp=b?P30kiImCjmQ2oc$9fNK)^wOO2 zK!cI`ROtg1oXUTf|H??12e>8Z`;Vf!7;(W!Jk@&Jq@-iaL3bFb){fV=E>TYysN#Z; zJUxm=8m&Sn<7z9s7Hx2g9=;;mTAbqi%%=^Ix-?xLfSfv6Z#~7vltzH#wjBIH zH{YCva-2;V*b1*jE1VqI-=BvY;FU4)LHM;}W2_cfO@X!LYm5-k2wEATwvLz4qvosaGuA9t&N`Gx z*ejh$Y(-L~T(nh)ItD~zRYnmrKoc58^fng{?v=+?X{s}JezYL9IlOEU8RnLvwV*E? zLf$B6y4n5B!-iO8_Tiq`wX_L0=@?iH0(gGNgIamKp`FMUab4hfo)RB?o4g_zH}XpZmD;qj5x|KS+v72pRud>IRT*TZqx3uc(%KmhB>tg3{q zX`P*+#8D5WNdgT0e`}Ff>m7JN8R&_e9Oatf?q@ss}&d!yX;<83Xedy zl(gMPdkm&<_bV2`40-?cpSbr|zxPkS_pkr|MP@wrTN?1*rZomjqEG}vD1j;@3-cLp zg>py*@2X!4hD_Qs5Oc}^iJ8m@l&pBUZ1W-doaW!A%O<|yK?ZKoXxvs<;&StxS zn-MPg9+4Zpka?G*U4{8BnxwI6*hO$BlT9sGM4%at!w9tWA&7-iSV3t^#?=+&mTwcaXidJP@J?YpH;I?ei?qKB0w=1YTeew1VcJ`|9$r9izRVMaT$QK3MY z_P`zC0>VN+a=j>&Rx4|+J^E=*zlvz3v3dpS!m_@igGOP6GR}^=W%YG)-nrB;hTCex z8Z}LtsrKlpH`5t(<8t>5F|B+1C1PguR93^XB6FPZuC^N5Xq2dg&N<& zr+f+5zt7$gx6s{GEKjua3YLv3o!BRlEeGAAvsAgBm< zg(*8E-yDHCifMtpTfF04VI(}|Plk$E3a&aY%Yy7Y#J^ZMbDfe=H5=|toT-5MwFmg&gbN)4M_Li)z(v7G{0;1$_I~b zFu{_GFTt!HW?DV?)Nv$R`(fR)P@l5h0C}_MqYmRLjiM_Wkzkpx;C~(6;wATxcQ(18 z;!20dGK7Eyu%d3Te$b|xb^{ut{Gh;x%<50Pz~^*2CGqqe77*pr8lApBy*~Aj_xtPX zi?fTL|rY#V~;@A={j&mHn{c<6|Bv!5y zAA9b6-HAZ4lCu$k{7Z)3eoN4$NW2;FSqQNpVwoKaY3S`brLuna4M>FcYlSSztmLIU zX1VLyX6AIvww2?u)-_DKg2E?(t?;fFw;ppS2lwt%3*S&Hnm?76mn6_5C$)+`&4Ca-rq&~*B=@79m|46!0 zUh2J@0cxC#t|-m%GOL29lFjW5Vgy9hKnes2*H0-!>(G*Ii@Dl*@#uSU^}CiT;f(UN zCErFuU0TFY60h3nZ;dE#NIN&s~PvUZ3e&RsWU7!C&I}1CRe) z|NZxu{p$IjFHerQ_1~wszQ+3R24!8dC$71;TRq?EM-r)1kJZ2H8o!xgCbJy%@4CiW zRW~n4uIupn>dbt-L?ZMCCwNREA_#EbdX&9lbsXkgEsGn#)wjBiWAuxbpIbh+*QdSe z_TQgDG}jXONMo$A|NW!ms{KFi54PWbdXj4gU11^PS&jrn#t^Cc$v7pEs<9+ExWQ9x z=GCfMo+b%pLfUSKA~cQY7|pQ=W+a|=5rYT|Y3kLHjm3Q&hn*c1!&G~cy@bJp+(D?9 z0{&y)N0)K5RBHhfjS@x+5P`PQe5 tOgrEH-;SR!`X>aU oracle.kubernetes operator-parent - 3.1.1 + 3.1.2 integration-tests diff --git a/integration-tests/src/test/java/oracle/weblogic/domain/DomainSpec.java b/integration-tests/src/test/java/oracle/weblogic/domain/DomainSpec.java index 3dea8f9d9e1..0f08aef6c92 100644 --- a/integration-tests/src/test/java/oracle/weblogic/domain/DomainSpec.java +++ b/integration-tests/src/test/java/oracle/weblogic/domain/DomainSpec.java @@ -65,17 +65,17 @@ public class DomainSpec { private Boolean includeServerOutInPodLog; @ApiModelProperty( - "The WebLogic Docker image; required when domainHomeSourceType is Image or FromModel; " + "The WebLogic Server image; required when domainHomeSourceType is Image or FromModel; " + "otherwise, defaults to container-registry.oracle.com/middleware/weblogic:12.2.1.4.") private String image; @ApiModelProperty( - "The image pull policy for the WebLogic Docker image. " + "The image pull policy for the WebLogic Server image. " + "Legal values are Always, Never and IfNotPresent. " + "Defaults to Always if image ends in :latest, IfNotPresent otherwise.") private String imagePullPolicy; - @ApiModelProperty("A list of image pull secrets for the WebLogic Docker image.") + @ApiModelProperty("A list of image pull secrets for the WebLogic Server image.") private List imagePullSecrets = new ArrayList<>(); @ApiModelProperty( @@ -87,14 +87,14 @@ public class DomainSpec { @Deprecated @ApiModelProperty( "Deprecated. Use domainHomeSourceType instead. Ignored if domainHomeSourceType is specified." - + " True indicates that the domain home file system is contained in the Docker image" + + " True indicates that the domain home file system is contained in the image" + " specified by the image field. False indicates that the domain home file system is located" + " on a persistent volume.") private Boolean domainHomeInImage; @ApiModelProperty( "Domain home file system source type: Legal values: Image, PersistentVolume, FromModel." - + " Image indicates that the domain home file system is contained in the Docker image" + + " Image indicates that the domain home file system is contained in the image" + " specified by the image field. PersistentVolume indicates that the domain home file system is located" + " on a persistent volume. FromModel indicates that the domain home file system will be created" + " and managed by the operator based on a WDT domain model." diff --git a/integration-tests/src/test/resources/domain/domain-260.yaml b/integration-tests/src/test/resources/domain/domain-260.yaml index 6a7470386c8..f3d342f1676 100644 --- a/integration-tests/src/test/resources/domain/domain-260.yaml +++ b/integration-tests/src/test/resources/domain/domain-260.yaml @@ -18,7 +18,7 @@ spec: # If the domain home is in the image domainHomeInImage: true - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "domain-home-in-image:12.2.1.4" # imagePullPolicy defaults to "Always" if image version is :latest diff --git a/json-schema-maven-plugin/pom.xml b/json-schema-maven-plugin/pom.xml index 66b7ebbb627..381e5ef0e85 100644 --- a/json-schema-maven-plugin/pom.xml +++ b/json-schema-maven-plugin/pom.xml @@ -7,7 +7,7 @@ operator-parent oracle.kubernetes - 3.1.1 + 3.1.2 jsonschema-maven-plugin diff --git a/json-schema/pom.xml b/json-schema/pom.xml index 66b2490bac7..5d87e8a0823 100644 --- a/json-schema/pom.xml +++ b/json-schema/pom.xml @@ -7,7 +7,7 @@ operator-parent oracle.kubernetes - 3.1.1 + 3.1.2 json-schema diff --git a/kubernetes/charts/weblogic-operator/Chart.yaml b/kubernetes/charts/weblogic-operator/Chart.yaml index 48cd475142a..21e99749962 100644 --- a/kubernetes/charts/weblogic-operator/Chart.yaml +++ b/kubernetes/charts/weblogic-operator/Chart.yaml @@ -6,5 +6,5 @@ name: weblogic-operator description: Helm chart for configuring the WebLogic operator. type: application -version: 3.1.1 -appVersion: 3.1.1 +version: 3.1.2 +appVersion: 3.1.2 diff --git a/kubernetes/charts/weblogic-operator/values.yaml b/kubernetes/charts/weblogic-operator/values.yaml index 448c91293e3..b3be8855f71 100644 --- a/kubernetes/charts/weblogic-operator/values.yaml +++ b/kubernetes/charts/weblogic-operator/values.yaml @@ -62,14 +62,14 @@ domainNamespaces: # will be granted using a ClusterRoleBinding rather than using RoleBindings in each managed namespace. enableClusterRoleBinding: false -# image specifies the Docker image containing the operator. -image: "ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1" +# image specifies the container image containing the operator. +image: "ghcr.io/oracle/weblogic-kubernetes-operator:3.1.2" -# imagePullPolicy specifies the image pull policy for the operator's Docker image. +# imagePullPolicy specifies the image pull policy for the operator's container image. imagePullPolicy: IfNotPresent # imagePullSecrets contains an optional list of Kubernetes Secrets, in the operator's namespace, -# that are needed to access the registry containing the operator's Docker image. +# that are needed to access the registry containing the operator's container image. # The customer is responsible for creating the Secret. # If no Secrets are required, then omit this property. # @@ -105,7 +105,7 @@ istioEnabled: false # elkIntegrationEnabled specifies whether or not ELK integration is enabled. elkIntegrationEnabled: false -# logStashImage specifies the Docker image containing logstash. +# logStashImage specifies the container image containing logstash. # This parameter is ignored if 'elkIntegrationEnabled' is false. logStashImage: "logstash:6.6.0" diff --git a/kubernetes/crd/domain-crd.yaml b/kubernetes/crd/domain-crd.yaml index b028f5fd264..a9960bdc256 100644 --- a/kubernetes/crd/domain-crd.yaml +++ b/kubernetes/crd/domain-crd.yaml @@ -132,7 +132,7 @@ spec: type: string imagePullSecrets: type: array - description: A list of image pull Secrets for the WebLogic container + description: A list of image pull Secrets for the WebLogic Server image. items: type: object @@ -5173,11 +5173,11 @@ spec: - ADMIN image: type: string - description: The WebLogic container image; required when `domainHomeSourceType` + description: The WebLogic Server image; required when `domainHomeSourceType` is Image or FromModel; otherwise, defaults to container-registry.oracle.com/middleware/weblogic:12.2.1.4. imagePullPolicy: type: string - description: The image pull policy for the WebLogic container image. + description: The image pull policy for the WebLogic Server image. Legal values are Always, Never, and IfNotPresent. Defaults to Always if image ends in :latest; IfNotPresent, otherwise. enum: diff --git a/kubernetes/crd/domain-v1beta1-crd.yaml b/kubernetes/crd/domain-v1beta1-crd.yaml index eef26db2252..cc781c64c13 100644 --- a/kubernetes/crd/domain-v1beta1-crd.yaml +++ b/kubernetes/crd/domain-v1beta1-crd.yaml @@ -133,8 +133,7 @@ spec: type: string imagePullSecrets: type: array - description: A list of image pull Secrets for the WebLogic container - image. + description: A list of image pull Secrets for the WebLogic Server image. items: type: object properties: @@ -5160,13 +5159,13 @@ spec: - ADMIN image: type: string - description: The WebLogic container image; required when `domainHomeSourceType` + description: The WebLogic Server image; required when `domainHomeSourceType` is Image or FromModel; otherwise, defaults to container-registry.oracle.com/middleware/weblogic:12.2.1.4. imagePullPolicy: type: string - description: The image pull policy for the WebLogic container image. - Legal values are Always, Never, and IfNotPresent. Defaults to Always - if image ends in :latest; IfNotPresent, otherwise. + description: The image pull policy for the WebLogic Server image. Legal + values are Always, Never, and IfNotPresent. Defaults to Always if + image ends in :latest; IfNotPresent, otherwise. enum: - Always - Never diff --git a/kubernetes/hands-on-lab/domain.yaml b/kubernetes/hands-on-lab/domain.yaml index cd92135c9f9..848721c1976 100644 --- a/kubernetes/hands-on-lab/domain.yaml +++ b/kubernetes/hands-on-lab/domain.yaml @@ -20,10 +20,10 @@ spec: # Note that this might be in the image itself or in a mounted volume or network storage. domainHome: /u01/oracle/user_projects/domains/sample-domain1 - # If the domain home is inside the Docker image, set this to `true`, otherwise set `false`: + # If the domain home is inside the image, set this to `true`, otherwise set `false`: domainHomeInImage: true - # Update this with the name of the Docker image that will be used to run your domain: + # Update this with the name of the container image that will be used to run your domain: #image: "YOUR_OCI_REGION_CODE.ocir.io/YOUR_TENANCY_NAME/weblogic-operator-tutorial:latest" image: "iad.ocir.io/weblogick8s/weblogic-operator-tutorial-store:1.0" @@ -68,7 +68,7 @@ spec: # nodeSelector: # node-for-weblogic: "true" - # If you are storing your domain on a persistent volume (as opposed to inside the Docker image), + # If you are storing your domain on a persistent volume (as opposed to inside the image), # then uncomment this section and provide the PVC details and mount path here (standard images # from Oracle assume the mount path is `/shared`): # volumes: diff --git a/kubernetes/hands-on-lab/tutorials/install.operator.ocishell.md b/kubernetes/hands-on-lab/tutorials/install.operator.ocishell.md index 43c16d93441..96a08761de3 100644 --- a/kubernetes/hands-on-lab/tutorials/install.operator.ocishell.md +++ b/kubernetes/hands-on-lab/tutorials/install.operator.ocishell.md @@ -65,7 +65,7 @@ Note the arguments and values: - The name of the Helm release. - The relative path to the Helm chart. - **namespace**: The namespace where the operator is to be deployed. -- **image**: The prebuilt operator 3.1.1 image, available on the public Docker Hub. +- **image**: The prebuilt operator 3.1.2 image, available on the public GitHub Container Registry. - **serviceAccount**: The service account required to run the operator. - **enableClusterRoleBinding**: Grants the operator privileges in all cluster namespaces. - **domainNamespaceSelectionStrategy**: Chooses how the operator will select namespaces it manages. @@ -78,7 +78,7 @@ Execute the following `helm install`: helm install sample-weblogic-operator \ kubernetes/charts/weblogic-operator \ --namespace sample-weblogic-operator-ns \ - --set "image=ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1" \ + --set "image=ghcr.io/oracle/weblogic-kubernetes-operator:3.1.2" \ --set "serviceAccount=sample-weblogic-operator-sa" \ --set "enableClusterRoleBinding=true" \ --set "domainNamespaceSelectionStrategy=LabelSelector" \ diff --git a/kubernetes/pom.xml b/kubernetes/pom.xml index ca6b8e78c27..9f44bbe56b2 100644 --- a/kubernetes/pom.xml +++ b/kubernetes/pom.xml @@ -9,7 +9,7 @@ oracle.kubernetes operator-parent - 3.1.1 + 3.1.2 installation-tests diff --git a/kubernetes/samples/charts/apache-samples/custom-sample/input.yaml b/kubernetes/samples/charts/apache-samples/custom-sample/input.yaml index 3f85e4ecd5f..835bac43372 100644 --- a/kubernetes/samples/charts/apache-samples/custom-sample/input.yaml +++ b/kubernetes/samples/charts/apache-samples/custom-sample/input.yaml @@ -6,7 +6,7 @@ persistentVolumeClaimName: # imagePullSecrets contains an optional list of Kubernetes secrets, that are needed -# to access the registry containing the apache webtier Docker image. +# to access the registry containing the apache webtier image. # If no secrets are required, then omit this property. # # Example : a secret is needed, and has been stored in 'my-apache-webtier-secret' diff --git a/kubernetes/samples/charts/apache-webtier/values.yaml b/kubernetes/samples/charts/apache-webtier/values.yaml index 834a8344969..74299356c1d 100644 --- a/kubernetes/samples/charts/apache-webtier/values.yaml +++ b/kubernetes/samples/charts/apache-webtier/values.yaml @@ -8,7 +8,7 @@ image: "oracle/apache:12.2.1.3" imagePullPolicy: "IfNotPresent" # imagePullSecrets contains an optional list of Kubernetes secrets, that are needed -# to access the registry containing the apache webtier Docker image. +# to access the registry containing the apache webtier image. # If no secrets are required, then omit this property. # # Example : a secret is needed, and has been stored in 'my-apache-webtier-secret' @@ -19,8 +19,8 @@ imagePullPolicy: "IfNotPresent" # imagePullSecrets: # - name: -# Docker volume path for Apache webtier. By default, it is empty, which causes the volume -# mount be disabled and, thereforem the built-in Apache plugin config be used. +# Volume path for Apache webtier. By default, it is empty, which causes the volume +# mount be disabled and, therefore, the built-in Apache plugin config be used. # Use this to provide your own Apache webtier configuration as needed; simply define this # path and put your own custom_mod_wl_apache.conf file under this path. persistentVolumeClaimName: diff --git a/kubernetes/samples/scripts/common/domain-template.yaml b/kubernetes/samples/scripts/common/domain-template.yaml index a64edf3a81c..798cf59e429 100644 --- a/kubernetes/samples/scripts/common/domain-template.yaml +++ b/kubernetes/samples/scripts/common/domain-template.yaml @@ -18,7 +18,7 @@ spec: # Set to PersistentVolume for domain-in-pv, Image for domain-in-image, or FromModel for model-in-image domainHomeSourceType: %DOMAIN_HOME_SOURCE_TYPE% - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "%WEBLOGIC_IMAGE%" # imagePullPolicy defaults to "Always" if image version is :latest diff --git a/kubernetes/samples/scripts/common/jrf-domain-template.yaml b/kubernetes/samples/scripts/common/jrf-domain-template.yaml index 051127c424e..29e11b030d1 100644 --- a/kubernetes/samples/scripts/common/jrf-domain-template.yaml +++ b/kubernetes/samples/scripts/common/jrf-domain-template.yaml @@ -18,7 +18,7 @@ spec: # Set to PersistentVolume for domain-in-pv, Image for domain-in-image, or FromModel for model-in-image domainHomeSourceType: %DOMAIN_HOME_SOURCE_TYPE% - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "%WEBLOGIC_IMAGE%" # imagePullPolicy defaults to "Always" if image version is :latest diff --git a/kubernetes/samples/scripts/common/validate.sh b/kubernetes/samples/scripts/common/validate.sh index 49dfb776ce3..4da87eb1d99 100755 --- a/kubernetes/samples/scripts/common/validate.sh +++ b/kubernetes/samples/scripts/common/validate.sh @@ -218,7 +218,7 @@ function validateWeblogicImagePullSecretName { # Function to validate the weblogic image pull secret exists # function validateWeblogicImagePullSecret { - # The kubernetes secret for pulling images from the docker store is optional. + # The kubernetes secret for pulling images from a container registry is optional. # If it was specified, make sure it exists. validateSecretExists ${imagePullSecretName} ${namespace} failIfValidationErrors diff --git a/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-in-image/create-domain-inputs.yaml b/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-in-image/create-domain-inputs.yaml index 12cd6ea30c0..2c97f68aba6 100644 --- a/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-in-image/create-domain-inputs.yaml +++ b/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-in-image/create-domain-inputs.yaml @@ -37,10 +37,10 @@ managedServerPort: 8001 # Boolean indicating if production mode is enabled for the domain productionModeEnabled: true -# OracleFMWInfrastructure Server Docker image that the operator uses to start the domain. +# OracleFMWInfrastructure Server image that the operator uses to start the domain. # -# The create domain scripts generate a OracleFMWInfrastructure Server Docker image with a domain home in it. -# By default, the scripts tag the generated OracleFMWInfrastructure server Docker image as either +# The create domain scripts generate a OracleFMWInfrastructure Server image with a domain home in it. +# By default, the scripts tag the generated OracleFMWInfrastructure server image as either # `domain-home-in-image` or `domain-home-in-image-wdt` based on the `domainHomeImageBuildPath` # property, and use it to set the `image` element in the generated domain YAML file. # @@ -60,7 +60,7 @@ productionModeEnabled: true # Legal values are "IfNotPresent", "Always", or "Never" imagePullPolicy: IfNotPresent -# Name of the Kubernetes secret to access the Docker Store to pull the OracleFMWInfrastructure Server Docker image +# Name of the Kubernetes secret to access the container registry to pull the OracleFMWInfrastructure Server image # The presence of the secret will be validated when this parameter is enabled. #imagePullSecretName: @@ -129,13 +129,13 @@ domainPVMountPath: /shared # Base OracleFMWInfrastructure binary image used to build the OracleFMWInfrastructure domain image # The operator requires OracleFMWInfrastructure Server 12.2.1.3.0 with patch 29135930 applied. -# The OracleFMWInfrastructure Docker image, `fmw-infrastructure:12.2.1.4`, has all the necessary patches applied. -# Refer to [OracleFMWInfrastructure Docker images](../../../../../site/weblogic-docker-images.md) for details on how +# The OracleFMWInfrastructure image, `fmw-infrastructure:12.2.1.4`, has all the necessary patches applied. +# Refer to [OracleFMWInfrastructure images](../../../../../site/weblogic-server-images.md) for details on how # to obtain or create the image. # See README.md for more help. domainHomeImageBase: container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4 -# Location of the OracleFMWInfrastructure "domain home in image" Docker image sample in the +# Location of the OracleFMWInfrastructure "domain home in image" image sample in the # `https://github.com/oracle/docker-images.git` project. # If not specified, use "./docker-images/OracleFMWInfrastructure/samples/12213-domain-home-in-image". # Another possible value is "./docker-images/OracleFMWInfrastructure/samples/12213-domain-home-in-image-wdt", @@ -143,7 +143,7 @@ domainHomeImageBase: container-registry.oracle.com/middleware/fmw-infrastructure domainHomeImageBuildPath: ./docker-images/OracleFMWInfrastructure/samples/12213-domain-home-in-image # Uncomment to customize the WebLogic Deploy Tool (WDT) version used by the WDT -# "domain home in image" Docker image sample in the Docker images project. See +# "domain home in image" image sample in the Docker images project. See # "domainHomeImageBuildPath". Set to "LATEST" to use the latest version. # wdtVersion: LATEST diff --git a/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-in-image/create-domain.sh b/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-in-image/create-domain.sh index db40c54c2c0..3e185fea877 100755 --- a/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-in-image/create-domain.sh +++ b/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-in-image/create-domain.sh @@ -28,8 +28,8 @@ function usage { echo usage: ${script} -o dir -i file -u username -p password [-k] [-e] [-v] [-h] echo " -i Parameter inputs file, must be specified." echo " -o Output directory for the generated properties and YAML files, must be specified." - echo " -u Username used in building the Docker image for WebLogic domain in image." - echo " -p Password used in building the Docker image for WebLogic domain in image." + echo " -u Username used in building the image for WebLogic domain in image." + echo " -p Password used in building the image for WebLogic domain in image." echo " -e Also create the resources in the generated YAML files, optional." echo " -v Validate the existence of persistentVolumeClaim, optional." echo " -k Keep what has been previously from cloned https://github.com/oracle/docker-images.git, optional. " diff --git a/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-on-pv/create-domain-inputs.yaml b/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-on-pv/create-domain-inputs.yaml index b7e768785de..b5c8a11121f 100644 --- a/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-on-pv/create-domain-inputs.yaml +++ b/kubernetes/samples/scripts/create-fmw-infrastructure-domain/domain-home-on-pv/create-domain-inputs.yaml @@ -37,9 +37,9 @@ managedServerNameBase: managed-server # Port number for each managed server managedServerPort: 8001 -# WebLogic Server Docker image. +# WebLogic Server image. # The operator requires WebLogic Server 12.2.1.3.0 with patch 29135930 applied or 12.2.1.4.0. -# The existing WebLogic Docker image, `container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3`, +# The existing WebLogic Server image, `container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3`, # has all the necessary patches applied; a `docker pull` is required if you already have this image. # Refer to https://oracle.github.io/weblogic-kubernetes-operator/userguide/managing-domains/fmw-infra/ # for details on how to obtain or create the image. @@ -49,7 +49,7 @@ image: container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4 # Legal values are "IfNotPresent", "Always", or "Never" imagePullPolicy: IfNotPresent -# Name of the Kubernetes secret to access the Docker Store to pull the WebLogic Server Docker image +# Name of the Kubernetes secret to access the container registry to pull the WebLogic Server image # The presence of the secret will be validated when this parameter is enabled. #imagePullSecretName: diff --git a/kubernetes/samples/scripts/create-kuberetes-secrets/create-docker-credentials-secret.sh b/kubernetes/samples/scripts/create-kuberetes-secrets/create-docker-credentials-secret.sh index fc186f66f68..f30694fa8df 100755 --- a/kubernetes/samples/scripts/create-kuberetes-secrets/create-docker-credentials-secret.sh +++ b/kubernetes/samples/scripts/create-kuberetes-secrets/create-docker-credentials-secret.sh @@ -3,7 +3,7 @@ # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. # # Description -# This sample script creates a Kubernetes secret for Docker credentials for use with the WLS Operator on AKS. +# This sample script creates a Kubernetes secret for container registry credentials for use with the WLS Operator on AKS. # # The following pre-requisites must be handled prior to running this script: # * The kubernetes namespace must already be created diff --git a/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/create-domain-on-aks-inputs.yaml b/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/create-domain-on-aks-inputs.yaml index 4b9cd00727d..5c1dded93df 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/create-domain-on-aks-inputs.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/create-domain-on-aks-inputs.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2018, 2020, Oracle Corporation and/or its affiliates. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. # The version of this inputs file. Do not modify. @@ -19,10 +19,10 @@ azureServicePrincipalClientSecret: azure-service-principal-client-secret # Tenant (Directory) id of the service principal. azureServicePrincipalTenantId: azure-service-principal-tenant-id -# Oracle Single Sign-On (SSO) account email, used to pull the WebLogic Server Docker image. +# Oracle Single Sign-On (SSO) account email, used to pull the WebLogic Server image. dockerEmail: docker-email -# Oracle SSO account password, used to pull the WebLogic Server Docker image. +# Oracle SSO account password, used to pull the WebLogic Server image. dockerPassword: docker-password # The same value as dockerEmail. @@ -64,8 +64,8 @@ azureStorageClassName: azurefile # The suffix of azure storage file share name, the complete value is ${namePrefix}-${azureStorageShareNameSuffix}-, used to create file share, and mount file share. azureStorageShareNameSuffix: weblogic -# The suffix of the Kubernetes secret name, the complete value is ${namePrefix}${imagePullSecretNameSuffix}. The secret name is used to access the Docker Store to pull the WebLogic Server Docker image -# Used to create kubenetes secret for docker hub account. +# The suffix of the Kubernetes secret name, the complete value is ${namePrefix}${imagePullSecretNameSuffix}. The secret name is used to access the container registry to pull the WebLogic Server image +# Used to create Kubernetes secret for container registry account. # Parameter "imagePullSecretName" will be overwritten with this field in kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/create-domain-inputs.yaml imagePullSecretNameSuffix: regcred @@ -73,10 +73,10 @@ imagePullSecretNameSuffix: regcred # Parameter "persistentVolumeClaimName" will be overwritten with this field in kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/create-domain-inputs.yaml persistentVolumeClaimNameSuffix: azurefile -# Password for weblogic account. +# Password for WebLogic account. weblogicAccountPassword: welcome1 -# WebLogic Server Docker image. +# WebLogic Server image. # Parameter "image" will be overwritten with this field in kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/create-domain-inputs.yaml weblogicDockerImage: container-registry.oracle.com/middleware/weblogic:12.2.1.3 diff --git a/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/create-domain-on-aks.sh b/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/create-domain-on-aks.sh index 9c11a306fbc..3eaec40e5b3 100755 --- a/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/create-domain-on-aks.sh +++ b/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/create-domain-on-aks.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright (c) 2018, 2020, Oracle Corporation and/or its affiliates. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. # # Description @@ -376,7 +376,7 @@ function createWebLogicDomain { bash ${dirCreateDomainCredentials}/create-weblogic-credentials.sh -u ${weblogicUserName} \ -p ${weblogicAccountPassword} -d ${domainUID} - # Create Docker Credentials. + # Create Container Registry Credentials. bash $dirKuberetesSecrets/create-docker-credentials-secret.sh \ -e ${docker-email} \ -p ${dockerPassword} \ diff --git a/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/validate.sh b/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/validate.sh index f6b8638b597..669997a4aa9 100755 --- a/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/validate.sh +++ b/kubernetes/samples/scripts/create-weblogic-domain-on-azure-kubernetes-service/validate.sh @@ -1,17 +1,17 @@ #!/usr/bin/env bash -# Copyright (c) 2018, 2020, Oracle Corporation and/or its affiliates. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. # # Description # This script is to validate if resources are ready for creating a new WebLogic domain. # It will validate the following resources: # * Azure resource group: check if it exists -# * Azure Kubenetes Service instance: check if it is created +# * Azure Kubernetes Service instance: check if it is created # * Azure storage account: check if it is created # * Azure file share: check if it's created -# * Kubenetes secret for Docker account: check if it's created -# * Kubenetes secret for storage account: check if it's created -# * Kubenetes secret for WebLogic domain: check if it's created +# * Kubernetes secret for container registry account: check if it's created +# * Kubernetes secret for storage account: check if it's created +# * Kubernetes secret for WebLogic domain: check if it's created # * Persistent Volume: check if it's mounted and verify the status and storage class # * Persistent Volume Claim: check if it's mounted and verify the status and storage class @@ -21,16 +21,16 @@ scriptDir="$( cd "$( dirname "${script}" )" && pwd )" function usage { echo "Arguments" - echo " --aks-name [Required] :Azure Kubernetes Servie instance name. " + echo " --aks-name [Required] :Azure Kubernetes Service instance name. " echo " --file-share [Required] :File share name." echo " --resource-group -g [Required] :Resource group name." - echo " --storage-account [Required] :Strorage account name." + echo " --storage-account [Required] :Storage account name." echo " --domain-uid -d [Required] :Domain UID." echo " --pv-name [Required] : Persistent Volume name." echo " --pvc-name [Required] : Persistent Volume Claim name." - echo " --secret-docker [Required] : Name of the Kubenetes secret that stores docker account." - echo " --secret-storage [Required] : Name of the Kubenetes secret that stores Azure storage file share credentials." + echo " --secret-docker [Required] : Name of the Kubernetes secret that stores docker account." + echo " --secret-storage [Required] : Name of the Kubernetes secret that stores Azure storage file share credentials." echo " --help -h :Help" exit $1 } @@ -42,7 +42,7 @@ while test $# -gt 0; do if test $# -gt 0; then export aksName=$1 else - echo "Azure Kubenetes Service instance name is required." + echo "Azure Kubernetes Service instance name is required." exit 1 fi shift @@ -112,7 +112,7 @@ while test $# -gt 0; do if test $# -gt 0; then export secretDocker=$1 else - echo "Secret name for Docker Account is required." + echo "Secret name for Container Registry Account is required." exit 1 fi shift @@ -187,7 +187,7 @@ function fail { function validateAzLogin { az account show if [ $? -ne 0 ]; then - fail "Pleaze run az login to setup account." + fail "Please run az login to setup account." fi } @@ -203,7 +203,7 @@ function validateStorageAccount { echo $ret nameAvailable=$(echo "$ret" | grep "AlreadyExists") if [ -z "$nameAvailable" ];then - fail "Storage account ${storageAccount} is unavaliable." + fail "Storage account ${storageAccount} is unavailable." fi } @@ -221,7 +221,7 @@ function validateFileShare { echo Check if file share exists ret=$( az storage share exists --name ${fileShare} --account-name ${storageAccount} --connection-string $azureStorageConnectionString | grep "exists" | grep false) if [ -n "$ret" ];then - fail "File share ${fileShare} is unavaliable." + fail "File share ${fileShare} is unavailable." fi } @@ -302,7 +302,7 @@ function validatePVC { function validateOperator { ret=$(kubectl get pods | grep "weblogic-operator" | grep "Running") if [ -z "${ret}" ]; then - fail "Please make sure weblogic operator is running." + fail "Please make sure WebLogic operator is running." fi } @@ -318,12 +318,12 @@ function pass { echo "PASS" echo "You can create your domain with the following resources ready:" echo " Azure resource group: ${resourceGroup}" - echo " Azure Kubenetes Service instacne: ${aksName}" + echo " Azure Kubernetes Service instance: ${aksName}" echo " Azure storage account: ${storageAccount}" echo " Azure file share: ${fileShare}" - echo " Kubenetes secret for Azure storage: ${secretStorage}" - echo " Kubenetes secret for Docker Account: ${secretDocker}" - echo " Kubenetes secret for Weblogic domain: ${secretWebLogic}" + echo " Kubernetes secret for Azure storage: ${secretStorage}" + echo " Kubernetes secret for Container Registry Account: ${secretDocker}" + echo " Kubernetes secret for WebLogic domain: ${secretWebLogic}" echo " Persistent Volume: ${pvName}" echo " Persistent Volume Claim: ${pvcName}" } diff --git a/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/create-domain-inputs.yaml b/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/create-domain-inputs.yaml index dcf344379e7..15eefea4aeb 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/create-domain-inputs.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/create-domain-inputs.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2018, 2020, Oracle Corporation and/or its affiliates. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. # The version of this inputs file. Do not modify. @@ -47,10 +47,10 @@ managedServerSSLPort: 8002 # Boolean indicating if production mode is enabled for the domain productionModeEnabled: true -# WebLogic Server Docker image that the operator uses to start the domain. +# WebLogic Server image that the operator uses to start the domain. # -# The create domain scripts generate a WebLogic Server Docker image with a domain home in it. -# By default, the scripts tag the generated WebLogic server Docker image as either +# The create domain scripts generate a WebLogic Server image with a domain home in it. +# By default, the scripts tag the generated WebLogic Server image as either # `domain-home-in-image` or `domain-home-in-image-wdt` based on the `domainHomeImageBuildPath` # property, and use it to set the `image` element in the generated domain YAML file. # @@ -70,7 +70,7 @@ productionModeEnabled: true # Legal values are "IfNotPresent", "Always", or "Never" imagePullPolicy: IfNotPresent -# Name of the Kubernetes secret to access the Docker Store to pull the WebLogic Server Docker image +# Name of the Kubernetes secret to access the container registry to pull the WebLogic Server image # The presence of the secret will be validated when this parameter is enabled. #imagePullSecretName: @@ -146,13 +146,13 @@ domainPVMountPath: /shared # Base WebLogic binary image used to build the WebLogic domain image # The operator requires WebLogic Server 12.2.1.3.0 with patch 29135930 applied or 12.2.1.4.0. -# The WebLogic Docker image, `weblogic:12.2.1.3`, has all the necessary patches applied. -# Refer to [WebLogic Docker images](../../../../../site/weblogic-docker-images.md) for details on how +# The WebLogic Server image, `weblogic:12.2.1.3`, has all the necessary patches applied. +# Refer to [WebLogic Server images](../../../../../site/weblogic-server-images.md) for details on how # to obtain or create the image. # See README.md for more help. domainHomeImageBase: container-registry.oracle.com/middleware/weblogic:12.2.1.4 -# Location of the WebLogic "domain home in image" Docker image sample in the +# Location of the WebLogic "domain home in image" image sample in the # `https://github.com/oracle/docker-images.git` project. # If not specified, use "./docker-images/OracleWebLogic/samples/12213-domain-home-in-image". # Another possible value is "./docker-images/OracleWebLogic/samples/12213-domain-home-in-image-wdt", @@ -160,7 +160,7 @@ domainHomeImageBase: container-registry.oracle.com/middleware/weblogic:12.2.1.4 domainHomeImageBuildPath: ./docker-images/OracleWebLogic/samples/12213-domain-home-in-image # Uncomment to customize the WebLogic Deploy Tool (WDT) version used by the WDT -# "domain home in image" Docker image sample in the Docker images project. See +# "domain home in image" image sample in the Docker images project. See # "domainHomeImageBuildPath". Set to "LATEST" to use the latest version. # wdtVersion: LATEST diff --git a/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/create-domain.sh b/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/create-domain.sh index 249a5142850..11a12b17c9a 100755 --- a/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/create-domain.sh +++ b/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/create-domain.sh @@ -28,8 +28,8 @@ function usage { echo usage: ${script} -o dir -i file -u username -p password [-s] [-k] [-e] [-v] [-h] echo " -i Parameter inputs file, must be specified." echo " -o Output directory for the generated properties and YAML files, must be specified." - echo " -u Username used in building the Docker image for WebLogic domain in image." - echo " -p Password used in building the Docker image for WebLogic domain in image." + echo " -u Username used in building the image for WebLogic domain in image." + echo " -p Password used in building the image for WebLogic domain in image." echo " -e Also create the resources in the generated YAML files, optional." echo " -v Validate the existence of persistentVolumeClaim, optional." echo " -k Keep what has been previously from cloned https://github.com/oracle/docker-images.git, optional. " diff --git a/kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/create-domain-inputs.yaml b/kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/create-domain-inputs.yaml index 9bc5aa386c6..c5cd149117d 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/create-domain-inputs.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/create-domain-inputs.yaml @@ -37,10 +37,10 @@ managedServerNameBase: managed-server # Port number for each managed server managedServerPort: 8001 -# WebLogic Server Docker image. +# WebLogic Server image. # The operator requires WebLogic Server 12.2.1.3.0 with patch 29135930 applied or 12.2.1.4.0. -# The WebLogic Docker image, `weblogic:12.2.1.3`, has all the necessary patches applied. -# Refer to [WebLogic Docker images](../../../../../site/weblogic-docker-images.md) for details on how +# The WebLogic Server image, `weblogic:12.2.1.3`, has all the necessary patches applied. +# Refer to [WebLogic Server images](../../../../../site/weblogic-server-images.md) for details on how # to obtain or create the image. image: container-registry.oracle.com/middleware/weblogic:12.2.1.4 @@ -48,7 +48,7 @@ image: container-registry.oracle.com/middleware/weblogic:12.2.1.4 # Legal values are "IfNotPresent", "Always", or "Never" imagePullPolicy: IfNotPresent -# Name of the Kubernetes secret to access the Docker Store to pull the WebLogic Server Docker image +# Name of the Kubernetes secret to access the container registry to pull the WebLogic Server image # The presence of the secret will be validated when this parameter is enabled. #imagePullSecretName: diff --git a/kubernetes/samples/scripts/create-weblogic-domain/manually-create-domain/domain.yaml b/kubernetes/samples/scripts/create-weblogic-domain/manually-create-domain/domain.yaml index 059ae03d9e0..d2358d85de7 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/manually-create-domain/domain.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/manually-create-domain/domain.yaml @@ -23,7 +23,7 @@ spec: # Domain home source type. Legal values are Image, PersistentVolume, or FromModel domainHomeSourceType: Image - # Update this with the name of the Docker image that will be used to run your domain: + # Update this with the name of the image that will be used to run your domain: image: "my-domain1-image:1.0" # imagePullPolicy defaults to "Always" if image version is :latest @@ -70,7 +70,7 @@ spec: cpu: "250m" memory: "768Mi" - # If you are storing your domain on a persistent volume (as opposed to inside the Docker image), + # If you are storing your domain on a persistent volume (as opposed to inside the image), # then uncomment this section and provide the PVC details and mount path here (standard images # from Oracle assume the mount path is `/shared`): # volumes: diff --git a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-initial-d1-JRF-v1.yaml b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-initial-d1-JRF-v1.yaml index aac0a369301..15b973b996c 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-initial-d1-JRF-v1.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-initial-d1-JRF-v1.yaml @@ -19,7 +19,7 @@ spec: # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain1 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:JRF-v1" # Defaults to "Always" if image tag (version) is ':latest' diff --git a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update1-d1-JRF-v1-ds.yaml b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update1-d1-JRF-v1-ds.yaml index 2d81b421e14..363064811c5 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update1-d1-JRF-v1-ds.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update1-d1-JRF-v1-ds.yaml @@ -19,7 +19,7 @@ spec: # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain1 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:JRF-v1" # Defaults to "Always" if image tag (version) is ':latest' diff --git a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update2-d2-JRF-v1-ds.yaml b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update2-d2-JRF-v1-ds.yaml index edacea21539..f58e0f18132 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update2-d2-JRF-v1-ds.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update2-d2-JRF-v1-ds.yaml @@ -19,7 +19,7 @@ spec: # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain2 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:JRF-v1" # Defaults to "Always" if image tag (version) is ':latest' diff --git a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update3-d1-JRF-v2-ds.yaml b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update3-d1-JRF-v2-ds.yaml index c3934f3fe8d..88314cd5b7b 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update3-d1-JRF-v2-ds.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/JRF/mii-update3-d1-JRF-v2-ds.yaml @@ -19,7 +19,7 @@ spec: # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain1 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:JRF-v2" # Defaults to "Always" if image tag (version) is ':latest' diff --git a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-initial-d1-WLS-v1.yaml b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-initial-d1-WLS-v1.yaml index 9f61a217c38..fa25b69b34d 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-initial-d1-WLS-v1.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-initial-d1-WLS-v1.yaml @@ -19,7 +19,7 @@ spec: # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain1 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:WLS-v1" # Defaults to "Always" if image tag (version) is ':latest' diff --git a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update1-d1-WLS-v1-ds.yaml b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update1-d1-WLS-v1-ds.yaml index b35dac193a3..510de15e95f 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update1-d1-WLS-v1-ds.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update1-d1-WLS-v1-ds.yaml @@ -19,7 +19,7 @@ spec: # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain1 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:WLS-v1" # Defaults to "Always" if image tag (version) is ':latest' diff --git a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update2-d2-WLS-v1-ds.yaml b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update2-d2-WLS-v1-ds.yaml index 8177fc31686..9c53672be4d 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update2-d2-WLS-v1-ds.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update2-d2-WLS-v1-ds.yaml @@ -19,7 +19,7 @@ spec: # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain2 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:WLS-v1" # Defaults to "Always" if image tag (version) is ':latest' diff --git a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update3-d1-WLS-v2-ds.yaml b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update3-d1-WLS-v2-ds.yaml index 2b25462df1d..8a67871f8eb 100644 --- a/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update3-d1-WLS-v2-ds.yaml +++ b/kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources/WLS/mii-update3-d1-WLS-v2-ds.yaml @@ -19,7 +19,7 @@ spec: # the image for 'Model in Image' domains. domainHome: /u01/domains/sample-domain1 - # The WebLogic Server Docker image that the Operator uses to start the domain + # The WebLogic Server image that the Operator uses to start the domain image: "model-in-image:WLS-v2" # Defaults to "Always" if image tag (version) is ':latest' diff --git a/operator/pom.xml b/operator/pom.xml index c425e28e1a5..bb2cf87f3f5 100644 --- a/operator/pom.xml +++ b/operator/pom.xml @@ -7,7 +7,7 @@ oracle.kubernetes operator-parent - 3.1.1 + 3.1.2 weblogic-kubernetes-operator diff --git a/operator/src/main/java/oracle/kubernetes/operator/helpers/KubernetesUtils.java b/operator/src/main/java/oracle/kubernetes/operator/helpers/KubernetesUtils.java index 10bb7e86d4c..e9f4275fd20 100644 --- a/operator/src/main/java/oracle/kubernetes/operator/helpers/KubernetesUtils.java +++ b/operator/src/main/java/oracle/kubernetes/operator/helpers/KubernetesUtils.java @@ -76,10 +76,14 @@ static void addPatches( Map current, Map required) { for (String name : required.keySet()) { + // We must encode each '/' and '~' in a JSON patch token using '~1' and '~0', otherwise + // the JSON patch will incorrectly treat '/' and '~' as special delimiters. (RFC 6901). + // The resulting patched JSON will have '/' and '~' within the token (not ~0 or ~1). + String encodedPath = basePath + name.replace("~","~0").replace("/","~1"); if (!current.containsKey(name)) { - patchBuilder.add(basePath + name, required.get(name)); + patchBuilder.add(encodedPath, required.get(name)); } else { - patchBuilder.replace(basePath + name, required.get(name)); + patchBuilder.replace(encodedPath, required.get(name)); } } } diff --git a/operator/src/main/java/oracle/kubernetes/operator/helpers/ServerConfig.java b/operator/src/main/java/oracle/kubernetes/operator/helpers/ServerConfig.java index b78ff089814..5c09068eacc 100644 --- a/operator/src/main/java/oracle/kubernetes/operator/helpers/ServerConfig.java +++ b/operator/src/main/java/oracle/kubernetes/operator/helpers/ServerConfig.java @@ -146,7 +146,7 @@ public ServerConfig withEnv(List env) { } /** - * Gets the WebLogic Docker image. + * Gets the WebLogic Server image. * * @return image */ @@ -155,7 +155,7 @@ public String getImage() { } /** - * Sets the WebLogic Docker image. + * Sets the WebLogic Server image. * * @param image image */ @@ -164,7 +164,7 @@ public void setImage(String image) { } /** - * Sets the WebLogic Docker image. + * Sets the WebLogic Server image. * * @param image image * @return this @@ -205,7 +205,7 @@ public ServerConfig withImagePullPolicy(String imagePullPolicy) { /** * Gets the list of references to secrets in the same namespace to use for pulling the WebLogic - * Docker image. + * Server image. * * @return image pull secrets */ @@ -215,7 +215,7 @@ public List getImagePullSecrets() { /** * Sets the list of references to secrets in the same namespace to use for pulling the WebLogic - * Docker image. + * Server image. * * @param imagePullSecrets image pull secrets */ @@ -225,7 +225,7 @@ public void setImagePullSecrets(List imagePullSecrets) { /** * Sets the list of references to secrets in the same namespace to use for pulling the WebLogic - * Docker image. + * Server image. * * @param imagePullSecrets image pull secrets * @return this diff --git a/operator/src/main/java/oracle/kubernetes/operator/wlsconfig/WlsServerConfig.java b/operator/src/main/java/oracle/kubernetes/operator/wlsconfig/WlsServerConfig.java index 0a51155bccf..58b595437a4 100644 --- a/operator/src/main/java/oracle/kubernetes/operator/wlsconfig/WlsServerConfig.java +++ b/operator/src/main/java/oracle/kubernetes/operator/wlsconfig/WlsServerConfig.java @@ -119,7 +119,7 @@ static WlsServerConfig create(Map serverConfigMap) { */ static String getClusterNameFromJsonMap(Map serverMap) { // serverMap contains a "cluster" entry from the REST call which is in the form: "cluster": - // ["clusters", "DockerCluster"] + // ["clusters", "ApplicationCluster"] @SuppressWarnings({"unchecked", "rawtypes"}) List clusterList = (List) serverMap.get("cluster"); if (clusterList != null) { diff --git a/operator/src/main/java/oracle/kubernetes/weblogic/domain/model/DomainSpec.java b/operator/src/main/java/oracle/kubernetes/weblogic/domain/model/DomainSpec.java index a77dd860961..087cfede5b8 100644 --- a/operator/src/main/java/oracle/kubernetes/weblogic/domain/model/DomainSpec.java +++ b/operator/src/main/java/oracle/kubernetes/weblogic/domain/model/DomainSpec.java @@ -138,17 +138,17 @@ public class DomainSpec extends BaseConfiguration { private Boolean httpAccessLogInLogHome; /** - * The WebLogic Docker image. + * The WebLogic Server image. * *

Defaults to container-registry.oracle.com/middleware/weblogic:12.2.1.4 */ @Description( - "The WebLogic container image; required when `domainHomeSourceType` is Image or FromModel; " + "The WebLogic Server image; required when `domainHomeSourceType` is Image or FromModel; " + "otherwise, defaults to container-registry.oracle.com/middleware/weblogic:12.2.1.4.") private String image; /** - * The image pull policy for the WebLogic Docker image. Legal values are Always, Never and, + * The image pull policy for the WebLogic Server image. Legal values are Always, Never and, * IfNotPresent. * *

Defaults to Always if image ends in :latest; IfNotPresent, otherwise. @@ -156,21 +156,21 @@ public class DomainSpec extends BaseConfiguration { *

More info: https://kubernetes.io/docs/concepts/containers/images#updating-images */ @Description( - "The image pull policy for the WebLogic container image. " + "The image pull policy for the WebLogic Server image. " + "Legal values are Always, Never, and IfNotPresent. " + "Defaults to Always if image ends in :latest; IfNotPresent, otherwise.") @EnumClass(ImagePullPolicy.class) private String imagePullPolicy; /** - * The image pull secrets for the WebLogic Docker image. + * The image pull secrets for the WebLogic Server image. * *

More info: * https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#localobjectreference-v1-core * * @since 2.0 */ - @Description("A list of image pull Secrets for the WebLogic container image.") + @Description("A list of image pull Secrets for the WebLogic Server image.") private List imagePullSecrets; /** diff --git a/pom.xml b/pom.xml index d22725cd1d7..b829a471f3a 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ oracle.kubernetes operator-parent - 3.1.1 + 3.1.2 operator diff --git a/src/integration-tests/introspector/util_build_mii_image.sh b/src/integration-tests/introspector/util_build_mii_image.sh index d6a93433edd..cbf9b98833d 100755 --- a/src/integration-tests/introspector/util_build_mii_image.sh +++ b/src/integration-tests/introspector/util_build_mii_image.sh @@ -2,7 +2,7 @@ # Copyright (c) 2019, 2020, Oracle Corporation and/or its affiliates. # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. -# This script uses the WebLogic Image Tool to build a Docker image with model in image +# This script uses the WebLogic Image Tool to build an image with model in image # artifacts. # # Assumptions: diff --git a/src/integration-tests/model-in-image/build-operator.sh b/src/integration-tests/model-in-image/build-operator.sh index dcee67f8b54..4f820d510e1 100755 --- a/src/integration-tests/model-in-image/build-operator.sh +++ b/src/integration-tests/model-in-image/build-operator.sh @@ -64,7 +64,7 @@ save_cksum # push to remote repo if cluster is remote # if [ -z "$REPO_REGISTRY" ] || [ -z "$REPO_USERNAME" ] || [ -z "$REPO_PASSWORD" ]; then -# echo "Provide Docker login details using REPO_REGISTRY, REPO_USERNAME & REPO_PASSWORD env variables to push the Operator image to the repository." +# echo "Provide container registry login details using REPO_REGISTRY, REPO_USERNAME & REPO_PASSWORD env variables to push the Operator image to the repository." # exit 1 # fi # docker login $REPO_REGISTRY -u $REPO_USERNAME -p $REPO_PASSWORD diff --git a/swagger/pom.xml b/swagger/pom.xml index ecc06206f2c..971d84fbc73 100644 --- a/swagger/pom.xml +++ b/swagger/pom.xml @@ -7,7 +7,7 @@ oracle.kubernetes operator-parent - 3.1.1 + 3.1.2 operator-swagger