SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Downloaden Sie, um offline zu lesen
DARWIN IT-PROFESSIONALS
IT Driven Evolution
The Kubernetes WebLogic Revival
(Part 2)
Martien van den Akker, Darwin IT
Simon Haslam, eProseed
2019
martien.van.den.akker@darwin-it.nl @Makker_nl
Who I am
copyright ©2019 Darwin IT-Professionals B.V. 2
Copyright © 2019, eProseed and/or its affiliates.
ABOUT ME
3
Simon Haslam
• Platform / Infrastructure
Architect
• Focus includes HA, DR,
security, automation
Relevant to this session
• WebLogic / FMW installations
since 2000s
• First research/webcast on JCS
in 2016
• Designed & built SOA CS
integration platform for global
use since Oct 2017
• On team migrating eProseed
Lux data centres to OCI@simon_haslam
since
2009
Darwin IT-Professionals
KUBERNETES OPERATOR
PART 2
copyright ©2019 Darwin IT-Professionals B.V. 5
Why build the WebLogic Kubernetes Operator?
• Contains built-in knowledge
about how to perform
lifecycle operations on a
domain
• Uses Kubernetes APIs to
automate lifecycle
operations.
POD 1 POD 2
AS MS
POD 3
MS
POD 4 POD 5 POD 6
MS MSMS
WLS Cluster
Kubernetes Cluster
Manage
Pods
Kubernete
s
Operator
Orchestrate
WebLogic
copyright ©2019 Darwin IT-Professionals B.V. 6
WebLogic Kubernetes Operator
Manages lifecycle
operations (start,
stop, scale, rolling
restart, etc.) in
Kubernetes
Automate configuration,
e.g. clustering,
channels/ports,
configuration overrides
Supports standard k8s
idioms like sidecars, init
containers, custom
resources
1 2 3
Open source and fully supported https://github.com/oracle/weblogic-kubernetes-
operator
copyright ©2019 Darwin IT-Professionals B.V. 7
Darwin IT-Professionals
DEPLOY WEBLOGIC IN KUBERNETES
copyright ©2019 Darwin IT-Professionals B.V. 8
WebLogic Domain in Kubernetes Operator
Domain Home in Image
Kubernete
s
Kubernetes Cluster
Customer Tenancy
Kubernetes
WLS Domain
Image
Repository
Operator
Image
Build Image
Create OKE
Cluster Kubernetes
copyright ©2019 Darwin IT-Professionals B.V. 9
Kubernete
s
Kubernetes Cluster
Customer Tenancy
WLS Domain
Image
Repository
Operator
Image
Kubernetes
Kubernetes
Secrets
Create Secrets
• Create secrets
Wls and Docker
Image
Repository
(OCIR)
copyright ©2019 Darwin IT-Professionals B.V. 10
Customer Tenancy
WLS Domain
Image
Repository
Operator
Image
Kubernetes Cluster
Operator
Kubernetes
Secrets
Install Weblogic Operator using Helm
Kubernetes
copyright ©2019 Darwin IT-Professionals B.V. 11
Customer Tenancy
WLS Domain
Image
Repository
Operator
Image
Kubernetes Cluster
Kubernetes
Operator
Kubernetes
Secrets
Install/Config Treafik LoadBalancer
copyright ©2019 Darwin IT-Professionals B.V. 12
Kubernetes Cluster
Operator
Customer Tenancy
Kubernetes
Secrets
Possibly create persistent volume
Kubernetes
WLS Domain
Image
Repository
Operator
Image
copyright ©2019 Darwin IT-Professionals B.V. 13
WLS Domain
Image
Repository
Operator
Image
Kubernetes Cluster
Operator
Customer Tenancy
Kubernetes
Install Domain
inputs (yaml)
Secrets
Create a Domain.yaml
Kubernetes
copyright ©2019 Darwin IT-Professionals B.V. 14
Kubernete
s
Kubernetes Cluster
Operator
Domain
CR
Customer Tenancy
Kubernetes
Install Domain
inputs (yaml)
kubectl apply …
Secrets
WLS Domain
Image
Repository
Operator
Image
Apply Domain.yaml to CustomResource
Kubernetes
copyright ©2019 Darwin IT-Professionals B.V. 15
Kubernete
s
POD 1 POD 2
AS MS
POD 3
MS
POD 4 POD 5 POD 6
MS MSMS
WLS Cluster
Kubernetes Cluster
Operator
Domain
CR
Customer Tenancy
WebLogic Domain(s)
Kubernetes Logs
Secrets
Operator creating pods
WLS Domain
Image
Repository
Operator
Image
copyright ©2019 Darwin IT-Professionals B.V. 16
GitHub, Wercker, OCI Registry & OKE
Push
Oracle Cloud Developer Services
Kubernetes
copyright ©2019 Darwin IT-Professionals B.V. 17
18copyright ©2019 Darwin IT-Professionals B.V.
Example cluster creation:
App page
WebLogic console
DEMO
Darwin IT-Professionals
TOPOLOGIES
copyright ©2019 Darwin IT-Professionals B.V. 19
2 Topology Models
20copyright ©2019 Darwin IT-Professionals B.V.
Options Domain in PV/C Domain in Image
Domain Topology
Changes
Apply to domain in PV (wlst online) New Image
Configuration Changes
(tunables, credentials, …)
Change configuration in domain in
PV
Overrides Only
Patching New Image CI/CD (new image)
Application Updates Apply to domain in PV CI/CD (new image)
Management of PV/PVC More complex (filesystem shared per
domain)
Simple (not shared, per server)
Administration Console App deployments and
Configuration Changes, can not do
lifecycle mgt.
Monitoring and Diagnosis.
Invalidate configuration changes.
Log Persistence Supported (PV, Pod FS, Elastic Stack,
Standard Out)
Supported (PV, Pod FS, Elastic
Stack, Standard Out)
HA Across Availability
Domain
Limited (requirement for shared PV) Supported (No requirement for
shared PV)
DR across Regions Supported Active/Passive (like on
Premise user responsible for sync
domain config across DC)
Supported Active/Passive (easier,
user does not need to sync
domain config across DC)
Which model should I use?
• The key difference is how updates are handled
– Java updates
– WebLogic patching
– WebLogic configuration changes
– Application updates
• Are you fully embracing the CI/CD "DevOps" model and intend to
manage change through that process?
• E.g. create new images every time there is an update.
• Are you making changes to configurations and deployments in
running systems?
• E.g. run WLST online to dynamically change your domain configuration.
Darwin IT-Professionals
CONFIGURATION OVERRIDES
Confidential – Oracle Internal/Restricted/Highly
Restricted
22
Configuration Overrides
• WebLogic Images containing Application, domain
configuration, resources are immutable.
• These Docker images must be portable
• Development -> Testing -> Production.
• Follow the customer’s CI/CD process.
• Therefore, customers need a mechanism to override
certain domain configuration
• E.g. Provide data source URL and credentials
Domain Introspection and Config Override Generation
Introspection Job
Domain
Customer provided
override templates
Operator
Operator overrides
• Scan domain configuration
for topology and to validate
• Generation of final
configuration overrides
WLS Domain Image
User Configuration Overrides
• Typical attributes for overrides include:
– User names, passwords, and URLs for:
• JDBC datasources
• JMS bridges, foreign servers, and SAF
– Network channel public addresses:
• For remote RMI clients (T3, JMS, EJB, JTA)
• For remote WLST clients
– Debugging
– Tuning (MaxMessageSize, etc.)
Configuration Overrides
• Create a Kubernetes configuration map that contains:
– Override templates
• Create Kubernetes secrets that contains:
– Data source username and password.
• Set your domain CR
– Config map.
– Secret with the Config Override
• Start or restart your domain.
Darwin IT-Professionals
ASSIGN PODS TO NODES
Confidential – Oracle Internal/Restricted/Highly
Restricted
27
Assigning WebLogic Pods to Nodes
• Use Node Selector to constrain a
pod to only be able to run on
particular nodes.
• Assign a label (key=value) to the
node:
• kubectl label nodes kubernetes-
foo-node-1 licensed-for-
weblogic=true
• Edit the Domain Custom
Resource at the
domain/cluster/server level and
assign key:value nodeSelector.
Edit Domain CR
serverPod:
nodeSelector:
licensed-for-weblogic: true
Domain
Custom
Resource
Assigning WebLogic Pods to Nodes
• Assign pods to Nodes based
on resources, e.g. CPU and
Memory usage
• A Pod is scheduled to run on
a Node only if the Node has
enough CPU resources
available.
Edit Domain CR
serverPod:
resources:
requests:
memory: "8Gb"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"`
Domain
Custom
Resource
Inter-Pod Affinity and Anti-Affinity
• Which K8s nodes to schedule or re-schedule
pods with respect to other WebLogic pods
• Possible types of Node affinity/anti-affinity:
• Preferred (soft affinity)
• Required (hard affinity)
• Match labels for Affinity/Anti-affinity
• Operator: In
• Operator: Exists
• Operator: NotIn
• Operator: DoesNotExist
Edit Domain CR
serverPod:
affinity: podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "weblogic.clusterName"
operator: In
values: - cluster-1
topologyKey: "kubernetes.io/hostname"
Node 1 Node 3Node 2
nodeSelector:
licensed-for-weblogic: true
affinity: podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "weblogic.clusterName"
- operator: In
Licensed-for-weblogic Licensed-for-weblogic
WLS
POD1
WLS
POD2
ScheduleOperator
weblogic.clusterName
Node 1 Node 3Node 2
nodeSelector:
licensed-for-weblogic: true
affinity: podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "weblogic.clusterName"
- operator: In
Licensed-for-weblogic Licensed-for-weblogic
WLS
POD1
WLS
POD2
Operator
weblogic.clusterName weblogic.clusterName
Node 1 Node 3Node 2
nodeSelector:
licensed-for-weblogic: true
affinity: podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "weblogic.clusterName"
- operator: In
Licensed-for-weblogic Licensed-for-weblogic
WLS
POD1
WLS
POD3
ScheduleOperator
weblogic.clusterName
WLS
POD2
weblogic.clusterName
Node 1 Node 3Node 2
nodeSelector:
licensed-for-weblogic: true
affinity: podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "weblogic.clusterName"
- operator: In
Licensed-for-weblogic Licensed-for-weblogic
WLS
POD1
WLS
POD2
Operator
weblogic.clusterName weblogic.clusterName
WLS
POD3
weblogic.clusterName
Darwin IT-Professionals
HA AND DR IN KUBERNETES
Confidential – Oracle Internal/Restricted/Highly
Restricted
35
WebLogic High Availability
• WebLogic High Availability
across Data Centers with
WebLogic Stretch Clusters.
• Span a WebLogic domain
across several Availability
Domains
• Single Kubernetes Cluster
WebLogic domain
AD 1 AD 2 AD 3
WebLogic Disaster Recovery
• WebLogic DR across Regions
made easier
• WebLogic domain image
contains complete domain
configuration
• State needs to be externalized to
Database
Region A Region BWLS
Domain
image
Darwin IT-Professionals
TOOLING
copyright ©2019 Darwin IT-Professionals B.V. 38
WebLogic Monitoring Exporter
• Monitoring Exporter enables
Prometheus monitoring of
WebLogic
• Standard monitoring tools can be
used for monitoring WebLogic
• Grafana Dashboards used for
visualization
• Prometheus auto-scaling of
WebLogic cluster
• Prometheus and Grafana
example GitHub Sample 39
Confidential – Oracle Internal/Restricted/Highly
Restricted
MS M
S
Kubernete
s
Kubernet
es
Operator
WebLogic WebLogic WebLogic
Monitor
Scale
WLS
Out of the Box Grafana Dashboards
WebLogic Deploy Tooling
• Introspect domains
– WebLogic 10.3.6, 12.1.3, 12.2.1.X
– Create a model (yaml) of the
domain
– Migrate existing domains and
applications Upgrade (if
required) to 12.2.1.X
• Customize and Validate
configuration to meet
Kubernetes requirements
• Create domains in Docker
image GitHub Sample 41
Confidential – Oracle Internal/Restricted/Highly
Restricted
WebLogic WebLogic WebLogic
WebLogic Deploy Tooling
Domain Model
WebLogic Logging Exporter
• Logging Exporter enables
exporting WebLogic server
logs to the Elastic Stack
• Store logs in the Elastic Stack
• Search and analyze logs in
Elastichsearch
• Display logs in dashboards in
Kibana
• Integrate with FluentD (future)
• GitHub weblogic-logging-
exporter
42
Confidential – Oracle Internal/Restricted/Highly
Restricted
MS M
S
Kubernete
s
Kubernet
es
Operator
WebLogic WebLogic WebLogic
Kibana Dashboards
Patching WL Image with WebLogic Image Tool
44
Confidential – Oracle Internal/Restricted/Highly
Restricted
Kubernete
s
Repository
WLS Domain Image
Operator
Image
WLS 12.2.1.3 Binary Image
WLS 12.2.1.3
JDK 8_u201
OL 7.5
p29135930 & p27117282
WLS 12.2.1.3 Binary
Image from Repository
p29135930 & p27117282
Download
p29135930 & p27117282
My Oracle Support
WLS 12.2.1.3
p29135930 & p27117282
Domain yaml model &
Application binaries
WLS Image Tool WLS 12.2.1.3 patched
Binary Image
WLS Domain Image
Patched
Use cases
Build
image from
scratch
Build image
from already
existing
image
WLS 12.2.1.3 Binary Image
Apply patches p29135930 &
p27117282
Build domain
image based
on WLS
12.2.1.3
WLS 12.2.1.3 patched Binary
Image
With WDT build a domain
image with application
Oracle Linux
Apply patches
p29135930 &
p27117282
Server JRE
WebLogioc 12.2.1.3
binaries
Future
Darwin IT-Professionals
DEMO WEBLOGIC WITHIN OKE CLUSTER
copyright ©2019 Darwin IT-Professionals B.V. 45
OKE Cluster and its VCN context
4 - 46
ORACLE CLOUD DATA CENTER REGION (Frankfurt)
Medreck8s Compartment
AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3
Regional Private SUBNET A,10.0.10.0/24
Regional Public SUBNET A,10.0.20.0/24
Wkr Security List
LB Security List
OKE-1 OKE-2 OKE-0
10.0.10.4
LB130.61.12.8
10.0.10.2 10.0.10.3
OKE Cluster
OKE VCN, 10.0.0.0/16
OKE Cluster within OCI Console
4 - 47
ORACLE CLOUD DATA CENTER REGION (Frankfurt)
Medreck8s Compartment
AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3
Regional Private SUBNET A,10.0.10.0/24
Regional Public SUBNET A,10.0.20.0/24
Wkr Security List
LB Security List
OKE-1 OKE-2 OKE-0
10.0.10.4
LB130.61.12.8
10.0.10.2 10.0.10.3
OKE Cluster
OKE VCN, 10.0.0.0/16
Weblogic running within an OKE Cluster
4 - 48
ORACLE CLOUD DATA CENTER REGION (Frankfurt)
Medreck8s Compartment
AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3
Regional Private SUBNET A,10.0.10.0/24
Regional Public SUBNET A,10.0.20.0/24
Wkr Security List
LB Security List
OKE-1 OKE-2 OKE-0
AdmSrv
10.244.2.45
10.0.10.4
LB130.61.12.8
Srv-1
10.244.2.46
10.0.10.2
Srv-2
10.244.0.56
10.0.10.3Srv-3
10.244.1.40
OKE Cluster
OKE VCN, 10.0.0.0/16
Managed servers within weblogic domain running on a OKE cluster
4 - 49
ORACLE CLOUD DATA CENTER REGION (Frankfurt)
Medreck8s Compartment
AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3
Regional Private SUBNET A,10.0.10.0/24
Regional Public SUBNET A,10.0.20.0/24
Wkr Security List
LB Security List
OKE-1 OKE-2 OKE-0
AdmSrv
10.244.2.45
10.0.10.4
LB130.61.12.8
Srv-1
10.244.2.46
10.0.10.2
Srv-2
10.244.0.56
10.0.10.3Srv-3
10.244.1.40
OKE Cluster
OKE VCN, 10.0.0.0/16
How to access a managed database outside an OKE cluster?
4 - 50
ORACLE CLOUD DATA CENTER REGION (Frankfurt)
Medreck8s Compartment
AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3
Regional Private SUBNET A,10.0.10.0/24
Regional Public SUBNET A,10.0.20.0/24
Wkr Security List
LB Security List
OKE-1 OKE-2 OKE-0
DBHost
AdmSrv
10.244.2.45
10.0.10.4
10.0.10.6
LB130.61.12.8
Srv-1
10.244.2.46
10.0.10.2
Srv-2
10.244.0.56
10.0.10.3Srv-3
10.244.1.40
OKE Cluster
OKE VCN, 10.0.0.0/16
10.96.72.93
Running managed database in OCI console within same subnet as OKE cluster
4 - 51
ORACLE CLOUD DATA CENTER REGION (Frankfurt)
Medreck8s Compartment
AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3
Regional Private SUBNET A,10.0.10.0/24
Regional Public SUBNET A,10.0.20.0/24
Wkr Security List
LB Security List
OKE-1 OKE-2 OKE-0
DBHost
AdmSrv
10.244.2.45
10.0.10.4
10.0.10.6
LB130.61.12.8
Srv-1
10.244.2.46
10.0.10.2
Srv-2
10.244.0.56
10.0.10.3Srv-3
10.244.1.40
OKE Cluster
OKE VCN, 10.0.0.0/16
10.96.72.93
Runtime access to a managed database via a k8s service
4 - 52
ORACLE CLOUD DATA CENTER REGION (Frankfurt)
Medreck8s Compartment
AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3
Regional Private SUBNET A,10.0.10.0/24
Regional Public SUBNET A,10.0.20.0/24
Wkr Security List
LB Security List
OKE-1 OKE-2 OKE-0
DBHost
AdmSrv
10.244.2.45
10.0.10.4
10.0.10.6
LB130.61.12.8
Srv-1
10.244.2.46
10.0.10.2
Srv-2
10.244.0.56
10.0.10.3Srv-3
10.244.1.40
OKE Cluster
medrecdbhostname
sk8s service op 1521
OKE VCN, 10.0.0.0/16
10.96.104.28
k8s service medrecdbhostname details with kubectl
4 - 53
ORACLE CLOUD DATA CENTER REGION (Frankfurt)
Medreck8s Compartment
AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3
Regional Private SUBNET A,10.0.10.0/24
Regional Public SUBNET A,10.0.20.0/24
Wkr Security List
LB Security List
OKE-1 OKE-2 OKE-0
DBHost
AdmSrv
10.244.2.45
10.0.10.4
10.0.10.6
LB130.61.12.8
Srv-1
10.244.2.46
10.0.10.2
Srv-2
10.244.0.56
10.0.10.3Srv-3
10.244.1.40
OKE Cluster
medrecdbhostname
sk8s service op 1521
OKE VCN, 10.0.0.0/16
10.96.72.93
Demo Down and Up Sizing a Weblogic Domain: more/less managed servers
4 - 54
ORACLE CLOUD DATA CENTER REGION (Frankfurt)
Medreck8s Compartment
AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3
Regional Private SUBNET A,10.0.10.0/24
Regional Public SUBNET A,10.0.20.0/24
Wkr Security List
LB Security List
OKE-1 OKE-2 OKE-0
AdmSrv
10.244.2.45
10.0.10.4
LB130.61.12.8
Srv-1
10.244.2.46
10.0.10.2
Srv-2
10.244.0.56
10.0.10.3Srv-3
10.244.1.40
OKE Cluster
OKE VCN, 10.0.0.0/16
Darwin IT-Professionals
WRAPPING UP…
copyright ©2019 Darwin IT-Professionals B.V. 61
Links
• Oracle Weblogic Kubernetes Operator
– https://oracle.github.io/weblogic-kubernetes-operator
• Oracle Weblogic Kubernetes Operator Samples
– https://oracle.github.io/weblogic-kubernetes-operator/samples/
• Oracle Weblogic Slack Inviter
– https://weblogic-slack-inviter.herokuapp.com/
• Cloud Customer Connect – Containers and Kubernetes forum
– https://cloudcustomerconnect.oracle.com/resources/654ff18469/summary
• OPN PaasForum/SummerCamps ’19 Tutorial by Peter Nagy (to be forked)
– https://github.com/nagypeter/weblogic-operator-tutorial
• End2End example monitoring wl server with Grafana dashboards
– https://blogs.oracle.com/weblogicserver/end-to-end-example-of-monitoring-weblogic-server-
with-grafana-dashboards-on-the-oci-container-engine-for-kubernetes
copyright ©2019 Darwin IT-Professionals B.V. 62
Darwin IT-Professionals
THANK YOU FOR YOUR ATTENDANCE,
PATIENCE AND ATTENTION
copyright ©2019 Darwin IT-Professionals B.V. 63
Q & A
copyright ©2019 Darwin IT-Professionals B.V. 64

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Introduction to Oracle Cloud Infrastructure Services
Introduction to Oracle Cloud Infrastructure ServicesIntroduction to Oracle Cloud Infrastructure Services
Introduction to Oracle Cloud Infrastructure Services
 
