Skip to content

Commit 4fad82e

Browse files
committed
Merge branch 'main' into 'apply-eds-comment'
# Conflicts: # documentation/4.0/content/samples/azure-kubernetes-service/includes/prerequisites-01.txt # documentation/4.0/content/samples/azure-kubernetes-service/includes/prerequisites-02.txt
2 parents 6cd2b10 + a08c0e1 commit 4fad82e

File tree

349 files changed

+32625
-129
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

349 files changed

+32625
-129
lines changed

documentation/4.0/content/samples/azure-kubernetes-service/includes/prerequisites-01.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This sample assumes the following prerequisite environment.
44

55
* If you don't have an [Azure subscription](https://learn.microsoft.com/en-us/azure/guides/developer/azure-developer-guide#understanding-accounts-subscriptions-and-billing), create a [free account](https://azure.microsoft.com/free/?ref=microsoft.com&utm_source=microsoft.com&utm_medium=docs&utm_campaign=visualstudio) before you begin.
66
* It's recommended that the Azure identity you use to sign in and complete this article has either the [Owner](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#owner) role in the current subscription or the [Contributor](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#contributor) and [User Access Administrator](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#user-access-administrator) roles in the current subscription.
7-
* Failing that, if your identity has very limited role assignments, ensure you have the following role assignments in the AKS resource group and AKS node resource group.
7+
* If your identity has very limited role assignments, ensure you have the following role assignments in the AKS resource group and AKS node resource group.
88
* [Contributor](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#contributor) role and [User Access Administrator](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#user-access-administrator) role in the resource group that runs AKS cluster. This requires asking a privileged user to assign the roles before creating resource in the resource group.
99
* [Contributor](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#contributor) role in the AKS node resource group whose name starts with "MC_". This requires asking a privileged user to assign the role after the AKS instance is created.
1010
* Operating System: GNU/Linux, macOS or [WSL2 for Windows 10](https://docs.microsoft.com/windows/wsl/install-win10).

documentation/4.0/content/samples/azure-kubernetes-service/includes/prerequisites-02.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This sample assumes the following prerequisite environment.
44

55
* If you don't have an [Azure subscription](https://learn.microsoft.com/en-us/azure/guides/developer/azure-developer-guide#understanding-accounts-subscriptions-and-billing), create a [free account](https://azure.microsoft.com/free/?ref=microsoft.com&utm_source=microsoft.com&utm_medium=docs&utm_campaign=visualstudio) before you begin.
66
* It's recommended that the Azure identity you use to sign in and complete this article has either the [Owner](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#owner) role in the current subscription or the [Contributor](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#contributor) and [User Access Administrator](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#user-access-administrator) roles in the current subscription.
7-
* Failing that, if your identity has very limited role assignments, ensure you have [Contributor](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#contributor) role and [User Access Administrator](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#user-access-administrator) role in the resource group that runs the AKS cluster. This requires asking a privileged user to assign the roles before creating resources in the resource group.
7+
* If your identity has very limited role assignments, ensure you have [Contributor](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#contributor) role and [User Access Administrator](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#user-access-administrator) role in the resource group that runs the AKS cluster. This requires asking a privileged user to assign the roles before creating resources in the resource group.
88
* Operating System: GNU/Linux, macOS or [WSL2 for Windows 10](https://docs.microsoft.com/windows/wsl/install-win10).
99
* [Git](https://git-scm.com/downloads); use `git --version` to test if `git` works. This document was tested with version 2.25.1.
1010
* [Azure CLI](https://docs.microsoft.com/cli/azure); use `az --version` to test if `az` works. This document was tested with version 2.48.1.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"git.ignoreLimitWarning": true
3+
}

documentation/4.1/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# WebLogic Kubernetes Operator Documentation
2+
3+
***
4+
For information on updating and contributing to the operator
5+
documentation, see the _Documentation_ section of the
6+
[Developer Guide](https://oracle.github.io/weblogic-kubernetes-operator/developerguide/documentation)
7+
***
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: "{{ replace .Name "-" " " | title }}"
3+
date: {{ .Date }}
4+
draft: false
5+
---
6+

documentation/4.1/config.toml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# analytics
2+
googleAnalytics = "UA-129126578-2"
3+
4+
baseURL = "/weblogic-kubernetes-operator/"
5+
languageCode = "en-us"
6+
title = "WebLogic Kubernetes Operator"
7+
8+
# Change the default theme to be use when building the site with Hugo
9+
theme = "hugo-theme-learn"
10+
11+
publishDir = "docs"
12+
13+
canonifyURLs = true
14+
15+
# For search functionality
16+
[outputs]
17+
home = [ "HTML", "RSS", "JSON"]
18+
19+
[params]
20+
# disable the copy to clipboard links
21+
disableInlineCopyToClipBoard = true
22+
23+
[markup]
24+
[markup.tableOfContents]
25+
endLevel = 5
26+
ordered = false
27+
startLevel = 3

documentation/4.1/content/_index.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
### WebLogic Kubernetes Operator
2+
3+
The WebLogic Kubernetes Operator (the “operator”) supports running your WebLogic Server and Fusion Middleware Infrastructure domains on Kubernetes, an industry standard, cloud neutral deployment platform. It lets you encapsulate your entire WebLogic Server installation and layered applications into a portable set of cloud neutral images and simple resource description files. You can run them on any on-premises or public cloud that supports Kubernetes where you've deployed the operator.
4+
5+
Furthermore, the operator is well suited to CI/CD processes. You can easily inject changes when moving between environments, such as from test to production. For example, you can externally inject database URLs and credentials during deployment or you can inject arbitrary changes to most WebLogic configurations.
6+
7+
The operator takes advantage of the [Kubernetes operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/), which means that it uses Kubernetes APIs to provide support for operations, such as: provisioning, lifecycle management, application versioning, product patching, scaling, and security. The operator also enables the use of tooling that is native to this infrastructure for monitoring, logging, tracing, and security.
8+
9+
You can:
10+
* Deploy an operator that manages all WebLogic domains in all namespaces in a Kubernetes cluster, or that only manages domains in a specific subset of the namespaces, or that manages only domains that are located in the same namespace as the operator. At most, a namespace can be managed by one operator.
11+
* Supply WebLogic domain configuration using:
12+
* _Model in Image_: Includes [WebLogic Deploy Tooling](https://github.com/oracle/weblogic-deploy-tooling) models and archives in a container image.
13+
* _Domain in Image_: Includes a WebLogic domain home in a container image.
14+
* **NOTE**: The Domain in Image [domain home source type]({{< relref "/managing-domains/choosing-a-model/_index.md" >}}) is deprecated in WebLogic Kubernetes Operator version 4.0. Oracle recommends that you choose either Domain in PV or Model in Image, depending on your needs.
15+
* _Domain in PV_: Locates WebLogic domain homes in a Kubernetes PersistentVolume (PV). This PV can reside in an NFS file system or other Kubernetes volume types.
16+
* Configure deployment of WebLogic domains as Kubernetes resources (using Kubernetes custom resource definitions).
17+
* Override certain aspects of the WebLogic domain configuration; for example, use a different database password for different deployments.
18+
* Start and stop servers and clusters in the domain based on declarative startup parameters and desired states.
19+
* Scale WebLogic domains by starting and stopping Managed Servers on demand, Kubernetes scale commands, setting up a Kubernetes Horizontal Pod Autoscaler, or by integrating with a REST API to initiate scaling based on the WebLogic Diagnostics Framework (WLDF), Prometheus, Grafana, or other rules.
20+
* Expose HTTP paths on a WebLogic domain outside the Kubernetes domain with load balancing, and automatically update the load balancer when Managed Servers in the WebLogic domain are started or stopped.
21+
* Expose the WebLogic Server Administration Console outside the Kubernetes cluster, if desired.
22+
* Expose T3 channels outside the Kubernetes domain, if desired.
23+
* Publish operator and WebLogic Server logs into Elasticsearch and interact with them in Kibana.
24+
25+
{{% notice tip %}}
26+
The fastest way to experience the operator is to follow the [Quick Start guide]({{< relref "/quickstart/_index.md" >}}), or you can peruse our [documentation]({{< relref "/introduction/_index.md" >}}), read our [blogs](https://blogs.oracle.com/weblogicserver/how-to-weblogic-server-on-kubernetes), or try out the [samples]({{< relref "/samples/_index.md" >}}).
27+
Also, you can step through the [Tutorial](https://github.com/oracle/weblogic-kubernetes-operator/blob/{{< latestMinorVersion >}}/kubernetes/hands-on-lab/README.md)
28+
using the operator to deploy and run a WebLogic domain container-packaged web application on an Oracle Container Engine for Kubernetes (OKE) cluster.
29+
{{% /notice %}}
30+
31+
***
32+
#### Current production release
33+
34+
The [current release of the operator](https://github.com/oracle/weblogic-kubernetes-operator/releases) is {{< latestVersion >}}.
35+
This release was published on April 8, 2023. See the [operator prerequisites]({{< relref "/introduction/prerequisites/introduction.md" >}}) and [supported environments]({{< relref "/introduction/platforms/environments.md" >}}).
36+
37+
***
38+
39+
#### Recent changes and known issues
40+
41+
See the [Release Notes]({{< relref "release-notes.md" >}}) for recent changes to the operator and known issues.
42+
43+
#### Operator earlier versions
44+
45+
Documentation for prior releases of the operator: [2.5.0](https://oracle.github.io/weblogic-kubernetes-operator/2.5/), [2.6.0](https://oracle.github.io/weblogic-kubernetes-operator/2.6/), [3.0.x](https://oracle.github.io/weblogic-kubernetes-operator/3.0/), [3.1.x](https://oracle.github.io/weblogic-kubernetes-operator/3.1/), [3.2.x](https://oracle.github.io/weblogic-kubernetes-operator/3.2/), [3.3.x](https://oracle.github.io/weblogic-kubernetes-operator/3.3/), and [3.4.x](https://oracle.github.io/weblogic-kubernetes-operator/3.4/).
46+
47+
#### Backward compatibility guidelines
48+
49+
Starting from the 2.0.1 release, operator releases are backward compatible with respect to the domain
50+
resource schema, operator Helm chart input values, configuration overrides template, Kubernetes resources created
51+
by the operator Helm chart, Kubernetes resources created by the operator, and the operator REST interface. We intend to
52+
maintain compatibility for three releases, except in the case of a clearly communicated deprecated feature, which will be
53+
maintained for one release after a replacement is available.
54+
55+
#### Getting help
56+
57+
See [Get help]({{< relref "/introduction/get-help.md" >}}).
58+
59+
#### Related projects
60+
61+
* [Oracle Fusion Middleware on Kubernetes](https://oracle.github.io/fmw-kubernetes/)
62+
* [WebLogic Deploy Tooling](https://oracle.github.io/weblogic-deploy-tooling/)
63+
* [WebLogic Image Tool](https://oracle.github.io/weblogic-image-tool/)
64+
* [WebLogic Monitoring Exporter](https://github.com/oracle/weblogic-monitoring-exporter)
65+
* [WebLogic Remote Console](https://oracle.github.io/weblogic-remote-console/)
66+
* [WebLogic Kubernetes Toolkit UI](https://oracle.github.io/weblogic-toolkit-ui/)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: "WebLogic images"
3+
date: 2019-02-23T16:45:55-05:00
4+
weight: 5
5+
pre: "<b> </b>"
6+
description: "Obtain, create, and dynamically patch images for WebLogic Server or Fusion Middleware Infrastructure deployments."
7+
---
8+
The following sections guide you through obtaining, creating, and dynamically updating WebLogic images.
9+
10+
{{% children style="h4" description="true" %}}
11+
12+
#### [Use or create WebLogic images depending on domain home source type]({{< relref "/managing-domains/choosing-a-model#use-or-create-weblogic-images-depending-on-domain-home-source-type" >}})
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
title: "Access domain images"
3+
date: 2019-02-23T16:45:55-05:00
4+
weight: 4
5+
description: "Set up Kubernetes to access domain images."
6+
---
7+
8+
In most operator samples, it is assumed that the Kubernetes cluster has a single worker node
9+
and any images that are needed by that node have either been created on that node or
10+
externally pulled to the node from a registry (using `docker pull`).
11+
This is fine for most demonstration purposes,
12+
and if this assumption is correct, then no additional steps
13+
are needed to ensure that Kubernetes has access to the image.
14+
_Otherwise, additional steps are typically required to ensure that a Kubernetes cluster has access to domain images._
15+
16+
For example, it is typical in production deployments
17+
for the Kubernetes cluster to be remote and have multiple worker nodes,
18+
and to store domain images in a central repository that requires authentication.
19+
20+
Here are two typical scenarios for supplying domain images to such deployments:
21+
22+
- [Option 1](#option-1-store-images-in-a-central-registry-and-set-up-image-pull-secrets-on-each-domain-resource): Store images in a central registry and set up image pull secrets on each domain resource
23+
24+
- [Option 2](#option-2-store-images-in-a-central-registry-and-set-up-a-kubernetes-service-account-with-image-pull-secrets-in-each-domain-namespace): Store images in a central registry and set up a Kubernetes service account with image pull secrets in each domain namespace
25+
26+
#### Option 1: Store images in a central registry and set up image pull secrets on each domain resource
27+
28+
The most commonly used option is to store the image in a central registry
29+
and set up image pull secrets for a domain resource:
30+
31+
- A Kubernetes `docker-registry` secret containing the registry credentials must be created
32+
in the same namespace as domain resources with a `domain.spec.image` attribute that reference the image.
33+
For example, to create a secret with OCR credentials:
34+
35+
```shell
36+
$ kubectl create secret docker-registry SECRET_NAME \
37+
-n NAMESPACE_WHERE_YOU_DEPLOY_DOMAINS \
38+
--docker-server=container-registry.oracle.com \
39+
--docker-username=YOUR_USERNAME \
40+
--docker-password=YOUR_PASSWORD \
41+
--docker-email=YOUR_EMAIL
42+
```
43+
44+
- The name of the secret must be added to these domain resources using
45+
the `domain.spec.imagePullSecrets` field. For example:
46+
47+
```text
48+
...
49+
spec:
50+
...
51+
imagePullSecrets:
52+
- name: SECRET_NAME
53+
...
54+
```
55+
56+
- If you are using the Oracle Container Registry, then
57+
you must use the web interface to accept the Oracle Standard Terms and Restrictions
58+
for the Oracle software images that you intend to deploy.
59+
You need to do this only once for a particular image.
60+
See [Obtain images from the Oracle Container Registry]({{< relref "/base-images/ocr-images#obtain-images-from-the-oracle-container-registry" >}}).
61+
62+
For more information about creating Kubernetes Secrets for accessing
63+
the registry, see the Kubernetes documentation,
64+
[Pull an image from a private registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/).
65+
66+
#### Option 2: Store images in a central registry and set up a Kubernetes service account with image pull secrets in each domain namespace
67+
68+
An option for accessing an image that is stored in a private registry
69+
is to set up the Kubernetes `ServiceAccount` in the namespace running the
70+
WebLogic domain with a set of image pull secrets thus avoiding the need to
71+
set `imagePullSecrets` for each `Domain` resource being created (because each resource
72+
instance represents a WebLogic domain that the operator is managing):
73+
74+
- Create a Kubernetes `docker-registry` secret as shown
75+
in [Option 1](#option-1-store-images-in-a-central-registry-and-set-up-image-pull-secrets-on-each-domain-resource).
76+
77+
- Modify the `ServiceAccount` that is in the same namespace
78+
as your domain resources to include this image pull secret:
79+
80+
```shell
81+
$ kubectl patch serviceaccount default -n domain1-ns \
82+
-p '{"imagePullSecrets": [{"name": "my-registry-pull-secret"}]}'
83+
```
84+
85+
Note that this patch command entirely replaces the current list of
86+
image pull secrets (if any). To include multiple secrets, use
87+
the following format:
88+
`-p '{"imagePullSecrets": [{"name": "my-registry-pull-secret"}, {"name": "my-registry-pull-secret2"}]}'`.
89+
90+
For more information about updating a Kubernetes `ServiceAccount`
91+
for accessing the registry, see the Kubernetes documentation,
92+
[Configure service accounts for pods](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-image-pull-secrets-to-a-service-account).

0 commit comments

Comments
 (0)