Skip to content

first pass at most of the VZ content #157

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 14, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion documentation/staging/1.3/content/navigate/image.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ The `Image` section helps you build container images for deploying WebLogic-base
in a Kubernetes environment using the [WebLogic Image Tool](https://oracle.github.io/weblogic-image-tool/).

### Design View
The `Design View` helps you specify the necessary data needed to run the WebLogic Image Tool to build an image for
`Design View` helps you specify the necessary data needed to run the WebLogic Image Tool to build an image for
running the WebLogic domain.

Use the `Design View` page to specify whether to create a new or use an existing (the default) `Primary Image` and
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ When editing a route:
- All requests in the defined rules are routed to the service specified by the `Target Service` field that resides in the namespace specified by the read-only
`Target Service Namespace` field and the port specified by the `Target Port` field. After the domain has been deployed, you can select the `Target Service`
value from the drop-down list of available services in the WebLogic Kubernetes Operator domain's namespace. After the `Target Service` is selected,
you can select the `Target Port` from the list of available ports in the selected target service.
you can select the `Target Port` from the list of available ports in the selected target service.
- Specify the `Transport Option` for the ingress route:
* Select `Plain HTTP` for unencrypted traffic from the client through the ingress controller to the target service.
* Select `SSL terminate at ingress controller` for SSL
Expand All @@ -97,14 +97,14 @@ When editing a route:
* Enable `Is target service WebLogic Console?` if the target service is the `WebLogic Console` service.
* Select `SSL pass through` for SSL traffic to pass through the ingress
controller and then terminate at the target service.
* If you select this option, you must also specify a valid DNS value in 'Virtual Host', and all SSL traffic from
* If you select this option, you must also specify a valid DNS value in 'Virtual Host', and all SSL traffic from
the`Virtual Host` will be routed to the target service.
* Make sure that the `Target Port` supports SSL.
- Use the `Ingress Route Annotations` table to
add annotations to the ingress route, as needed. Do not remove any pre-populated annotations.

### Code View
The `Code View` displays shell scripts for installing an ingress controller and for updating ingress routes. It also
`Code View` displays shell scripts for installing an ingress controller and for updating ingress routes. It also
displays the YAML definitions of the routes to be added, if applicable.

If it is not already selected, then use the `Script Language` drop-down menu to choose the desired scripting language. Note
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ description: "Create and deploy the Kubernetes custom resource for the WebLogic
- [Runtime Encryption Secret](#runtime-encryption-secret)
- [WebLogic Kubernetes Operator Introspection Configuration](#weblogic-kubernetes-operator-introspection-configuration)
- [Domain-Wide Server Settings](#domain-wide-server-settings)
- [Domain-Wide Node Selector](#domain-wide-node-selector)
- [Code View](#code-view)
- [Prepare Model](#prepare-model)
- [Deploy Domain](#deploy-domain)
Expand All @@ -30,7 +31,7 @@ defined by the WebLogic Kubernetes Operator. For more information, see
in the WebLogic Kubernetes Operator documentation.

### Design View
The `Design View` helps you specify the necessary data needed to generate the Domain resource definition and deploy
`Design View` helps you specify the necessary data needed to generate the Domain resource definition and deploy
that resource into a Kubernetes cluster.

The `Domain UID` field defines the name of the Kubernetes Domain custom resource object. This name must be unique
Expand Down Expand Up @@ -78,6 +79,7 @@ The following sections describe the other panes that support configuring the gen
- [Runtime Encryption Secret](#runtime-encryption-secret)
- [WebLogic Kubernetes Operator Introspection Configuration](#weblogic-kubernetes-operator-introspection-configuration)
- [Domain-Wide Server Settings](#domain-wide-server-settings)
- [Domain-Wide Node Selector](#domain-wide-node-selector)

#### Primary Image to Use for the Domain
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`,
Expand Down Expand Up @@ -218,8 +220,11 @@ to use this section to configure the Administration Server and use the `Clusters
The fields in this pane have similar meaning to the equivalent fields previously described in
[Clusters](#clusters); refer to that section for more information.

#### Domain-Wide Node Selector
This pane lets you specify the nodes on which to run.

### Code View
The `Code View` displays a shell script for deploying the domain and creating its dependent resources as well as
`Code View` displays a shell script for deploying the domain and creating its dependent resources as well as
the YAML definition for the Kubernetes custom resource (that is, the Domain resource) and the Model Variables Overrides
ConfigMap, if applicable.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ For detailed information about the operator, see the
[WebLogic Kubernetes Operator](https://oracle.github.io/weblogic-kubernetes-operator/) documentation.

### Design View
The `Design View` helps you specify the necessary data needed to install the WebLogic Kubernetes Operator to manage
`Design View` helps you specify the necessary data needed to install the WebLogic Kubernetes Operator to manage
WebLogic domains in one or more Kubernetes namespaces. To install the operator using the default settings, simply
provide values for the following three fields:

Expand Down
2 changes: 1 addition & 1 deletion documentation/staging/1.3/content/navigate/model.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ icon beside a field, a dialog appears with the option of setting the field to a
The variable will show up in both the model and the variables editor on the `Code View` page. Likewise, when adding an application, you supply the path to the EAR,
WAR, or JAR file (or directory); that path will be put in the archive editor on the `Code View` page.

Note that if you create a new model using the `Design View` pages, the `Design View` will insert the `AdminUserName` and `AdminPassword` fields
Note that if you create a new model using the `Design View` pages, then the `Design View` will insert the `AdminUserName` and `AdminPassword` fields
into the `domainInfo` section of the model with their values set to variables whose values you will need to provide.
This is intended to help you create a domain with all of the required fields.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ to help you:

1. [Configure]({{< relref "/navigate/verrazzano/vz-client-config#client-configuration" >}}) your Kubernetes client (`kubectl`) to connect to the Kubernetes cluster.
2. [Install]({{< relref "/navigate/verrazzano/vz-install.md" >}}) Verrazzano.
3. [Define]({{< relref "/navigate/verrazzano/vz-component.md" >}}) the Verrazzano component for the WebLogic domain.
4. [Deploy]({{< relref "/navigate/verrazzano/vz-application.md" >}}) the application to Verrazzano.
3. [Create and deploy]({{< relref "/navigate/verrazzano/vz-component#verrazzano-component" >}}) the Verrazzano component for the WebLogic domain.
4. [Deploy]({{< relref "/navigate/verrazzano/vz-application.md" >}}) an application to Verrazzano.

{{% children style="h4" description="true" %}}
130 changes: 27 additions & 103 deletions documentation/staging/1.3/content/navigate/verrazzano/vz-application.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,108 +3,37 @@ title: "Application"
date: 2019-02-22T15:44:42-05:00
draft: false
weight: 4
description: "Install and configure an ingress controller."
description: "Define and deploy a Verrazzano application."
---

### Contents
- [Ingress Controller](#ingress-controller)
- [Design View](#design-view)
- [Ingress Controller Configuration](#ingress-controller-configuration)
- [TLS Secret for Ingress Routes](#tls-secret-for-ingress-routes)
- [Ingress Routes Configuration](#ingress-routes-configuration)
- [Components](#components)
- [Code View](#code-view)
- [Install Ingress Controller](#install-ingress-controller)
- [Update Ingress Routes](#update-ingress-routes)
- [Uninstall Ingress Controller](#uninstall-ingress-controller)
- [Deploy Application](#deploy-application)
- [Undeploy Application](#undeploy-application)

### Ingress Controller
This section supports two distinct functions related to an ingress controller. First, it supports installing an ingress
controller to a Kubernetes cluster. Second, it supports adding the necessary routes to an ingress controller to make
a deployed WebLogic domain's endpoints accessible.

### Design View
`Design View` helps you specify the data needed to install an ingress controller, if desired, and
specify the data needed to expose one or more endpoints for a deployed WebLogic domain. This page contains three panes:
`Design View` lets you specify the data used to define the Verrazzano application.
Simply provide values for the following fields:

- [Ingress Controller Configuration](#ingress-controller-configuration)
- [TLS Secret for Ingress Routes](#tls-secret-for-ingress-routes)
- [Ingress Routes Configuration](#ingress-routes-configuration)
- `Application Name` - The name of the Verrazzano application.
- `Application Namespace` - The Kubernetes namespace to which the application will be deployed.
- `Application Version` - The version annotation value to add to the Verrazzano application.
- `Application Description` - The description annotation value to add to the Verrazzano application.
- `Verrazzano Version` - Provide the installed Verrazzano version. Click the icon to retrieve the value from the environment.
- `Use Multicluster Application` - Select whether to make this a multicluster application.
- `Create Verrazzano Project` - To deploy a multicluster application, a Verrazzano Project that includes the current application's namespace must exist. Select whether to create
a new Verrazzano Project.
- `Secret Names` - The secret names in the current namespace to associate with the application. To edit this field, click `Choose Secrets`.
- `Verrazzano Clusters for Application Placement` - The Verrazzano cluster names where the application should be placed. To edit this field, click `Choose Verrazzano Clusters`.

#### Ingress Controller Configuration
The most important field in this pane is the `Ingress Provider` field. This fields tells the WKT UI application with which of the
supported ingress controllers it will need to work. The current release supports two ingress
controllers:
#### Components

- NGINX
- Traefik

To install the ingress controller, enable `Install Ingress Controller`.
- To set the release name used by the Helm install process, use the `Helm Release Name to Use` field.
- Set the Kubernetes namespace to which the ingress controller should be installed with the `Ingress Controller Namespace` field.

The container image for the Traefik ingress controller resides in Docker Hub. Due to changes made
to Docker Hub, anonymous pull requests are throttled. This can result in pull requests being denied when the Kubernetes
cluster attempts to pull the image and start the container.
- To work around this limitation, enable the `Use Docker Hub Secret` field to provide login credentials for Docker Hub.
- The `Docker Registry Secret Name` field specifies the name of the Kubernetes pull secret to use when pulling the image.
To create this secret, enable `Create Docker Hub Secret` and fill in the pull secret data in the `Docker Hub Username`, `Docker Hub Password`,
and `Docker Hub Email Address` fields.
- For the NGINX ingress controller, if you want to have SSL pass through the ingress route, enable `Allow SSL pass through to target service`.

#### TLS Secret for Ingress Routes
Use this pane to configure the Transport Layer Security (TLS) secret containing the certificate and private key data that will be used by the
ingress controller when establishing HTTPS connections from clients to the ingress controller. The TLS connection will be
terminated at the ingress controller, so traffic between the ingress controller and services/pods will not be encrypted.
In the current release, only a single TLS certificate is supported for the routes being defined.

- To use TLS-enabled routes, enable `Use Ingress TLS Secret` and provide the secret name using the
`Ingress TLS Secret Name` field.
- To have the application create this secret, enable `Create Ingress TLS Secret`.
- If you already have a certificate file and its corresponding private key file, then use the `TLS Certificate File`
and `TLS Private Key File` fields to provide them.
- To create these files automatically, enable `Generate a TLS Certificate and Private Key`.
- Provide the path to the OpenSSL executable using the
`OpenSSL Executable to Use` field.
- Use the `Subject to Use for the Generated TLS Certificate` field to specify the data
to put into the subject of the certificate.
- For example, if your ingress route will use the virtual host name
`www.myapp.com`, you might specify the subject contents as `/CN=www.myapp.com`.
- The subject data will support multiple
key/value pairs using a comma-separated syntax, like `/key1=value1,/key2=value2,/key3=value3`.

#### Ingress Routes Configuration
Use the table in this section to define the ingress routes to be added by the application. _Note that this table does
not currently display existing routes already defined._ Any routes defined in or removed from the table will happen in
the WKT Project object. When applying or updating the routes, only the fields currently in the table will be considered.
If the routes do not exist, then they will be added. If one or more of the routes already exists, then the application will warn
you to confirm whether you want to update the existing route or routes before performing the operation.

To add a new route, click the plus (`+`) button in the table header. To edit a route, use the edit button on the corresponding
route row. To remove a route, use the delete icon on the corresponding route row.

When editing a route:
- Use the `Name` field to set the route name.
- Use the `Virtual Host` and `Path Expression` fields to define the matching rules that determine which requests match this route.
- All requests in the defined rules are routed to the service specified by the `Target Service` field that resides in the namespace specified by the read-only
`Target Service Namespace` field and the port specified by the `Target Port` field. After the domain has been deployed, you can select the `Target Service`
value from the drop-down list of available services in the WebLogic Kubernetes Operator domain's namespace. After the `Target Service` is selected,
you can select the `Target Port` from the list of available ports in the selected target service.
- Specify the `Transport Option` for the ingress route:
* Select `Plain HTTP` for unencrypted traffic from the client through the ingress controller to the target service.
* Select `SSL terminate at ingress controller` for SSL
terminating
at the ingress controller and then unencrypted traffic from the ingress controller to the target service.
* Enable `Is target service WebLogic Console?` if the target service is the `WebLogic Console` service.
* Select `SSL pass through` for SSL traffic to pass through the ingress
controller and then terminate at the target service.
* If you select this option, you must also specify a valid DNS value in 'Virtual Host', and all SSL traffic from
the`Virtual Host` will be routed to the target service.
* Make sure that the `Target Port` supports SSL.
- Use the `Ingress Route Annotations` table to
add annotations to the ingress route, as needed. Do not remove any pre-populated annotations.

### Code View
The `Code View` displays shell scripts for installing an ingress controller and for updating ingress routes. It also
`Code View` displays shell scripts for installing an ingress controller and for updating ingress routes. It also
displays the YAML definitions of the routes to be added, if applicable.

If it is not already selected, then use the `Script Language` drop-down menu to choose the desired scripting language. Note
Expand All @@ -115,18 +44,13 @@ set environment variables to specify any credentials required by the script to e
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.

### Install Ingress Controller
`Install Ingress Controller` creates any namespace and secret specified and runs the ingress controller's Helm
chart to install the ingress controller. You access this action by using the `Install Ingress Controller` button on the
`Ingress Controller` page or the `Go` > `Install Ingress Controller` menu item.

### Update Ingress Routes
`Update Ingress Routes` creates the TLS secret, if needed, and adds or updates the specified ingress routes. You access this action
by using the `Update Ingress Routes` button on the `Ingress Controller` page or
the `Go` > `Update Ingress Routes to Domain` menu item.
### Deploy Application
`Deploy Application` creates the Domain custom resource object and any of its dependent objects (for example,
namespace, secrets, ConfigMap) in Kubernetes. You access this action by using the `Deploy Domain` button on the
`WebLogic Domain` page or the `Go` > `Deploy WebLogic Domain to Kubernetes` menu item.

### Uninstall Ingress Controller
`Uninstall Ingress Controller` uses the `helm uninstall` command to remove all the ingress resources
and uninstall the ingress controller. In addition, you can choose whether to also delete the corresponding namespace.
You access these actions by using the `Uninstall Ingress Controller` button on the
`Ingress Controller` page or the `Go` > `Uninstall Ingress Controller` menu item.
### Undeploy Application
`Undeploy Application` removes the Kubernetes custom resource for the WebLogic domain and its
dependent objects in Kubernetes. In addition, you can choose whether to also delete the corresponding namespace.
You access these actions by using the `Undeploy Domain` button on the
`WebLogic Domain` page or the `Go` > `Undeploy WebLogic Domain to Kubernetes` menu item.
Loading