Azure migration
Azure migrationAzure migration
Azure migration
 
IoT & Azure (EventHub)
IoT & Azure (EventHub)IoT & Azure (EventHub)
IoT & Azure (EventHub)
 
Microsoft Azure VM Cheat Sheet
Microsoft Azure VM Cheat SheetMicrosoft Azure VM Cheat Sheet
Microsoft Azure VM Cheat Sheet
 
Enterprise WAN Transformation: SD-WAN, SASE, and the Pandemic
Enterprise WAN Transformation: SD-WAN, SASE, and the PandemicEnterprise WAN Transformation: SD-WAN, SASE, and the Pandemic
Enterprise WAN Transformation: SD-WAN, SASE, and the Pandemic
 
An Introduction to VMware NSX
An Introduction to VMware NSXAn Introduction to VMware NSX
An Introduction to VMware NSX
 
OCI Overview
OCI OverviewOCI Overview
OCI Overview
 
Introduction to snowflake
Introduction to snowflakeIntroduction to snowflake
Introduction to snowflake
 
透過與-AWS-雲端平台的完美整合-針對實體-虛擬-及雲端環境提供完整的保護
透過與-AWS-雲端平台的完美整合-針對實體-虛擬-及雲端環境提供完整的保護透過與-AWS-雲端平台的完美整合-針對實體-虛擬-及雲端環境提供完整的保護
透過與-AWS-雲端平台的完美整合-針對實體-虛擬-及雲端環境提供完整的保護
 
Azure Migrate
Azure MigrateAzure Migrate
Azure Migrate
 
VMware Cloud on AWS - 100819.pdf
VMware Cloud on AWS - 100819.pdfVMware Cloud on AWS - 100819.pdf
VMware Cloud on AWS - 100819.pdf
 
A Cloud Journey - Move to the Oracle Cloud
A Cloud Journey - Move to the Oracle CloudA Cloud Journey - Move to the Oracle Cloud
A Cloud Journey - Move to the Oracle Cloud
 
VMware Advance Troubleshooting Workshop - Day 2
VMware Advance Troubleshooting Workshop - Day 2VMware Advance Troubleshooting Workshop - Day 2
VMware Advance Troubleshooting Workshop - Day 2
 
VMware Cloud Foundation - PnP presentation 8_6_18 EN.pptx
VMware Cloud Foundation - PnP presentation 8_6_18 EN.pptxVMware Cloud Foundation - PnP presentation 8_6_18 EN.pptx
VMware Cloud Foundation - PnP presentation 8_6_18 EN.pptx
 
A quick introduction to AKS
A quick introduction to AKSA quick introduction to AKS
A quick introduction to AKS
 
Vmware virtualization in data centers
Vmware virtualization in data centersVmware virtualization in data centers
Vmware virtualization in data centers
 
