The Component
section provides support for creating and deploying the Verrazzano component for the WebLogic domain.
Design View
helps you specify the data needed to generate the component definition and deploy
that resource into a Kubernetes cluster. It provides values for various Kubernetes objects, including model variable overrides and secrets.
Verrazzano Version
- The three digit version number of the installed Verrazzano version from the target environment.
The Domain UID
field defines the name of the Kubernetes Domain custom resource object. This name must be unique
within the Kubernetes namespace where it will be created, which is controlled by the Kubernetes Namespace
field.
The default value of the Domain UID
field is based on the WebLogic domain’s name, as defined by the WDT model:
Domain Home Path
field is read-only and its value is set using the Domain Home Directory
field under Advanced
./shared
and the domain home is located in /domains/mydomain
in the persistent volume, then the
Domain Home Path
field must be set to /shared/domains/mydomain
.For “Model in Image”, use the Domain Type
field to specify the type of domain to create using the model.
Set the Kubernetes secret name where the WebLogic domain credentials will be stored using the
WebLogic Credentials Secret Name
field. Set the value of the WebLogic Server administration credentials using the
WebLogic Admin Username
and WebLogic Admin Password
fields. Remember that these fields must be set appropriately
for the selected domain location:
When using “Domain in PV”, three additional fields associated with the persistent volume will be shown:
Persistent Volume Name
- The name of the persistent volume to use in the Domain resource file.Persistent Volume Claim Name
- The persistent volume claim to associate with the persistent volume.Persistent Volume Mount Path
- The path to the persistent volume within the container(s).Enable Log Home
- Enables the ability to separate the logs directory from the domain directory on the persistent
volume.Log Home Path
- The path to use for the log home when Enable Log Home
is enabled.The following sections describe the other panes that support configuring the generated Domain resource; they are:
This pane focuses on the container primary image to use to run the WebLogic Server domain in a container. If you select Create a New Primary Image
,
then click Go To Create Primary Image Page
to configure the image. For detailed information, see the Image section.
Primary Image Tag
field is read-only; its value is set using the
Image Tag
field in the Image
section.Image Tag
field is not read-only and is
the place to specify the image to use to run the WebLogic domain’s containers.Image Registry Address
field is populated by parsing the value of the Image Tag
field
to extract any container image registry address. If the tag has no image registry address, then it is assumed to reside on Docker Hub.Use the Primary Image Pull Policy
field to specify when Kubernetes should pull the image from the specified image registry.
The choices are:
If Not Present
(default) - Only pull the image if it is not already present on the Kubernetes node.Always
- Pull the image every time the image is needed to start a container.Never
- Never pull the image; this will result in an error if the image is not already present on the Kubernetes node.If pulling the image from the specified image registry does not require authentication,
then Specify Image Pull Credentials
should be disabled. When enabled, use the Use Existing Image Pull Secret
field to tell the application
whether to use an existing image pull secret or create a new one. Specify the image pull secret name in the
Image Pull Secret Name
field. When creating a new secret, specify the secret data using the
Image Registry Pull Username
, Image Registry Pull Email Address
, and Image Registry Pull Password
fields.
Under Auxiliary Image Configuration
, use the radio buttons to specify whether or not to use an Auxiliary Image (an existing one) or create a new one (the default).
If you select Create a New Auxiliary Image
, then click Go To Create Auxiliary Image Page
to configure the image. For detailed information,
see the Image section.
For “Model in Image” domains only, this pane focuses on the container auxiliary image to use for the domain.
The Auxiliary Image Tag
field is read-only; its value is set using the
Auxiliary Image Tag
field in the Auxiliary Image
page of the Image
section.
Use the Auxiliary Image Pull Policy
field to specify when to pull the domain’s auxiliary image from the image registry. The choices are:
If Not Present
(default) - Only pull the image if it is not already present.Always
- Pull the image every time the image is needed to start a container.Never
- Never pull the image; this will result in an error if the image is not already present.If pulling the image from the specified image registry does not require authentication,
then Specify Auxiliary Image Pull Credentials
should be disabled. When enabled, use the Use Existing Auxiliary Image Pull Secret
field to tell the application
whether to use an existing image pull secret or create a new one. Specify the image pull secret name in the
Auxiliary Image Pull Secret Name
field. When creating a new secret, specify the secret data using the
Auxiliary Image Registry Pull Username
, Auxiliary Image Registry Pull Email Address
, and Auxiliary Image Registry Pull Password
fields.
The Clusters pane lists the names of each cluster in the model and lets you adjust the WebLogic Server
startup configuration and Kubernetes resource requests and limits. It is currently populated when Prepare Model
is run,
which means that projects using “Domain in PV” will not have access to adjust the configuration at the cluster level.
“Domain in PV” projects can still use the Domain-Wide Server Settings
pane under Advanced
.
To view or edit the settings for a cluster, select the edit icon at the right end of the cluster’s row in the
table. This opens a dialog that shows all the cluster-related fields and their values. The read-only
Cluster Name
field shows the name of the cluster, as specified in the underlying model.
Use the Replicas
field to adjust the number of managed servers that the WebLogic Kubernetes Operator should start when the domain is deployed.
The default value for the Replicas
field is set based on the maximum number of servers specified by the model:
Replicas
field. In other words, you may only reduce the number of
replicas. It is not possible to increase the replica count above the maximum limit defined by the model.Use the Minimum Heap Size
and Maximum Heap Size
fields to control the amount of Java heap space available for each
server in the cluster. Specify any additional Java command-line options with the Additional Java Options
field.
Disable debug logging to standard out
disables WebLogic Server debug log messages from being
written to standard out. In WebLogic Server 12.2.1.3.0, there is an issue that impacts the Oracle JDBC driver
processing FAN (Fast Application Notification) events from an Oracle Database. To work around this issue, enable
Disable Oracle JDBC Support for FAN Events
.
Use pseudo-random number generator
controls whether
WebLogic Server uses the pseudo-random number generator (that is, /dev/urandom
) or the regular random number generator
(that is, /dev/random
). Because the latter is impacted by the available entropy, it can negatively impact performance when
running WebLogic Server on a virtual machine or in a container. Because the servers being configured by this application
will always be running in a container, the default is set to use the pseudo-random number generator.
The Kubernetes resource requests and limits values help the Kubernetes scheduler determine which node to use to start a container (to ensure there are sufficient resources available for the container to run). The following fields allow these values to be specified:
Kubernetes CPU Request
- The requested amount of CPU for each managed server’s container.Kubernetes CPU Limit
- The maximum amount of CPU each managed server’s container is allowed to use.Kubernetes Memory Request
- The requested amount of memory for each managed server’s container.Kubernetes Memory Limit
- The maximum amount of memory each managed server’s container is allowed to use.For more information about these fields and setting their values, see the Kubernetes documentation.
Use this pane to override values of model variables when using “Model in Image” to customize the model data already set in the image. For example, the image may contain a variable whose value refers to a JDBC URL to connect to a database. Because the image may be used across development, test, and production environments, overriding the JDBC URL to point to the correct database for the environment helps make the same image usable across all three environments. All override values are added to a Kubernetes ConfigMap that is passed to the WebLogic Kubernetes Operator so that it creates the underlying WebLogic Server domain with the correct values for the environment.
If the model has one or more variables, then the Kubernetes Config Map Name
field is visible and allows the name of the
Kubernetes ConfigMap name to be controlled. The table will be populated with the model variables, as defined by the
model variables file. Because the model variables file is typically already set in the image by the time you
reach this page, both the Model Variable Name
and the Model Variable File Value
entries are read-only. Enter an
Model Variable Override Value
for any variable whose Model Variable File Value
should be overridden. Note that the
ConfigMap will only be created if one or more variables have an override value specified.
When using “Model in Image”, use this pane to set the value of any secrets referenced in the model (other than the WebLogic administrator credentials
secret). The secrets that appear in the table are pulled from the model file directly;
as such, the Secret Name
field is read-only. Set the appropriate Username
and Password
field values for each
secret in the table. These values are required and will be used to create or update the secret with the specified
values.
When using “Model in Image”, the WebLogic Kubernetes Operator requires a runtime encryption secret it uses to encrypt sensitive WebLogic Server domain data stored in Kubernetes. For more information, see Required runtime encryption secret in the WebLogic Kubernetes Operator documentation.
Use the Runtime Encryption Secret Name
field to control the name of the secret, if needed. Typically, the default
name is sufficient. The Runtime Encryption Secret Value
field’s default value is generated but may be changed, if
desired.
This pane controls the WebLogic Kubernetes Operator introspection job configuration. Use the
Introspection Job Active Deadline Seconds
field to control how long the operator waits for the introspection job to
complete. The application sets the default to 900 seconds (15 minutes); this overrides the underlying default of 120
seconds (2 minutes) built into the operator. As such, clearing the value of this field will cause the effective value
to be set to 120 seconds.
This pane lets you adjust the WebLogic Server startup configuration and Kubernetes resource requests and
limits default values for every WebLogic Server container in the WebLogic Server domain. Any fields set here will be
applied only if they are not overridden elsewhere. For example, setting the Minimum Heap Size
will set
WebLogic Server’s minimum heap size to the specified value only if the cluster to which the server belongs does not
override the minimum heap size. For typical domains with an Administration Server and one or more clusters, the best practice is
to use this section to configure the Administration Server and use the Clusters
pane to configure each cluster explicitly.
The fields in this pane have similar meaning to the equivalent fields previously described in Clusters; refer to that section for more information.
This pane lets you specify the nodes on which to run.
Code View
displays a shell script for deploying the Verrazzano components for this WebLogic domain into Kubernetes
and creating its dependent resources as well as the Component Resource YAML definition and the Model Variables Overrides
ConfigMap, if applicable.
If it is not already selected, then use the Script Language
drop-down menu to choose the desired scripting language. Note
that the application is providing a working sample script simply to show how the process might be automated. Before
using the script, review the script and make any changes necessary for your environment. One typical change that
would be considered a best practice would be to change the script to accept either command-line arguments or externally
set environment variables to specify any credentials required by the script to eliminate hard-coding the credentials in
the script itself. This change is left as an exercise for you because different environments typically will have
existing standards for securely handling such credentials.
Prepare Model
is the same as was previously described in the Model
section. It is only
surfaced here because the Clusters
pane of the Design View
is populated only when Prepare Model
is run.
Deploy Component
creates the domain custom object and any of its dependent objects (for example,
namespace, secrets, ConfigMap) in Kubernetes. You access this action by using the Deploy Component
button
or the Go
> Deploy Verrazzano Component
menu item.
Undeploy Component
removes the domain custom object for the WebLogic domain and its
dependent objects in Kubernetes. Undeploying the Verrazzano component will make any Verrazzano applications
referencing these components invalid. In addition, you can choose whether to also delete the corresponding namespace.
Removing the Verrazzano components' namespace removes all applications, components, secrets, ConfigMaps, and other
Kubernetes objects that exist in the Kubernetes namespace.
You access these actions by using the Undeploy Component
button
or the Go
> Undeploy Verrazzano Component
menu item.