Skip to content

Commit 3be08ce

Browse files
authored
Merge pull request #366 from oracle/feature/helm_operator_1_1
Feature/helm operator 1 1
2 parents 353cb4e + 78ec979 commit 3be08ce

File tree

141 files changed

+7902
-1002
lines changed

Some content is hidden

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

141 files changed

+7902
-1002
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2+
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
3+
4+
name: weblogic-domain
5+
version: 2.0
6+
description: Helm package for creation of WebLogic domain.
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# Weblogic Domain Helm Chart
2+
This chart creates a single Weblogic domain on a [Kubernetes](https://kubernetes.io/) cluster using the
3+
[Helm](https://github.com/kubernetes/helm) package manager.
4+
5+
## Prerequisites
6+
- [Requirements for the Oracle WebLogic Server Kubernetes Operator](https://github.com/oracle/weblogic-kubernetes-operator/blob/master/README.md)
7+
8+
- Install [Helm](https://github.com/kubernetes/helm#install)
9+
10+
- Initialize Helm by installing Tiller, the server portion of Helm, to your Kubernetes cluster
11+
12+
```bash
13+
helm init
14+
```
15+
- Install of the weblogic-operator helm chart
16+
17+
## Creating a Namespace
18+
We recommend that you create a namespace to run your WebLogic Domain(s) in.
19+
You may wish to maintain a one to one relationship between WebLogic Domains
20+
and Kubernetes namespaces, but this is not required. You may run more than
21+
one WebLogic Domain in a single namespace if you wish to.
22+
23+
To create a namespace named `my-namespace`:
24+
25+
```bash
26+
kubectl create namespace my-namespace
27+
```
28+
29+
## Setting a Secret for the Admin Server
30+
You must setup the Admin Server `username` and `password` credentials as a Kubernetes secret.
31+
32+
To create a secret named `my-secret` in the namespace `my-namespace`:
33+
34+
```bash
35+
kubectl create secret generic my-secret --from-literal=username=ADMIN-USERNAME --from-literal=password=ADMIN-PASSWORD --namespace my-namespace
36+
```
37+
In this command, you must replace the uppercase items with your
38+
own values. The secret name will be needed when installing the helm chart.
39+
40+
## Installing the Chart
41+
42+
Change directory to the cloned git weblogic-kubernetes-operator repo:
43+
44+
```bash
45+
cd kubernetes/charts
46+
```
47+
48+
To install the chart with the release `my-release`, namespace `my-namespace` and secret `my-secret' without creating a weblogic domain (such as when a WebLogic domain already exists):
49+
50+
```bash
51+
helm install weblogic-domain --name my-release --namespace my-namespace --set weblogicCredentialsSecretName=my-secret --set createWebLogicDomain=false
52+
```
53+
54+
The command deploys weblogic-domain on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists
55+
the parameters that can be configured during installation.
56+
57+
> Note: if you do not pass the --name flag, a release name will be auto-generated. You can view releases by running helm list (or helm ls, for short).
58+
59+
60+
## Uninstalling the Chart
61+
To uninstall/delete the `my-release` deployment:
62+
63+
```bash
64+
helm delete --purge my-release
65+
```
66+
67+
The command removes all the Kubernetes components associated with the chart and deletes the release.
68+
69+
## Configuration
70+
| Key | Description | Default |
71+
| -------------------------------|-----------------------------------|-----------------------|
72+
| createWebLogicDomain | Boolean indicating if a weblogic domain should be created | true |
73+
| adminPort | Port number for Admin Server | 7001 |
74+
| adminServerName | Name of the Admin Server | admin-server |
75+
| domainName | Name of the WebLogic domain to create | base_domain |
76+
| domainUID | Unique id identifying a domain. The id must be unique across all domains in a Kubernetes cluster | domain1 (needs to uncomment) |
77+
| clusterType | Type of WebLogic Cluster. Legal values are "CONFIGURED" or "DYNAMIC" | DYNAMIC |
78+
| startupControl | Determines which WebLogic Servers the Operator will start up. Legal values are "NONE", "ALL", "ADMIN", "SPECIFIED", or "AUTO" | "AUTO" |
79+
| clusterName | Cluster name | cluster-1 |
80+
| configuredManagedServerCount | Number of managed servers to generate for the domain | 2 |
81+
| initialManagedServerReplicas | Number of managed severs to initially start for a domain | 2 |
82+
| managedServerNameBase | Base string used to generate managed server names | managed-server |
83+
| managedServerPort | Port number for each managed server | 8001 |
84+
| weblogicImage | WebLogic Docker image | store/oracle/weblogic:12.2.1.3 |
85+
| weblogicDomainStorageType | Persistent volume type for the domain's storage. The value must be 'HOST_PATH' or 'NFS' | HOST_PAT |
86+
| weblogicDomainStorageNFSServer | The server name or ip address of the NFS server to use for the domain's storage | nfsServer (need to uncomment as necessary) |
87+
| weblogicDomainStoragePath | Physical path of the persistent volume storage | /scratch/k8s_dir/domain1 (need to uncomment) |
88+
| weblogicDomainStorageReclaimPolicy | Reclaim policy of the domain's persistent storage. The valid values are: 'Retain', 'Delete', and 'Recycle' | Retain |
89+
| weblogicDomainStorageSize | Total storage allocated to the domain's persistent volume | 10Gi |
90+
| productionModeEnabled | Boolean indicating if production mode is enabled for the domain | true |
91+
| weblogicCredentialsSecretName | Name of the Kubernetes secret for the Admin Server's username and password | domain1-weblogic-credentials |
92+
| weblogicImagePullSecretName | Name of the Kubernetes secret to access the Docker Store to pull the Weblogic Docker image | |
93+
| t3ChannelPort | Port for the T3Channel of the NetworkAccessPoint | 30012 |
94+
| t3PublicAddress | Public address for T3Channel of the NetworkAccessPoint. This value should be set to the Kubernetes server address, which you can get by running "kubectl cluster-info". If this value is not set to that address, WLST will not be able to connect from outside the Kubernetes cluster | kubernetes |
95+
| exposeAdminT3Channel | Boolean to indicate if the channel should be exposed as a service | false |
96+
| adminNodePort | NodePort to expose for the admin server | 30701 |
97+
| exposeAdminNodePort | Boolean to indicate if the adminNodePort will be exposed | false |
98+
| loadBalancer | Load balancer to deploy. Supported values are: APACHE, TRAEFIX, VOYAGER, NONE | TRAEFIK |
99+
| loadBalancerVolumePath | Docker volume path for APACHE. | |
100+
| loadBalancerExposeAdminPort| If the admin port is going to be exposed for APACHE | false |
101+
| loadBalancerWebPort| Load balancer web port | 30305 |
102+
| loadBalancerDashboardPort | Load balancer dashboard port | 30315 |
103+
| javaOptions | Java option for WebLogic Server | -Dweblogic.StdoutDebugEnabled=false |
104+
105+
Specify parameters to override default values using the `--set key=value[,key=value]` argument to helm install. For example:
106+
107+
```bash
108+
helm install weblogic-domain --name my-release --namespace my-namespace --set configuredManagedServerCount=3
109+
```
110+
111+
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example:
112+
113+
```bash
114+
helm install weblogic-domain --name my-release --namespace my-namespace --values values.yaml
115+
```
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2+
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
3+
4+
{{/* vim: set filetype=mustache: */}}
5+
{{/*
6+
Expand the name of the chart.
7+
*/}}
8+
{{- define "weblogic-domain.name" -}}
9+
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
10+
{{- end -}}
11+
12+
{{/*
13+
Create a default fully qualified app name.
14+
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
15+
*/}}
16+
{{- define "weblogic-domain.fullname" -}}
17+
{{- $name := default .Chart.Name .Values.nameOverride -}}
18+
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
19+
{{- end -}}

0 commit comments

Comments
 (0)