Introduction to the world of Cloud Computing & Microsoft Azure.pptx
Introduction to the world of Cloud Computing & Microsoft Azure.pptxIntroduction to the world of Cloud Computing & Microsoft Azure.pptx
Introduction to the world of Cloud Computing & Microsoft Azure.pptx
 
Automate and Optimize Data Warehouse Migration to Snowflake
Automate and Optimize Data Warehouse Migration to SnowflakeAutomate and Optimize Data Warehouse Migration to Snowflake
Automate and Optimize Data Warehouse Migration to Snowflake
 
Introduction to the EMC XtremIO All-Flash Array
Introduction to the EMC XtremIO All-Flash ArrayIntroduction to the EMC XtremIO All-Flash Array
Introduction to the EMC XtremIO All-Flash Array
 
iPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergenceiPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergence
 

Ähnlich wie The Kubernetes WebLogic revival (part 2)

Vishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
Vishwakarma: Terraform modules for deploying EKS and Self-hosting KubernetesVishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
Vishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
Amazon Web Services
 

Ähnlich wie The Kubernetes WebLogic revival (part 2) (20)

The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1
 
Oracle SOA Suite Everywhere
Oracle SOA Suite EverywhereOracle SOA Suite Everywhere
Oracle SOA Suite Everywhere
 
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
Edge 2016 Session 1886  Building your own docker container cloud on ibm power...Edge 2016 Session 1886  Building your own docker container cloud on ibm power...
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
 
Vishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
Vishwakarma: Terraform modules for deploying EKS and Self-hosting KubernetesVishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
Vishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
 
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud InfrastructureRunning Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud Infrastructure
 
The ultimate Kubernetes Deployment Checklist - Infra to Microservices
The ultimate Kubernetes Deployment Checklist - Infra to MicroservicesThe ultimate Kubernetes Deployment Checklist - Infra to Microservices
The ultimate Kubernetes Deployment Checklist - Infra to Microservices
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to Deployment
 
Running Enterprise Workloads in the Cloud
Running Enterprise Workloads in the CloudRunning Enterprise Workloads in the Cloud
Running Enterprise Workloads in the Cloud
 
Practical lessons from customers performing digital transformation with Azure
Practical lessons from customers performing digital transformation with AzurePractical lessons from customers performing digital transformation with Azure
Practical lessons from customers performing digital transformation with Azure
 
SD Times - Docker v2
SD Times - Docker v2SD Times - Docker v2
SD Times - Docker v2
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
 
wls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdfwls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdf
 
SKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesSKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for Databases
 
Running Docker in Production
Running Docker in ProductionRunning Docker in Production
Running Docker in Production
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
oci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdfoci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdf
 
DevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesDevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for Databases
 
Hybrid cloud openstack meetup
Hybrid cloud openstack meetupHybrid cloud openstack meetup
Hybrid cloud openstack meetup
 
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloudMigrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
 

Mehr von Simon Haslam

Mehr von Simon Haslam (20)

Platform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle WorldPlatform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle World
 
Better Practices when Using Terraform to Manage Oracle Cloud Infrastructure
Better Practices when Using Terraform to Manage Oracle Cloud InfrastructureBetter Practices when Using Terraform to Manage Oracle Cloud Infrastructure
Better Practices when Using Terraform to Manage Oracle Cloud Infrastructure
 
What You Need to Know about Oracle Cloud Connectivity
What You Need to Know about Oracle Cloud ConnectivityWhat You Need to Know about Oracle Cloud Connectivity
What You Need to Know about Oracle Cloud Connectivity
 
Tips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsTips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS Admins
 
Platform Provisioning Automation for Oracle Cloud
Platform Provisioning Automation for Oracle CloudPlatform Provisioning Automation for Oracle Cloud
Platform Provisioning Automation for Oracle Cloud
 
Terrraform meet Oracle Cloud: Platform Provisioning Automation
Terrraform meet Oracle Cloud: Platform Provisioning AutomationTerrraform meet Oracle Cloud: Platform Provisioning Automation
Terrraform meet Oracle Cloud: Platform Provisioning Automation
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
 
Provisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerProvisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack Manager
 
Oracle SOA Cloud - Skanska Customer Journey
Oracle SOA Cloud - Skanska Customer JourneyOracle SOA Cloud - Skanska Customer Journey
Oracle SOA Cloud - Skanska Customer Journey
 
Tips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsTips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS Admins
 
Delivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JETDelivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JET
 
JET Hybrid Mobile Apps - taster for Oracle CodeOne
JET Hybrid Mobile Apps - taster for Oracle CodeOneJET Hybrid Mobile Apps - taster for Oracle CodeOne
JET Hybrid Mobile Apps - taster for Oracle CodeOne
 
Delivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleDelivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using Oracle
 
Provisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerProvisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack Manager
 
Connecting Oracle Cloud to your Data Centre (Part A)
Connecting Oracle Cloud to your Data Centre (Part A)Connecting Oracle Cloud to your Data Centre (Part A)
Connecting Oracle Cloud to your Data Centre (Part A)
 
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite CustomersRunning SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite Customers
 
Tips & Tricks for Java & SOA Cloud Service
Tips & Tricks for Java & SOA Cloud ServiceTips & Tricks for Java & SOA Cloud Service
Tips & Tricks for Java & SOA Cloud Service
 
SOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the Cloud
 
Driving DevOps for Oracle with the orawls Puppet Modules
Driving DevOps for Oracle with the orawls Puppet ModulesDriving DevOps for Oracle with the orawls Puppet Modules
Driving DevOps for Oracle with the orawls Puppet Modules
 
Experiences of SOACS
Experiences of SOACSExperiences of SOACS
Experiences of SOACS
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

