1 개요[ | ]
- WebLogic Operator
2 INSTALL THE OPERATOR[ | ]
Console
Copy
root@localhost:~# git clone https://github.com/oracle/weblogic-kubernetes-operator.git
Cloning into 'weblogic-kubernetes-operator'...
remote: Enumerating objects: 110720, done.
remote: Total 110720 (delta 0), reused 0 (delta 0), pack-reused 110720
Receiving objects: 100% (110720/110720), 77.14 MiB | 14.30 MiB/s, done.
Resolving deltas: 100% (66645/66645), done.
Checking out files: 100% (7452/7452), done.
Console
Copy
root@localhost:~# cd weblogic-kubernetes-operator/
root@localhost:~/weblogic-kubernetes-operator# helm install kubernetes/charts/weblogic-operator --name weblogic-operator --namespace weblogic-operator-namespace --set "javaLoggingLevel=FINE" --wait
NAME: weblogic-operator
LAST DEPLOYED: Wed Dec 18 15:06:44 2019
NAMESPACE: weblogic-operator-namespace
STATUS: DEPLOYED
RESOURCES:
==> v1/ClusterRole
NAME AGE
weblogic-operator-namespace-weblogic-operator-clusterrole-domain-admin 16s
weblogic-operator-namespace-weblogic-operator-clusterrole-general 16s
weblogic-operator-namespace-weblogic-operator-clusterrole-namespace 16s
weblogic-operator-namespace-weblogic-operator-clusterrole-nonresource 16s
weblogic-operator-namespace-weblogic-operator-clusterrole-operator-admin 16s
==> v1/ClusterRoleBinding
NAME AGE
weblogic-operator-namespace-weblogic-operator-clusterrolebinding-auth-delegator 16s
weblogic-operator-namespace-weblogic-operator-clusterrolebinding-discovery 16s
weblogic-operator-namespace-weblogic-operator-clusterrolebinding-general 16s
weblogic-operator-namespace-weblogic-operator-clusterrolebinding-nonresource 16s
==> v1/ConfigMap
NAME DATA AGE
weblogic-operator-cm 3 16s
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
weblogic-operator-67b77957ff-nq25r 1/1 Running 0 16s
==> v1/Role
NAME AGE
weblogic-operator-role 16s
==> v1/RoleBinding
NAME AGE
weblogic-operator-rolebinding 16s
weblogic-operator-rolebinding-namespace 16s
==> v1/Secret
NAME TYPE DATA AGE
weblogic-operator-secrets Opaque 1 16s
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
internal-weblogic-operator-svc ClusterIP 100.67.154.21 <none> 8082/TCP 16s
==> v1beta1/Deployment
NAME READY UP-TO-DATE AVAILABLE AGE
weblogic-operator 1/1 1 1 16s
Console
Copy
root@localhost:~/weblogic-kubernetes-operator# kubectl get crd | grep weblogic
domains.weblogic.oracle 2019-12-18T05:56:35Z
Console
Copy
root@localhost:~/weblogic-kubernetes-operator# kubectl get pod -n weblogic-operator-namespace
NAME READY STATUS RESTARTS AGE
weblogic-operator-67b77957ff-nq25r 1/1 Running 0 98s
3 PREPARE TO RUN A DOMAIN[ | ]
Console
Copy
root@localhost:~/weblogic-kubernetes-operator# kubectl -n default create secret generic domain1-weblogic-credentials --from-literal=username=username --from-literal=password=P@ssw0rd
secret/domain1-weblogic-credentials created
Console
Copy
root@localhost:~/weblogic-kubernetes-operator# kubectl -n default get secret domain1-weblogic-credentials -o yaml
apiVersion: v1
data:
password: UEBzc3cwcmQ=
username: dXNlcm5hbWU=
kind: Secret
metadata:
creationTimestamp: "2019-12-18T07:52:58Z"
name: domain1-weblogic-credentials
namespace: default
resourceVersion: "27524934"
selfLink: /api/v1/namespaces/default/secrets/domain1-weblogic-credentials
uid: 684daadd-216b-11ea-beca-0a23738ee2fc
type: Opaque
Console
Copy
root@localhost~/weblogic-kubernetes-operator# # docker pull store/oracle/weblogic:12.2.1.3
12.2.1.3: Pulling from store/oracle/weblogic
35defbf6c365: Pull complete
e406c26b7097: Pull complete
13b4283130c6: Pull complete
6382823ee6d3: Pull complete
7f9314b90ead: Pull complete
078f242b0193: Pull complete
a57e5eac3357: Pull complete
Digest: sha256:69eff9b1d19bddd39bdb9e8ce1af23f53eb1aa40753fd85fb830f6fb95217aa0
Status: Downloaded newer image for store/oracle/weblogic:12.2.1.3
Console
Copy
root@localhost:~/weblogic-kubernetes-operator# docker images store/oracle/weblogic
REPOSITORY TAG IMAGE ID CREATED SIZE
store/oracle/weblogic 12.2.1.3 4d0e7bd02c03 6 months ago 1.16GB
Console
Copy
root@localhost:~/weblogic-kubernetes-operator# cd kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/
root@localhost:~/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image# sed 's/container-registry.oracle.com\/middleware\/weblogic/store\/oracle\/weblogic/g' -i create-domain-inputs.yaml
root@localhost:~/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image# ./create-domain.sh -u username -p P@ssw0rd -i create-domain-inputs.yaml -o ~
Input parameters being used
export version="create-weblogic-sample-domain-inputs-v1"
export adminPort="7001"
export adminServerName="admin-server"
export domainUID="domain1"
export serverStartPolicy="IF_NEEDED"
export clusterName="cluster-1"
export configuredManagedServerCount="5"
export initialManagedServerReplicas="2"
export managedServerNameBase="managed-server"
export managedServerPort="8001"
export productionModeEnabled="true"
export imagePullPolicy="IfNotPresent"
export weblogicCredentialsSecretName="domain1-weblogic-credentials"
export includeServerOutInPodLog="true"
export logHomeOnPV="false"
export logHome="/shared/logs/domain1"
export t3ChannelPort="30012"
export exposeAdminT3Channel="false"
export adminNodePort="30701"
export exposeAdminNodePort="false"
export namespace="default"
javaOptions=-Dweblogic.StdoutDebugEnabled=false
export persistentVolumeClaimName="domain1-weblogic-sample-pvc"
export domainPVMountPath="/shared"
export domainHomeImageBase="store/oracle/weblogic:12.2.1.3"
export domainHomeImageBuildPath="./docker-images/OracleWebLogic/samples/12213-domain-home-in-image"
Cloning into './docker-images'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 11423 (delta 0), reused 2 (delta 0), pack-reused 11415
Receiving objects: 100% (11423/11423), 9.24 MiB | 4.80 MiB/s, done.
Resolving deltas: 100% (6704/6704), done.
Generating /root/weblogic-domains/domain1/domain.properties
Generating /root/weblogic-domains/domain1/domain.yaml
Checking to see if the secret domain1-weblogic-credentials exists in namespace default
Context for docker build is /root/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/docker-images/OracleWebLogic/samples/12213-domain-home-in-image
Export environment variables from the /root/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image/docker-images/OracleWebLogic/samples/12213-domain-home-in-image/properties/docker-build/domain.properties properties file
env_arg: CUSTOM_DOMAIN_NAME=domain1
env_arg: CUSTOM_ADMIN_NAME=admin-server
env_arg: CUSTOM_ADMIN_HOST=wlsadmin
env_arg: CUSTOM_DEBUG_PORT=8453
env_arg: CUSTOM_IMAGE_TAG=domain-home-in-image:12.2.1.3
env_arg: CUSTOM_CLUSTER_NAME=cluster-1
BUILD_ARG= --build-arg CUSTOM_DOMAIN_NAME=domain1 --build-arg CUSTOM_ADMIN_NAME=admin-server --build-arg CUSTOM_ADMIN_HOST=wlsadmin --build-arg CUSTOM_ADMIN_HOST=wlsadmin --build-arg CUSTOM_ADMIN_HOST=wlsadmin --build-arg CUSTOM_DEBUG_PORT=8453 --build-arg CUSTOM_CLUSTER_NAME=cluster-1
CUSTOM_IMAGE_TAG domain-home-in-image:12.2.1.3
Sending build context to Docker daemon 43.52kB
Step 1/19 : FROM store/oracle/weblogic:12.2.1.3
---> 4d0e7bd02c03
Step 2/19 : MAINTAINER Monica Riccelli <monica.riccelli@oracle.com>
---> Running in 1764cb1d64d2
Removing intermediate container 1764cb1d64d2
---> ed73c8184733
Step 3/19 : ARG CUSTOM_DOMAIN_NAME="${CUSTOM_DOMAIN_NAME:-domain1}"
---> Running in 4430e415d0d7
Removing intermediate container 4430e415d0d7
---> a17ea37c901a
Step 4/19 : ARG CUSTOM_ADMIN_PORT="${CUSTOM_ADMIN_PORT:-7001}"
---> Running in e4c5f6fadc51
Removing intermediate container e4c5f6fadc51
---> dc0da74a46a5
Step 5/19 : ARG CUSTOM_MANAGED_SERVER_PORT="${CUSTOM_MANAGED_SERVER_PORT:-8001}"
---> Running in 898c35d92dc0
Removing intermediate container 898c35d92dc0
---> 23c0d2cb7858
Step 6/19 : ARG CUSTOM_DEBUG_PORT="${CUSTOM_DEBUG_PORT:-8453}"
---> Running in 81718d7f7209
Removing intermediate container 81718d7f7209
---> 8ef918ebf7b6
Step 7/19 : ARG CUSTOM_ADMIN_NAME="${CUSTOM_ADMIN_NAME:-admin-server}"
---> Running in f79c3cbba00a
Removing intermediate container f79c3cbba00a
---> 6ecfacca108b
Step 8/19 : ARG CUSTOM_ADMIN_HOST="${CUSTOM_ADMIN_HOST:-wlsadmin}"
---> Running in 1484f47fcef8
Removing intermediate container 1484f47fcef8
---> 5b1af2b55ea9
Step 9/19 : ARG CUSTOM_CLUSTER_NAME="${CUSTOM_CLUSTER_NAME:-DockerCluster}"
---> Running in d086a9c52b3c
Removing intermediate container d086a9c52b3c
---> 3105c79a81d1
Step 10/19 : ENV ORACLE_HOME=/u01/oracle PROPERTIES_FILE_DIR="/u01/oracle/properties" DOMAIN_NAME="${CUSTOM_DOMAIN_NAME}" DOMAIN_HOME="/u01/oracle/user_projects/domains/${CUSTOM_DOMAIN_NAME}" ADMIN_PORT="${CUSTOM_ADMIN_PORT}" ADMIN_NAME="${CUSTOM_ADMIN_NAME}" ADMIN_HOST="${CUSTOM_ADMIN_HOST}" CLUSTER_NAME="${CUSTOM_CLUSTER_NAME}" MANAGED_SERVER_PORT="${CUSTOM_MANAGED_SERVER_PORT}" MANAGED_SERV_NAME="${MANAGED_SERV_NAME}" DEBUG_PORT="8453" PATH=$PATH:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:${DOMAIN_HOME}:${DOMAIN_HOME}/bin:/u01/oracle
---> Running in 93d787bbed8f
Removing intermediate container 93d787bbed8f
---> 5cc77b401b2f
Step 11/19 : COPY --chown=oracle:oracle container-scripts/* /u01/oracle/
---> a6635087655f
Step 12/19 : USER root
---> Running in 757ed31d1c9f
Removing intermediate container 757ed31d1c9f
---> 52e1e512376d
Step 13/19 : RUN chmod +xw /u01/oracle/*.sh && chmod +xw /u01/oracle/*.py && mkdir -p ${PROPERTIES_FILE_DIR} && chown -R oracle:oracle ${PROPERTIES_FILE_DIR} && mkdir -p $DOMAIN_HOME && chown -R oracle:oracle $DOMAIN_HOME/.. && chmod -R a+xwr $DOMAIN_HOME/..
---> Running in ab4d695923c9
Removing intermediate container ab4d695923c9
---> c47cd273fc38
Step 14/19 : COPY --chown=oracle:oracle properties/docker-build/domain*.properties ${PROPERTIES_FILE_DIR}/
---> b348eea53291
Step 15/19 : USER oracle
---> Running in 4e0e162dc38c
Removing intermediate container 4e0e162dc38c
---> d8619864cc71
Step 16/19 : RUN /u01/oracle/createWLSDomain.sh && echo ". $DOMAIN_HOME/bin/setDomainEnv.sh" >> /u01/oracle/.bashrc && chmod -R a+x $DOMAIN_HOME/bin/*.sh && rm ${PROPERTIES_FILE_DIR}/*.properties
---> Running in 130389fe4a23
Domain Home is: /u01/oracle/user_projects/domains/domain1
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
cluster_name : [cluster-1]
domain_path : [/u01/oracle/user_projects/domains/domain1]
domain_name : [domain1]
admin_server_name : [admin-server]
admin_port : [7001]
cluster_name : [cluster-1]
server_port : [8001]
number_of_ms : [5]
cluster_type : [DYNAMIC]
managed_server_name_base : [managed-server]
production_mode_enabled : [true]
t3_channel_port : [30012]
t3_public_address : []
Configuring Dynamic Cluster cluster-1
Creating Server Template: cluster-1-template
Done creating Server Template: cluster-1-template
Done setting attributes for Dynamic Cluster: cluster-1
Domain Created
Domain Updated
Done
Exiting WebLogic Scripting Tool.
Removing intermediate container 130389fe4a23
---> 97f98c012524
Step 17/19 : EXPOSE $ADMIN_PORT $MANAGED_SERVER_PORT $DEBUG_PORT
---> Running in ddc7e62a586c
Removing intermediate container ddc7e62a586c
---> a283bd1dc78f
Step 18/19 : WORKDIR $DOMAIN_HOME
---> Running in f77210148b8c
Removing intermediate container f77210148b8c
---> 9a7ad87493fa
Step 19/19 : CMD ["startAdminServer.sh"]
---> Running in 193d856f89c7
Removing intermediate container 193d856f89c7
---> f199d661a5f3
Successfully built f199d661a5f3
Successfully tagged domain-home-in-image:12.2.1.3
Create domain domain1 successfully.
Domain domain1 was created and will be started by the WebLogic Kubernetes Operator
The following files were generated:
/root/weblogic-domains/domain1/create-domain-inputs.yaml
/root/weblogic-domains/domain1/domain.yaml
Completed
4 IMAGE[ | ]
Console
Copy
root@localhost:~/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-weblogic-domain/domain-home-in-image# cd /root/weblogic-domains/domain1/
root@localhost:~/weblogic-domains/domain1# ll
total 20
drwxr-xr-x 2 root root 4096 Dec 18 16:54 ./
drwxr-xr-x 3 root root 4096 Dec 18 16:46 ../
-rw-r--r-- 1 root root 6427 Dec 18 16:53 create-domain-inputs.yaml
-rw-r--r-- 1 root root 3820 Dec 18 16:53 domain.yaml
Console
Copy
root@localhost:~/weblogic-domains/domain1# docker images | grep domain-home-in-image
REPOSITORY TAG IMAGE ID CREATED SIZE
domain-home-in-image 12.2.1.3 f199d661a5f3 9 minutes ago 1.16GB
Console
Copy
root@localhost:~/weblogic-domains/domain1# docker tag domain-home-in-image:12.2.1.3 registry:30000/domain-home-in-image:12.2.1.3
root@localhost:~/weblogic-domains/domain1# docker push registry:30000/domain-home-in-image:12.2.1.3
The push refers to repository [registry:30000/domain-home-in-image]
ff713bf8ae11: Pushed
34c9b18ea6ba: Pushed
689dfd4c7253: Pushed
2b97efd03d32: Pushed
ddb8c9c78c7e: Pushed
1d280e199935: Pushed
5983ff8851a6: Pushed
f559b8d9d7be: Pushed
07e3a765efde: Pushed
e06cfdefa4c5: Pushed
c4a7cf6a6169: Pushed
12.2.1.3: digest: sha256:0611a8713bbd32cfc340262250b0d269515f7aa7a1e43a5a141e7de835e032b8 size: 2619
Console
Copy
root@localhost:~/weblogic-domains/domain1# docker images | grep domain-home-in-image
domain-home-in-image 12.2.1.3 f199d661a5f3 9 minutes ago 1.16GB
registry:30000/domain-home-in-image 12.2.1.3 f199d661a5f3 9 minutes ago 1.16GB
Console
Copy
root@localhost:~/weblogic-domains/domain1# grep image: domain.yaml
image: "domain-home-in-image:12.2.1.3"
root@localhost:~/weblogic-domains/domain1# sed 's/domain-home-in-image:12.2.1.3/registry:30000\/domain-home-in-image:12.2.1.3/g' -i domain.yaml
root@localhost:~/weblogic-domains/domain1# grep image: domain.yaml
image: "registry:30000/domain-home-in-image:12.2.1.3"
5 DOMAIN[ | ]
Console
Copy
root@localhost:~/weblogic-domains/domain1# kubectl apply -f domain.yaml
domain.weblogic.oracle/domain1 created
Console
Copy
root@localhost:~/weblogic-domains/domain1# kubectl get all | grep domain1
pod/domain1-admin-server 1/1 Running 0 8m48s
pod/domain1-managed-server1 1/1 Running 0 8m14s
pod/domain1-managed-server2 1/1 Running 0 8m14s
service/domain1-admin-server ClusterIP None <none> 30012/TCP,7001/TCP 8m48s
service/domain1-cluster-cluster-1 ClusterIP 100.66.79.188 <none> 8001/TCP 8m14s
service/domain1-managed-server1 ClusterIP None <none> 8001/TCP 8m14s
service/domain1-managed-server2 ClusterIP None <none> 8001/TCP 8m14s
6 삭제[ | ]
Console
Copy
root@localhost:~/weblogic-domains/domain1# kubectl delete domain domain1
domain.weblogic.oracle "domain1" deleted
Console
Copy
root@localhost:~/weblogic-domains/domain1# helm del --purge weblogic-operator
release "weblogic-operator" deleted
7 참고[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.