|
| 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 | +``` |
0 commit comments