The Kubernetes WebLogic revival (part 2)

  • 1. DARWIN IT-PROFESSIONALS IT Driven Evolution The Kubernetes WebLogic Revival (Part 2) Martien van den Akker, Darwin IT Simon Haslam, eProseed 2019
  • 2. martien.van.den.akker@darwin-it.nl @Makker_nl Who I am copyright ©2019 Darwin IT-Professionals B.V. 2
  • 3. Copyright © 2019, eProseed and/or its affiliates. ABOUT ME 3 Simon Haslam • Platform / Infrastructure Architect • Focus includes HA, DR, security, automation Relevant to this session • WebLogic / FMW installations since 2000s • First research/webcast on JCS in 2016 • Designed & built SOA CS integration platform for global use since Oct 2017 • On team migrating eProseed Lux data centres to OCI@simon_haslam since 2009
  • 4. Darwin IT-Professionals KUBERNETES OPERATOR PART 2 copyright ©2019 Darwin IT-Professionals B.V. 5
  • 5. Why build the WebLogic Kubernetes Operator? • Contains built-in knowledge about how to perform lifecycle operations on a domain • Uses Kubernetes APIs to automate lifecycle operations. POD 1 POD 2 AS MS POD 3 MS POD 4 POD 5 POD 6 MS MSMS WLS Cluster Kubernetes Cluster Manage Pods Kubernete s Operator Orchestrate WebLogic copyright ©2019 Darwin IT-Professionals B.V. 6
  • 6. WebLogic Kubernetes Operator Manages lifecycle operations (start, stop, scale, rolling restart, etc.) in Kubernetes Automate configuration, e.g. clustering, channels/ports, configuration overrides Supports standard k8s idioms like sidecars, init containers, custom resources 1 2 3 Open source and fully supported https://github.com/oracle/weblogic-kubernetes- operator copyright ©2019 Darwin IT-Professionals B.V. 7
  • 7. Darwin IT-Professionals DEPLOY WEBLOGIC IN KUBERNETES copyright ©2019 Darwin IT-Professionals B.V. 8
  • 8. WebLogic Domain in Kubernetes Operator Domain Home in Image Kubernete s Kubernetes Cluster Customer Tenancy Kubernetes WLS Domain Image Repository Operator Image Build Image Create OKE Cluster Kubernetes copyright ©2019 Darwin IT-Professionals B.V. 9
  • 9. Kubernete s Kubernetes Cluster Customer Tenancy WLS Domain Image Repository Operator Image Kubernetes Kubernetes Secrets Create Secrets • Create secrets Wls and Docker Image Repository (OCIR) copyright ©2019 Darwin IT-Professionals B.V. 10
  • 10. Customer Tenancy WLS Domain Image Repository Operator Image Kubernetes Cluster Operator Kubernetes Secrets Install Weblogic Operator using Helm Kubernetes copyright ©2019 Darwin IT-Professionals B.V. 11
  • 11. Customer Tenancy WLS Domain Image Repository Operator Image Kubernetes Cluster Kubernetes Operator Kubernetes Secrets Install/Config Treafik LoadBalancer copyright ©2019 Darwin IT-Professionals B.V. 12
  • 12. Kubernetes Cluster Operator Customer Tenancy Kubernetes Secrets Possibly create persistent volume Kubernetes WLS Domain Image Repository Operator Image copyright ©2019 Darwin IT-Professionals B.V. 13
  • 13. WLS Domain Image Repository Operator Image Kubernetes Cluster Operator Customer Tenancy Kubernetes Install Domain inputs (yaml) Secrets Create a Domain.yaml Kubernetes copyright ©2019 Darwin IT-Professionals B.V. 14
  • 14. Kubernete s Kubernetes Cluster Operator Domain CR Customer Tenancy Kubernetes Install Domain inputs (yaml) kubectl apply … Secrets WLS Domain Image Repository Operator Image Apply Domain.yaml to CustomResource Kubernetes copyright ©2019 Darwin IT-Professionals B.V. 15
  • 15. Kubernete s POD 1 POD 2 AS MS POD 3 MS POD 4 POD 5 POD 6 MS MSMS WLS Cluster Kubernetes Cluster Operator Domain CR Customer Tenancy WebLogic Domain(s) Kubernetes Logs Secrets Operator creating pods WLS Domain Image Repository Operator Image copyright ©2019 Darwin IT-Professionals B.V. 16
  • 16. GitHub, Wercker, OCI Registry & OKE Push Oracle Cloud Developer Services Kubernetes copyright ©2019 Darwin IT-Professionals B.V. 17
  • 17. 18copyright ©2019 Darwin IT-Professionals B.V. Example cluster creation: App page WebLogic console DEMO
  • 18. Darwin IT-Professionals TOPOLOGIES copyright ©2019 Darwin IT-Professionals B.V. 19
  • 19. 2 Topology Models 20copyright ©2019 Darwin IT-Professionals B.V. Options Domain in PV/C Domain in Image Domain Topology Changes Apply to domain in PV (wlst online) New Image Configuration Changes (tunables, credentials, …) Change configuration in domain in PV Overrides Only Patching New Image CI/CD (new image) Application Updates Apply to domain in PV CI/CD (new image) Management of PV/PVC More complex (filesystem shared per domain) Simple (not shared, per server) Administration Console App deployments and Configuration Changes, can not do lifecycle mgt. Monitoring and Diagnosis. Invalidate configuration changes. Log Persistence Supported (PV, Pod FS, Elastic Stack, Standard Out) Supported (PV, Pod FS, Elastic Stack, Standard Out) HA Across Availability Domain Limited (requirement for shared PV) Supported (No requirement for shared PV) DR across Regions Supported Active/Passive (like on Premise user responsible for sync domain config across DC) Supported Active/Passive (easier, user does not need to sync domain config across DC)
  • 20. Which model should I use? • The key difference is how updates are handled – Java updates – WebLogic patching – WebLogic configuration changes – Application updates • Are you fully embracing the CI/CD "DevOps" model and intend to manage change through that process? • E.g. create new images every time there is an update. • Are you making changes to configurations and deployments in running systems? • E.g. run WLST online to dynamically change your domain configuration.
  • 21. Darwin IT-Professionals CONFIGURATION OVERRIDES Confidential – Oracle Internal/Restricted/Highly Restricted 22
  • 22. Configuration Overrides • WebLogic Images containing Application, domain configuration, resources are immutable. • These Docker images must be portable • Development -> Testing -> Production. • Follow the customer’s CI/CD process. • Therefore, customers need a mechanism to override certain domain configuration • E.g. Provide data source URL and credentials
  • 23. Domain Introspection and Config Override Generation Introspection Job Domain Customer provided override templates Operator Operator overrides • Scan domain configuration for topology and to validate • Generation of final configuration overrides WLS Domain Image
  • 24. User Configuration Overrides • Typical attributes for overrides include: – User names, passwords, and URLs for: • JDBC datasources • JMS bridges, foreign servers, and SAF – Network channel public addresses: • For remote RMI clients (T3, JMS, EJB, JTA) • For remote WLST clients – Debugging – Tuning (MaxMessageSize, etc.)
  • 25. Configuration Overrides • Create a Kubernetes configuration map that contains: – Override templates • Create Kubernetes secrets that contains: – Data source username and password. • Set your domain CR – Config map. – Secret with the Config Override • Start or restart your domain.
  • 26. Darwin IT-Professionals ASSIGN PODS TO NODES Confidential – Oracle Internal/Restricted/Highly Restricted 27
  • 27. Assigning WebLogic Pods to Nodes • Use Node Selector to constrain a pod to only be able to run on particular nodes. • Assign a label (key=value) to the node: • kubectl label nodes kubernetes- foo-node-1 licensed-for- weblogic=true • Edit the Domain Custom Resource at the domain/cluster/server level and assign key:value nodeSelector. Edit Domain CR serverPod: nodeSelector: licensed-for-weblogic: true Domain Custom Resource
  • 28. Assigning WebLogic Pods to Nodes • Assign pods to Nodes based on resources, e.g. CPU and Memory usage • A Pod is scheduled to run on a Node only if the Node has enough CPU resources available. Edit Domain CR serverPod: resources: requests: memory: "8Gb" cpu: "250m" limits: memory: "128Mi" cpu: "500m"` Domain Custom Resource
  • 29. Inter-Pod Affinity and Anti-Affinity • Which K8s nodes to schedule or re-schedule pods with respect to other WebLogic pods • Possible types of Node affinity/anti-affinity: • Preferred (soft affinity) • Required (hard affinity) • Match labels for Affinity/Anti-affinity • Operator: In • Operator: Exists • Operator: NotIn • Operator: DoesNotExist Edit Domain CR serverPod: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: "weblogic.clusterName" operator: In values: - cluster-1 topologyKey: "kubernetes.io/hostname"
  • 30. Node 1 Node 3Node 2 nodeSelector: licensed-for-weblogic: true affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: "weblogic.clusterName" - operator: In Licensed-for-weblogic Licensed-for-weblogic WLS POD1 WLS POD2 ScheduleOperator weblogic.clusterName
  • 31. Node 1 Node 3Node 2 nodeSelector: licensed-for-weblogic: true affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: "weblogic.clusterName" - operator: In Licensed-for-weblogic Licensed-for-weblogic WLS POD1 WLS POD2 Operator weblogic.clusterName weblogic.clusterName
  • 32. Node 1 Node 3Node 2 nodeSelector: licensed-for-weblogic: true affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: "weblogic.clusterName" - operator: In Licensed-for-weblogic Licensed-for-weblogic WLS POD1 WLS POD3 ScheduleOperator weblogic.clusterName WLS POD2 weblogic.clusterName
  • 33. Node 1 Node 3Node 2 nodeSelector: licensed-for-weblogic: true affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: "weblogic.clusterName" - operator: In Licensed-for-weblogic Licensed-for-weblogic WLS POD1 WLS POD2 Operator weblogic.clusterName weblogic.clusterName WLS POD3 weblogic.clusterName
  • 34. Darwin IT-Professionals HA AND DR IN KUBERNETES Confidential – Oracle Internal/Restricted/Highly Restricted 35
  • 35. WebLogic High Availability • WebLogic High Availability across Data Centers with WebLogic Stretch Clusters. • Span a WebLogic domain across several Availability Domains • Single Kubernetes Cluster WebLogic domain AD 1 AD 2 AD 3
  • 36. WebLogic Disaster Recovery • WebLogic DR across Regions made easier • WebLogic domain image contains complete domain configuration • State needs to be externalized to Database Region A Region BWLS Domain image
  • 37. Darwin IT-Professionals TOOLING copyright ©2019 Darwin IT-Professionals B.V. 38
  • 38. WebLogic Monitoring Exporter • Monitoring Exporter enables Prometheus monitoring of WebLogic • Standard monitoring tools can be used for monitoring WebLogic • Grafana Dashboards used for visualization • Prometheus auto-scaling of WebLogic cluster • Prometheus and Grafana example GitHub Sample 39 Confidential – Oracle Internal/Restricted/Highly Restricted MS M S Kubernete s Kubernet es Operator WebLogic WebLogic WebLogic Monitor Scale WLS
  • 39. Out of the Box Grafana Dashboards
  • 40. WebLogic Deploy Tooling • Introspect domains – WebLogic 10.3.6, 12.1.3, 12.2.1.X – Create a model (yaml) of the domain – Migrate existing domains and applications Upgrade (if required) to 12.2.1.X • Customize and Validate configuration to meet Kubernetes requirements • Create domains in Docker image GitHub Sample 41 Confidential – Oracle Internal/Restricted/Highly Restricted WebLogic WebLogic WebLogic WebLogic Deploy Tooling Domain Model
  • 41. WebLogic Logging Exporter • Logging Exporter enables exporting WebLogic server logs to the Elastic Stack • Store logs in the Elastic Stack • Search and analyze logs in Elastichsearch • Display logs in dashboards in Kibana • Integrate with FluentD (future) • GitHub weblogic-logging- exporter 42 Confidential – Oracle Internal/Restricted/Highly Restricted MS M S Kubernete s Kubernet es Operator WebLogic WebLogic WebLogic
  • 43. Patching WL Image with WebLogic Image Tool 44 Confidential – Oracle Internal/Restricted/Highly Restricted Kubernete s Repository WLS Domain Image Operator Image WLS 12.2.1.3 Binary Image WLS 12.2.1.3 JDK 8_u201 OL 7.5 p29135930 & p27117282 WLS 12.2.1.3 Binary Image from Repository p29135930 & p27117282 Download p29135930 & p27117282 My Oracle Support WLS 12.2.1.3 p29135930 & p27117282 Domain yaml model & Application binaries WLS Image Tool WLS 12.2.1.3 patched Binary Image WLS Domain Image Patched Use cases Build image from scratch Build image from already existing image WLS 12.2.1.3 Binary Image Apply patches p29135930 & p27117282 Build domain image based on WLS 12.2.1.3 WLS 12.2.1.3 patched Binary Image With WDT build a domain image with application Oracle Linux Apply patches p29135930 & p27117282 Server JRE WebLogioc 12.2.1.3 binaries Future
  • 44. Darwin IT-Professionals DEMO WEBLOGIC WITHIN OKE CLUSTER copyright ©2019 Darwin IT-Professionals B.V. 45
  • 45. OKE Cluster and its VCN context 4 - 46 ORACLE CLOUD DATA CENTER REGION (Frankfurt) Medreck8s Compartment AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3 Regional Private SUBNET A,10.0.10.0/24 Regional Public SUBNET A,10.0.20.0/24 Wkr Security List LB Security List OKE-1 OKE-2 OKE-0 10.0.10.4 LB130.61.12.8 10.0.10.2 10.0.10.3 OKE Cluster OKE VCN, 10.0.0.0/16
  • 46. OKE Cluster within OCI Console 4 - 47 ORACLE CLOUD DATA CENTER REGION (Frankfurt) Medreck8s Compartment AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3 Regional Private SUBNET A,10.0.10.0/24 Regional Public SUBNET A,10.0.20.0/24 Wkr Security List LB Security List OKE-1 OKE-2 OKE-0 10.0.10.4 LB130.61.12.8 10.0.10.2 10.0.10.3 OKE Cluster OKE VCN, 10.0.0.0/16
  • 47. Weblogic running within an OKE Cluster 4 - 48 ORACLE CLOUD DATA CENTER REGION (Frankfurt) Medreck8s Compartment AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3 Regional Private SUBNET A,10.0.10.0/24 Regional Public SUBNET A,10.0.20.0/24 Wkr Security List LB Security List OKE-1 OKE-2 OKE-0 AdmSrv 10.244.2.45 10.0.10.4 LB130.61.12.8 Srv-1 10.244.2.46 10.0.10.2 Srv-2 10.244.0.56 10.0.10.3Srv-3 10.244.1.40 OKE Cluster OKE VCN, 10.0.0.0/16
  • 48. Managed servers within weblogic domain running on a OKE cluster 4 - 49 ORACLE CLOUD DATA CENTER REGION (Frankfurt) Medreck8s Compartment AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3 Regional Private SUBNET A,10.0.10.0/24 Regional Public SUBNET A,10.0.20.0/24 Wkr Security List LB Security List OKE-1 OKE-2 OKE-0 AdmSrv 10.244.2.45 10.0.10.4 LB130.61.12.8 Srv-1 10.244.2.46 10.0.10.2 Srv-2 10.244.0.56 10.0.10.3Srv-3 10.244.1.40 OKE Cluster OKE VCN, 10.0.0.0/16
  • 49. How to access a managed database outside an OKE cluster? 4 - 50 ORACLE CLOUD DATA CENTER REGION (Frankfurt) Medreck8s Compartment AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3 Regional Private SUBNET A,10.0.10.0/24 Regional Public SUBNET A,10.0.20.0/24 Wkr Security List LB Security List OKE-1 OKE-2 OKE-0 DBHost AdmSrv 10.244.2.45 10.0.10.4 10.0.10.6 LB130.61.12.8 Srv-1 10.244.2.46 10.0.10.2 Srv-2 10.244.0.56 10.0.10.3Srv-3 10.244.1.40 OKE Cluster OKE VCN, 10.0.0.0/16 10.96.72.93
  • 50. Running managed database in OCI console within same subnet as OKE cluster 4 - 51 ORACLE CLOUD DATA CENTER REGION (Frankfurt) Medreck8s Compartment AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3 Regional Private SUBNET A,10.0.10.0/24 Regional Public SUBNET A,10.0.20.0/24 Wkr Security List LB Security List OKE-1 OKE-2 OKE-0 DBHost AdmSrv 10.244.2.45 10.0.10.4 10.0.10.6 LB130.61.12.8 Srv-1 10.244.2.46 10.0.10.2 Srv-2 10.244.0.56 10.0.10.3Srv-3 10.244.1.40 OKE Cluster OKE VCN, 10.0.0.0/16 10.96.72.93
  • 51. Runtime access to a managed database via a k8s service 4 - 52 ORACLE CLOUD DATA CENTER REGION (Frankfurt) Medreck8s Compartment AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3 Regional Private SUBNET A,10.0.10.0/24 Regional Public SUBNET A,10.0.20.0/24 Wkr Security List LB Security List OKE-1 OKE-2 OKE-0 DBHost AdmSrv 10.244.2.45 10.0.10.4 10.0.10.6 LB130.61.12.8 Srv-1 10.244.2.46 10.0.10.2 Srv-2 10.244.0.56 10.0.10.3Srv-3 10.244.1.40 OKE Cluster medrecdbhostname sk8s service op 1521 OKE VCN, 10.0.0.0/16 10.96.104.28
  • 52. k8s service medrecdbhostname details with kubectl 4 - 53 ORACLE CLOUD DATA CENTER REGION (Frankfurt) Medreck8s Compartment AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3 Regional Private SUBNET A,10.0.10.0/24 Regional Public SUBNET A,10.0.20.0/24 Wkr Security List LB Security List OKE-1 OKE-2 OKE-0 DBHost AdmSrv 10.244.2.45 10.0.10.4 10.0.10.6 LB130.61.12.8 Srv-1 10.244.2.46 10.0.10.2 Srv-2 10.244.0.56 10.0.10.3Srv-3 10.244.1.40 OKE Cluster medrecdbhostname sk8s service op 1521 OKE VCN, 10.0.0.0/16 10.96.72.93
  • 53. Demo Down and Up Sizing a Weblogic Domain: more/less managed servers 4 - 54 ORACLE CLOUD DATA CENTER REGION (Frankfurt) Medreck8s Compartment AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 AVAILABILITY DOMAIN-3 Regional Private SUBNET A,10.0.10.0/24 Regional Public SUBNET A,10.0.20.0/24 Wkr Security List LB Security List OKE-1 OKE-2 OKE-0 AdmSrv 10.244.2.45 10.0.10.4 LB130.61.12.8 Srv-1 10.244.2.46 10.0.10.2 Srv-2 10.244.0.56 10.0.10.3Srv-3 10.244.1.40 OKE Cluster OKE VCN, 10.0.0.0/16
  • 54. Darwin IT-Professionals WRAPPING UP… copyright ©2019 Darwin IT-Professionals B.V. 61
  • 55. Links • Oracle Weblogic Kubernetes Operator – https://oracle.github.io/weblogic-kubernetes-operator • Oracle Weblogic Kubernetes Operator Samples – https://oracle.github.io/weblogic-kubernetes-operator/samples/ • Oracle Weblogic Slack Inviter – https://weblogic-slack-inviter.herokuapp.com/ • Cloud Customer Connect – Containers and Kubernetes forum – https://cloudcustomerconnect.oracle.com/resources/654ff18469/summary • OPN PaasForum/SummerCamps ’19 Tutorial by Peter Nagy (to be forked) – https://github.com/nagypeter/weblogic-operator-tutorial • End2End example monitoring wl server with Grafana dashboards – https://blogs.oracle.com/weblogicserver/end-to-end-example-of-monitoring-weblogic-server- with-grafana-dashboards-on-the-oci-container-engine-for-kubernetes copyright ©2019 Darwin IT-Professionals B.V. 62
  • 56. Darwin IT-Professionals THANK YOU FOR YOUR ATTENDANCE, PATIENCE AND ATTENTION copyright ©2019 Darwin IT-Professionals B.V. 63
  • 57. Q & A copyright ©2019 Darwin IT-Professionals B.V. 64