Testing inside of Kubernetes and Openshift

Slides:



Advertisements
Similar presentations
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Red Hat on Jenkins: By the numbers Nam Duong Red Hat, Inc.
Advertisements

Hydra Partners Meeting March 2012 Bill Branan DuraCloud Technical Lead.
Azure Services Platform Piotr Zierhoffer. Agenda Cloud? What is Azure? Environment Basic glossary Architecture Element description Deployment.
Google App Engine Google APIs OAuth Facebook Graph API
System Center 2012 Setup The components of system center App Controller Data Protection Manager Operations Manager Orchestrator Service.
BIT:Mobile platform Ссылка на документацию.
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
Why we did it.... Thousands of VMs dedicated to run Jenkins!
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
CernVM WebAPI CernVM Users Workshop 2015 Ioannis Charalampidis, PH/SFT CERN, 5 March 2015.
Java Speaks the Language of the Internet of Things September 2014.
#msitconf. Damien Caro Technical Evangelist Manager, Что будет, если приложение поместить в контейнер? What happens if the application.
Secure, Cloud-Native Networking Simple, scalable, secure networking for Kubernetes Shaun Crampton, Core Developer, Project th March.
Docker for Ops: Operationalize Your Apps in Production Vivek Saraswat Sr. Product Evan Hazlett Sr. Software
Maven & NetBeans Platform. Agenda ● Maven NetBeans Platform Project Types ● Three NetBeans RCP project types ● Differences with Ant project types ● All.
Federated Cluster Selector
PaaS services for Computing and Storage
Connected Infrastructure
What has Docker Done for Us?
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Deployment Architectures For Containers
UKNOF37 Manchester Diego Luis Neto SW NL-ix.
Securing Containerized Applications
Open OnDemand: Open Source General Purpose HPC Portal
ONAP/K8S Deployment OOM Team
Web application hosting with Openshift, and Docker images
ONAP Installation Eric Debeau, Orange
Web application hosting with Openshift, and Docker images
Deploy Containerized OPNFV Cluster Efficiently Using Daisy Installer
Introduction to Distributed Platforms
Getting Started with Alfresco Development
Status and Challenges: January 2017
Docker Birthday #3.
Web Hosting with OpenShift
In-Depth Introduction to Docker
Calix ONOS Contribution
Red Hat OpenShift on Microsoft Azure
Connected Infrastructure
PowerApps and Microsoft Flow for Business Users
Managing container infrastructure
Nulecule Packaging, Distributing & Deploying Container Applications the Cloud Way Ghent, Belgium.
In-Memory Performance
Drupal VM and Docker4Drupal For Drupal Development Platform
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
Event driven Microservices with VERT.X & Kubernetes
Kubernetes Container Orchestration
NSF : CIF21 DIBBs: Middleware and High Performance Analytics Libraries for Scalable Data Science PI: Geoffrey C. Fox Software: MIDAS HPC-ABDS.
OpenStack Octavia, Kubernetes, and Terraform
Introduction to Docker
Isasku, Srini, Alex, Ramki, Seshu, Bin Hu, Munish, Gil, Victor
High Performance Data Scientist
Xiaokai He Junyi Yi Rapid, Iterative Kubernetes Development with Java Using Visual Studio Code.
HDFS on Kubernetes -- Lessons Learned
Kubernetes: the Future of Applications
Getting Started with Kubernetes and Rancher 2.0
HDFS on Kubernetes -- Lessons Learned
From Source to Production: The Latest in Container Dev
Container cluster management solutions
OpenShift vs. Vanilla k8s on OpenStack IaaS
Agile testing for web API with Postman
Configuration management suite
Stretching your application from OpenStack into Public Cloud
OpenShift as a cloud for Data Science
Containerized Spark at RBC
OpenStack Summit Berlin – November 14, 2018
Kubernetes.
Enol Fernandez & Giuseppe La Rocca EGI Foundation
Download the PPT and code from github as below
Data Science Infrastructure as Code
Presentation transcript:

Testing inside of Kubernetes and Openshift Yegor Maksymchuk, Soft Serve, Ukraine Testing inside of Kubernetes and Openshift

Agenda Radanalytics.io Benefits of Openshift Automation of deployment in Openshift Fabric8-kubernetes-client, XTF, radanalytics-utils as libraries for Java

whoami Yegor Maksymchuk Senior AQC engineer, Soft Serve Ukraine Telegram: @QAStudy.online GitHub: YegorMaksymchuk LinkedIn: ymaksymchuk

Data Science in the Cloud

OSHINKO Why ? Integration with Apache Spark in the Openshift. Usability on UI and API level, it should be easy to use. OSHINKO

Example oc cluster up oc new-project xpdays-demo oc create -f https://radanalytics.io/resources.yaml oc create -f https://radanalytics.io/assets/zeppelin-example/zeppelin-openshift.yaml oc new-app oshinko-webui oshinko create xpdays-spark-cluster oshinko get xpdays-spark-cluster oc new-app --template=$namespace/apache-zeppelin-openshift \ --param=APPLICATION_NAME=apache-zeppelin \ --param=GIT_URI=https://github.com/rimolive/zeppelin-notebooks.git \ --param=ZEPPELIN_INTERPRETERS=md

Problems More than 10 application under test. Tests should not be run, in case bad deployment. All application works in Openshift.

Solutions Possible solutions: Our choice: Bash scripts Java Ansible scripts Jenkins Openshift plugin Java or Python for tests Our choice: Java Fabric8-k8s-client Kubernetes and Openshift Rest API

Kubernetes: Architecture

Kubernetes:POD apiVersion: v1 kind: Pod metadata: name: pod-demo labels: spec: containers: - name: pod-demo image: yemax/pod-demo:1 ports: - containerPort: 8081 Base entity inK8s. It is group of one or more containers with shared storage/network, and a specification for how to run the containers. Containers within a pod share an IP address and port space, and can find each other via localhost.

Kubernetes:Namespace { "kind": "Namespace", "apiVersion": "v1", "metadata": { "name": "development", "labels": { "name": "development" } Namespace - grouping entities, provide shared resources. Not security K8s user see all nemaspace. Node same as workers same as Minions - it vm or physical servers, what managed be k8s master.

Kubernetes: Replica Sets ReplicaSet is the next-generation Replication Controller. The only difference between a ReplicaSet and a Replication Controller right now is the selector support. ReplicaSet supports the new set-based selector requirements as described in the labels user guide whereas a Replication Controller only supports equality-based selector requirements. About labels and selectors, we will talk later when starting with deployment from java code demo.

K8s: Deployment DC - it is main entity what responsible for creation a Replica Set, and include information about what POD should be created by RS.

Kubernetes: Ingress This entity responsible for a connect external traffic to service. It is a Ngenix WebServer with special rule suite. Or An Ingress is a collection of rules that allow inbound connections to reach the cluster services.

Openshift

Openshift

Openshift

s2i-lighttpd/ Dockerfile – This is a standard Dockerfile where we’ll define the builder image Makefile – a helper script for building and testing the builder image test/ run – test script, testing if the builder image works correctly test-app/ – directory for your test application .s2i/bin/ assemble – script responsible for building the application run – script responsible for running the application save-artifacts – script responsible for incremental builds, covered in a future article usage – script responsible for printing the usage of the builder image

Fabric8

Fabric8 Fabric8 maven plugin Fabric8 Platform for Dev\Testing and CI

Fabric8

Fabric8

Useful materials: