SlideShare a Scribd company logo
1 of 38
Download to read offline
DEPLOY LIKE A BOSS: USING
APACHE® IGNITETM AND KUBERNETES®

DANI TRAPHAGEN
AGENDA
• Setting up a Apache Ignite cluster
• Using the Kubernetes IP Finder and the Kubernetes Ignite Lookup
Service
• Sharing the Ignite Cluster Configuration
• Deploying your Ignite Pods
• Adjusting the Ignite Cluster Size when you need to Scale
• How to try it out with Azure!
BYTHE END –THIS WILL BEYOU..

FIRST - APACHE IGNITE’S PLATFORM
APACHE	IGNITE	PLATFORM	(VERSION	2.1+	DEPICTED)

KUBERNETES	WORKS	WITH	VERSIONS	1.9	AND	ABOVE	

Apache Ignite
Cluster
APIs to interact
with your data
Deployment
options
What it is:
APACHE IGNITE FEATURES
Ignite Persistence
ACID Compliance
Complete SQL Support
Key-Value Store/APIs
Collocated Processing
Scalability and Durability
SECOND – DEPLOYMENT WITH KUBERNETES (K8)
What it isn’t:
KUBERNETES IN A SIMPLE DEFINITION
“Kubernetes intends to radically
simplify the task of building,
deploying and maintaining
distributed systems.”
Kubernetes: Up and Running: Dive
into the Future of Infrastructure
By: Kelsey Hightower 
What it is:
K8 FEATURES
Automatic Binpacking
Horizontal Scaling
Automated Rollouts and Rollbacks
Storage Orchestration
Self-Healing
Service Discovery and Load Balancing
Secret and Configuration Management
Batch Execution
APACHE IGNITE + K8 CLUSTER ARCHITECTURE
Master…n
https://kubernetes.io/docs/admin/high-availability/
BENEFITS OF K8 (VERSION 1.7) 
Cost Efficiency
Use of containers by multiple developers ensures shared
resourcing rather than redundancy
High Availability and Performance
Self-healing: Deploying with K8 and setting rules for a set
number of nodes, will ensure your cluster can always handle the
transactions hitting it
No more pager duty
Get home to your pet chinchilla sooner 
SETTING UP AN APACHE IGNITE CLUSTER

Step 1:
What is your use case?
Seriously, what is your use case?
I’m not kidding. Use case, then set
up…
Cart before horse please.
SETTING UP AN APACHE IGNITE CLUSTER

1. Download Apache Ignite
2. Make sure to add the ignite-
kubernetes Maven Dependency to your
pom.xml
3.Try using examples from our docs.
SETTING UP K8 ON A LOCAL MACHINE
Install K8 where you intend
AWS
Google Cloud
Dev Machine
Set your $PATH w/K8
Install Kubectl
Follow K8 Docs
KUBERNETES DISCOVERY
Multicast = ☹
Use Static IP Finder & list Ignite IPs, K8 will
dynamically assign them
You can use other cloud Ignite IP finders
but you need K8 to running in the cloud
env.
What’s the point of the
TcpDiscoveryKubernetesIpFinder?
USINGTHE KUBERNETES IP FINDER ANDTHE KUBERNETES IGNITE LOOKUP
SERVICE

Apps & nodes running outside of K8 & Ignite will not be able to reach the cluster 
K8 service should be deployed before Ignite cluster boot
The Ignite Pods internal IPs will be maintained by the K8 service.
Service name must be equal to setServiceName(String)
This will be `ignite` as a default
https://ignite.apache.org/releases/latest/javadoc/org/
apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/
TcpDiscoveryKubernetesIpFinder.html
USING DOCKER ON LOCAL MACHINE WITH MINIKUBE
SHARINGTHE IGNITE CLUSTER CONFIGURATION

SERVICE STARTUP & SHARING CONFIGS
Minikube - Two basic commands
minikube start
minikube dashboard
Kubectl
kubectl create -f ~/<path-to-project>/<project-name>/
config/ignite-service.yaml
NOW KUBERNETES IS RUNNING!
CONFIGURINGYOUR IGNITE PODS

2Things Needed!
1.Apache Ignite Configuration File with the Kubernetes
IP Finder
2.YAML Configurations for the Apache Ignite pods/nodes
Steps:
Create your ignite-service.yaml
kubectl create -f ignite-service.yaml
kubectl get svc ignite



SHARING IGNITE CLUSTER CONFIGS
Confirm the ignite service
was created
Make a path to the
persistence volume docker
will use to pass the
kubernetes config
‘example-kube.xml’
SUCCESS
Now, do this for the 
ignite-volume-claim.yaml
PERSISTENTVOLUME BOUND?
Make sure your
persistent volume is
bound to the claim
kubectl get pvc ignite-
volume-claim
kubectl get pv ignite
volume
use xhyve driver so you can access persistent volumes
minikube start --vm-driver=xhyve
& modify the directory path "/data/ignite" that is used in
the examples to "/Users/<username>/data/ignite"
DEPLOYINGYOUR IGNITE PODS

Now it’s time to launch
kubectl create -f ignite-deployment.yaml
kubectl get pods
Get the logs and examine for each cluster…
ex)
kubectl logs ignite-cluster-3454482164-d4m6g
Scale out:
kubectl scale --replicas=5 -f ignite-deployment.yaml

MANY DEPLOYMENT OPTIONS
On Premise
Cloud
Azure
EC2
Google Cloud
USING MINIKUBE FOR LOCAL DEV

A good place to start for exploration
When you want to get in the cloud - pick your poison
Post on setup w/Azure by Ignite PMC Denis Magda:
https://dzone.com/articles/deploying-apache-ignite-in-
kubernetes-on-microsoft
https://kubernetes.io/docs/setup/pick-right-solution/
#turnkey-cloud-solutions
DARE TO TRY?
1. DEPLOY CLOUD ENVIRONMENT
2. CONNECTTOYOUR CLOUD ENVIRONMENT FROMYOUR
LOCAL MACHINE, EX) AZURE
#connect to cluster, make sure your sshkeys are
setup

az acs kubernetes get-credentials --resource-
group=myResourceGroup --name=myK8sCluster 

#make sure you see the k8s-agents & master

kubectl get nodes

USING THE DASHBOARD
1.kubectl proxy
2.http://localhost:8001/ui
4. CREATETHE K8 LOOKUP SERVICE

#using above link, next to the number 4, create the file then
initiate the service

kubectl create -f ignite-service.yaml

#you will see that the ignite service is under the services
tab 
5. DEPLOYYOUR APACHE IGNITE CLUSTER

#create the ignite-deployment.yaml file following
instructions here

kubectl create -f ignite-deployment.yaml
#you will see that the ignite cluster is running in
kubernetes
ADJUSTINGTHE IGNITE CLUSTER SIZE WHENYOU NEEDTO SCALE



•When you want to elasticly scale out your cluster with K8:
• kubectl scale –replicas=<n> -f ignite-
deployment.yaml
• Run:	
• kubectl get pods
•Let’s say you want 5 nodes?
• kubectl scale --replicas=5 -f ~/
kubernetes_dev/azure/ignite-
deployment.yaml
•You will see your cluster scale out – in this case from 2 to 5
nodes!



OVERALL STEPS
Ignite Download:
https://ignite.apache.org/download.cgi
Run Kubernetes Locally:
https://kubernetes.io/docs/getting-started-guides/minikube/
Deploy Kubernetes & Ignite
https://apacheignite.readme.io/docs/kubernetes-deployment
RESOURCES
Denis Magda’s & Akmal Chaudhri’s blog’s on deploying Ignite
w/K8 and Azure or AWS:
https://dzone.com/articles/deploying-apache-ignite-in-kubernetes-on-
microsoft
https://www.gridgain.com/resources/blog/kubernetes-and-apacher-
ignitetm-deployment-aws
Tutorials
https://kubernetes.io/docs/tutorials/
K8 Book by Kelsey Hightower:
http://shop.oreilly.com/product/0636920043874.do
Ignite Book by Shahim & others:
https://leanpub.com/ignite
ANY QUESTIONS?

Reach me on Twitter @dtrapezoid
Use #apacheignite
Checkout http://ignite.apache.org
THANKS @DTRAPEZOID

More Related Content

What's hot

Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deploymentwlscaudill
 
Kubernetes Kops - Automation Night
Kubernetes Kops - Automation NightKubernetes Kops - Automation Night
Kubernetes Kops - Automation NightKasper Nissen
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSShixiong Shang
 
Deploying OpenStack with Chef
Deploying OpenStack with ChefDeploying OpenStack with Chef
Deploying OpenStack with ChefMatt Ray
 
Self Heal Your OpenStack Control Plane!
Self Heal Your OpenStack Control Plane!Self Heal Your OpenStack Control Plane!
Self Heal Your OpenStack Control Plane!Shixiong Shang
 
Kubernetes HA @ AppDirect - Montreal Kubernetes Meetup
Kubernetes HA @ AppDirect - Montreal Kubernetes MeetupKubernetes HA @ AppDirect - Montreal Kubernetes Meetup
Kubernetes HA @ AppDirect - Montreal Kubernetes Meetupalexgervais
 
JupyterHub + kubernetes
JupyterHub + kubernetesJupyterHub + kubernetes
JupyterHub + kubernetesCarol Willing
 
Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Matt Ray
 
My early experience with Mirantis OpenStack 6.0
My early experience with Mirantis OpenStack 6.0My early experience with Mirantis OpenStack 6.0
My early experience with Mirantis OpenStack 6.0Guy Tel-Zur
 
OpenStack & Ubuntu (india openstack day)
OpenStack & Ubuntu (india openstack day)OpenStack & Ubuntu (india openstack day)
OpenStack & Ubuntu (india openstack day)openstackindia
 
Tectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of KubernetesTectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of KubernetesCoreOS
 
Spinnaker VLDB 2011
Spinnaker VLDB 2011Spinnaker VLDB 2011
Spinnaker VLDB 2011sandeep_tata
 
[Red Hat] OpenStack Automation with Ansible
[Red Hat] OpenStack Automation with Ansible[Red Hat] OpenStack Automation with Ansible
[Red Hat] OpenStack Automation with AnsibleNalee Jang
 
OpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef WorkshopOpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef WorkshopMatt Ray
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleJirayut Nimsaeng
 
DevStack: Learn OpenStack by Running OpenStack
DevStack: Learn OpenStack by Running OpenStackDevStack: Learn OpenStack by Running OpenStack
DevStack: Learn OpenStack by Running OpenStackEverett Toews
 
Kolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in SydneyKolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in SydneyVikram G Hosakote
 

What's hot (20)

Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Kubernetes Kops - Automation Night
Kubernetes Kops - Automation NightKubernetes Kops - Automation Night
Kubernetes Kops - Automation Night
 
OpenStack Heat
OpenStack HeatOpenStack Heat
OpenStack Heat
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
 
Deploying OpenStack with Chef
Deploying OpenStack with ChefDeploying OpenStack with Chef
Deploying OpenStack with Chef
 
Self Heal Your OpenStack Control Plane!
Self Heal Your OpenStack Control Plane!Self Heal Your OpenStack Control Plane!
Self Heal Your OpenStack Control Plane!
 
Kubernetes HA @ AppDirect - Montreal Kubernetes Meetup
Kubernetes HA @ AppDirect - Montreal Kubernetes MeetupKubernetes HA @ AppDirect - Montreal Kubernetes Meetup
Kubernetes HA @ AppDirect - Montreal Kubernetes Meetup
 
JupyterHub + kubernetes
JupyterHub + kubernetesJupyterHub + kubernetes
JupyterHub + kubernetes
 
Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013
 
My early experience with Mirantis OpenStack 6.0
My early experience with Mirantis OpenStack 6.0My early experience with Mirantis OpenStack 6.0
My early experience with Mirantis OpenStack 6.0
 
OpenStack & Ubuntu (india openstack day)
OpenStack & Ubuntu (india openstack day)OpenStack & Ubuntu (india openstack day)
OpenStack & Ubuntu (india openstack day)
 
Tectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of KubernetesTectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of Kubernetes
 
Spinnaker VLDB 2011
Spinnaker VLDB 2011Spinnaker VLDB 2011
Spinnaker VLDB 2011
 
Devstack On Demand
Devstack On DemandDevstack On Demand
Devstack On Demand
 
[Red Hat] OpenStack Automation with Ansible
[Red Hat] OpenStack Automation with Ansible[Red Hat] OpenStack Automation with Ansible
[Red Hat] OpenStack Automation with Ansible
 
OpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef WorkshopOpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef Workshop
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack Ansible
 
Openstack ansible
Openstack ansibleOpenstack ansible
Openstack ansible
 
DevStack: Learn OpenStack by Running OpenStack
DevStack: Learn OpenStack by Running OpenStackDevStack: Learn OpenStack by Running OpenStack
DevStack: Learn OpenStack by Running OpenStack
 
Kolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in SydneyKolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in Sydney
 

Similar to Verizon k8-ignite-meetup

Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsSandeep Parikh
 
Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple Wojciech Barczyński
 
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesScaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesDatabricks
 
Containerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with KubernetesContainerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with KubernetesCodemotion Tel Aviv
 
Run K8s on Local Environment
Run K8s on Local EnvironmentRun K8s on Local Environment
Run K8s on Local EnvironmentGanesh Pol
 
Cluster Lifecycle Landscape
Cluster Lifecycle LandscapeCluster Lifecycle Landscape
Cluster Lifecycle LandscapeMike Danese
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionEric Gustafson
 
Spark with kubernates
Spark with kubernatesSpark with kubernates
Spark with kubernatesDavid Tung
 
Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !Anthony Dahanne
 
Spark on Kubernetes
Spark on KubernetesSpark on Kubernetes
Spark on Kubernetesdatamantra
 
1. CNCF kubernetes meetup - Ondrej Sika
1. CNCF kubernetes meetup - Ondrej Sika1. CNCF kubernetes meetup - Ondrej Sika
1. CNCF kubernetes meetup - Ondrej SikaJuraj Hantak
 
CI/CD with Kubernetes, Helm & Wercker (#madScalability)
CI/CD with Kubernetes, Helm & Wercker (#madScalability)CI/CD with Kubernetes, Helm & Wercker (#madScalability)
CI/CD with Kubernetes, Helm & Wercker (#madScalability)Diacode
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 
5 Painless Demos to Get You Started with Kubernetes
5 Painless Demos to Get You Started with Kubernetes5 Painless Demos to Get You Started with Kubernetes
5 Painless Demos to Get You Started with KubernetesAmartus
 
From 0 to 60 with kubernetes and istio
From 0 to 60 with kubernetes and istioFrom 0 to 60 with kubernetes and istio
From 0 to 60 with kubernetes and istioJoonathan Mägi
 
Aws container webinar day 1
Aws container webinar day 1Aws container webinar day 1
Aws container webinar day 1HoseokSeo7
 
Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Avanti Patil
 

Similar to Verizon k8-ignite-meetup (20)

Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid Deployments
 
Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple
 
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesScaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on Kubernetes
 
An Overview of Spinnaker
An Overview of SpinnakerAn Overview of Spinnaker
An Overview of Spinnaker
 
Containerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with KubernetesContainerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with Kubernetes
 
Run K8s on Local Environment
Run K8s on Local EnvironmentRun K8s on Local Environment
Run K8s on Local Environment
 
Cluster Lifecycle Landscape
Cluster Lifecycle LandscapeCluster Lifecycle Landscape
Cluster Lifecycle Landscape
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Spark with kubernates
Spark with kubernatesSpark with kubernates
Spark with kubernates
 
Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !
 
Running kubernetes
Running kubernetesRunning kubernetes
Running kubernetes
 
Spark on Kubernetes
Spark on KubernetesSpark on Kubernetes
Spark on Kubernetes
 
1. CNCF kubernetes meetup - Ondrej Sika
1. CNCF kubernetes meetup - Ondrej Sika1. CNCF kubernetes meetup - Ondrej Sika
1. CNCF kubernetes meetup - Ondrej Sika
 
CI/CD with Kubernetes, Helm & Wercker (#madScalability)
CI/CD with Kubernetes, Helm & Wercker (#madScalability)CI/CD with Kubernetes, Helm & Wercker (#madScalability)
CI/CD with Kubernetes, Helm & Wercker (#madScalability)
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 
5 Painless Demos to Get You Started with Kubernetes
5 Painless Demos to Get You Started with Kubernetes5 Painless Demos to Get You Started with Kubernetes
5 Painless Demos to Get You Started with Kubernetes
 
From 0 to 60 with kubernetes and istio
From 0 to 60 with kubernetes and istioFrom 0 to 60 with kubernetes and istio
From 0 to 60 with kubernetes and istio
 
Aws container webinar day 1
Aws container webinar day 1Aws container webinar day 1
Aws container webinar day 1
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021
 

More from Dani Traphagen

Kafka + Kubernetes + why you maybe should
Kafka + Kubernetes + why you maybe shouldKafka + Kubernetes + why you maybe should
Kafka + Kubernetes + why you maybe shouldDani Traphagen
 
To Ksql Or Live the KStream
To Ksql Or Live the KStreamTo Ksql Or Live the KStream
To Ksql Or Live the KStreamDani Traphagen
 
Nike tech-talk-intro-to-apache-ignite
Nike tech-talk-intro-to-apache-igniteNike tech-talk-intro-to-apache-ignite
Nike tech-talk-intro-to-apache-igniteDani Traphagen
 
The next-phase-of-distributed-systems-with-apache-ignite
The next-phase-of-distributed-systems-with-apache-igniteThe next-phase-of-distributed-systems-with-apache-ignite
The next-phase-of-distributed-systems-with-apache-igniteDani Traphagen
 
Data Modeling with Cassandra and Time Series Data
Data Modeling with Cassandra and Time Series DataData Modeling with Cassandra and Time Series Data
Data Modeling with Cassandra and Time Series DataDani Traphagen
 
Diving into DSE Graph
Diving into DSE Graph Diving into DSE Graph
Diving into DSE Graph Dani Traphagen
 
OSCON TALK: Becoming Friends with Cassandra and Spark
OSCON TALK: Becoming Friends with Cassandra and SparkOSCON TALK: Becoming Friends with Cassandra and Spark
OSCON TALK: Becoming Friends with Cassandra and SparkDani Traphagen
 

More from Dani Traphagen (7)

Kafka + Kubernetes + why you maybe should
Kafka + Kubernetes + why you maybe shouldKafka + Kubernetes + why you maybe should
Kafka + Kubernetes + why you maybe should
 
To Ksql Or Live the KStream
To Ksql Or Live the KStreamTo Ksql Or Live the KStream
To Ksql Or Live the KStream
 
Nike tech-talk-intro-to-apache-ignite
Nike tech-talk-intro-to-apache-igniteNike tech-talk-intro-to-apache-ignite
Nike tech-talk-intro-to-apache-ignite
 
The next-phase-of-distributed-systems-with-apache-ignite
The next-phase-of-distributed-systems-with-apache-igniteThe next-phase-of-distributed-systems-with-apache-ignite
The next-phase-of-distributed-systems-with-apache-ignite
 
Data Modeling with Cassandra and Time Series Data
Data Modeling with Cassandra and Time Series DataData Modeling with Cassandra and Time Series Data
Data Modeling with Cassandra and Time Series Data
 
Diving into DSE Graph
Diving into DSE Graph Diving into DSE Graph
Diving into DSE Graph
 
OSCON TALK: Becoming Friends with Cassandra and Spark
OSCON TALK: Becoming Friends with Cassandra and SparkOSCON TALK: Becoming Friends with Cassandra and Spark
OSCON TALK: Becoming Friends with Cassandra and Spark
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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 textsMaria Levchenko
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Verizon k8-ignite-meetup

  • 1. DEPLOY LIKE A BOSS: USING APACHE® IGNITETM AND KUBERNETES®
 DANI TRAPHAGEN
  • 2. AGENDA • Setting up a Apache Ignite cluster • Using the Kubernetes IP Finder and the Kubernetes Ignite Lookup Service • Sharing the Ignite Cluster Configuration • Deploying your Ignite Pods • Adjusting the Ignite Cluster Size when you need to Scale • How to try it out with Azure!
  • 3. BYTHE END –THIS WILL BEYOU..

  • 4. FIRST - APACHE IGNITE’S PLATFORM
  • 6. APACHE IGNITE FEATURES Ignite Persistence ACID Compliance Complete SQL Support Key-Value Store/APIs Collocated Processing Scalability and Durability
  • 7. SECOND – DEPLOYMENT WITH KUBERNETES (K8) What it isn’t:
  • 8. KUBERNETES IN A SIMPLE DEFINITION “Kubernetes intends to radically simplify the task of building, deploying and maintaining distributed systems.” Kubernetes: Up and Running: Dive into the Future of Infrastructure By: Kelsey Hightower  What it is:
  • 9. K8 FEATURES Automatic Binpacking Horizontal Scaling Automated Rollouts and Rollbacks Storage Orchestration Self-Healing Service Discovery and Load Balancing Secret and Configuration Management Batch Execution
  • 10. APACHE IGNITE + K8 CLUSTER ARCHITECTURE Master…n https://kubernetes.io/docs/admin/high-availability/
  • 11. BENEFITS OF K8 (VERSION 1.7)  Cost Efficiency Use of containers by multiple developers ensures shared resourcing rather than redundancy High Availability and Performance Self-healing: Deploying with K8 and setting rules for a set number of nodes, will ensure your cluster can always handle the transactions hitting it No more pager duty Get home to your pet chinchilla sooner 
  • 12. SETTING UP AN APACHE IGNITE CLUSTER
 Step 1: What is your use case? Seriously, what is your use case? I’m not kidding. Use case, then set up… Cart before horse please.
  • 13. SETTING UP AN APACHE IGNITE CLUSTER
 1. Download Apache Ignite 2. Make sure to add the ignite- kubernetes Maven Dependency to your pom.xml 3.Try using examples from our docs.
  • 14. SETTING UP K8 ON A LOCAL MACHINE Install K8 where you intend AWS Google Cloud Dev Machine Set your $PATH w/K8 Install Kubectl Follow K8 Docs
  • 15. KUBERNETES DISCOVERY Multicast = ☹ Use Static IP Finder & list Ignite IPs, K8 will dynamically assign them You can use other cloud Ignite IP finders but you need K8 to running in the cloud env. What’s the point of the TcpDiscoveryKubernetesIpFinder?
  • 16. USINGTHE KUBERNETES IP FINDER ANDTHE KUBERNETES IGNITE LOOKUP SERVICE
 Apps & nodes running outside of K8 & Ignite will not be able to reach the cluster  K8 service should be deployed before Ignite cluster boot The Ignite Pods internal IPs will be maintained by the K8 service. Service name must be equal to setServiceName(String) This will be `ignite` as a default https://ignite.apache.org/releases/latest/javadoc/org/ apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/ TcpDiscoveryKubernetesIpFinder.html
  • 17. USING DOCKER ON LOCAL MACHINE WITH MINIKUBE
  • 18. SHARINGTHE IGNITE CLUSTER CONFIGURATION

  • 19. SERVICE STARTUP & SHARING CONFIGS Minikube - Two basic commands minikube start minikube dashboard Kubectl kubectl create -f ~/<path-to-project>/<project-name>/ config/ignite-service.yaml
  • 20. NOW KUBERNETES IS RUNNING!
  • 21. CONFIGURINGYOUR IGNITE PODS
 2Things Needed! 1.Apache Ignite Configuration File with the Kubernetes IP Finder 2.YAML Configurations for the Apache Ignite pods/nodes Steps: Create your ignite-service.yaml kubectl create -f ignite-service.yaml kubectl get svc ignite
 

  • 22. SHARING IGNITE CLUSTER CONFIGS Confirm the ignite service was created Make a path to the persistence volume docker will use to pass the kubernetes config ‘example-kube.xml’
  • 23. SUCCESS Now, do this for the  ignite-volume-claim.yaml
  • 24. PERSISTENTVOLUME BOUND? Make sure your persistent volume is bound to the claim kubectl get pvc ignite- volume-claim kubectl get pv ignite volume use xhyve driver so you can access persistent volumes minikube start --vm-driver=xhyve & modify the directory path "/data/ignite" that is used in the examples to "/Users/<username>/data/ignite"
  • 25. DEPLOYINGYOUR IGNITE PODS
 Now it’s time to launch kubectl create -f ignite-deployment.yaml kubectl get pods Get the logs and examine for each cluster… ex) kubectl logs ignite-cluster-3454482164-d4m6g Scale out: kubectl scale --replicas=5 -f ignite-deployment.yaml

  • 26. MANY DEPLOYMENT OPTIONS On Premise Cloud Azure EC2 Google Cloud
  • 27. USING MINIKUBE FOR LOCAL DEV
 A good place to start for exploration When you want to get in the cloud - pick your poison Post on setup w/Azure by Ignite PMC Denis Magda: https://dzone.com/articles/deploying-apache-ignite-in- kubernetes-on-microsoft https://kubernetes.io/docs/setup/pick-right-solution/ #turnkey-cloud-solutions
  • 29. 1. DEPLOY CLOUD ENVIRONMENT
  • 30. 2. CONNECTTOYOUR CLOUD ENVIRONMENT FROMYOUR LOCAL MACHINE, EX) AZURE #connect to cluster, make sure your sshkeys are setup
 az acs kubernetes get-credentials --resource- group=myResourceGroup --name=myK8sCluster 
 #make sure you see the k8s-agents & master
 kubectl get nodes

  • 31. USING THE DASHBOARD 1.kubectl proxy 2.http://localhost:8001/ui
  • 32. 4. CREATETHE K8 LOOKUP SERVICE
 #using above link, next to the number 4, create the file then initiate the service
 kubectl create -f ignite-service.yaml
 #you will see that the ignite service is under the services tab 
  • 33. 5. DEPLOYYOUR APACHE IGNITE CLUSTER
 #create the ignite-deployment.yaml file following instructions here
 kubectl create -f ignite-deployment.yaml #you will see that the ignite cluster is running in kubernetes
  • 34. ADJUSTINGTHE IGNITE CLUSTER SIZE WHENYOU NEEDTO SCALE
 
 •When you want to elasticly scale out your cluster with K8: • kubectl scale –replicas=<n> -f ignite- deployment.yaml • Run: • kubectl get pods •Let’s say you want 5 nodes? • kubectl scale --replicas=5 -f ~/ kubernetes_dev/azure/ignite- deployment.yaml •You will see your cluster scale out – in this case from 2 to 5 nodes!
 

  • 35. OVERALL STEPS Ignite Download: https://ignite.apache.org/download.cgi Run Kubernetes Locally: https://kubernetes.io/docs/getting-started-guides/minikube/ Deploy Kubernetes & Ignite https://apacheignite.readme.io/docs/kubernetes-deployment
  • 36. RESOURCES Denis Magda’s & Akmal Chaudhri’s blog’s on deploying Ignite w/K8 and Azure or AWS: https://dzone.com/articles/deploying-apache-ignite-in-kubernetes-on- microsoft https://www.gridgain.com/resources/blog/kubernetes-and-apacher- ignitetm-deployment-aws Tutorials https://kubernetes.io/docs/tutorials/ K8 Book by Kelsey Hightower: http://shop.oreilly.com/product/0636920043874.do Ignite Book by Shahim & others: https://leanpub.com/ignite
  • 37. ANY QUESTIONS?
 Reach me on Twitter @dtrapezoid Use #apacheignite Checkout http://ignite.apache.org