SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Presentation By:
Behnam Loghmani
Summer 2016
IRAN OpenStack Users Group
OPENSHIFT
IN A NUTSHELL
(Episode 04)
Infrastructure (Cont.)
IRAN Community| OpenStack.ir
Agenda:
●
Nodes
●
Image Registry
●
Web Console
●
Iran OpenStack Community
OpenShift Infrastructure
IRAN Community| OpenStack.ir
OpenShift Infrastructure
Nodes
IRAN Community| OpenStack.ir
OpenShift Infrastructure
A node provides the runtime environments for containers. Each node in a Kubernetes
cluster has the required services to be managed by the master. Nodes also have the
required services to run pods, including Docker, a kubelet, and a service proxy.
IRAN Community| OpenStack.ir
OpenShift Infrastructure
OpenShift Origin creates nodes from a cloud provider, physical systems, or virtual
systems. Kubernetes interacts with node objects that are a representation of those
nodes. What this means is that when Kubernetes creates a node, it is really just creating
an object that represents the node in its internal state The master uses the
information from node objects to validate nodes with health checks. A node is ignored
until it passes the health checks, and the master continues checking nodes until they
are valid.
IRAN Community| OpenStack.ir
OpenShift Infrastructure
After creation, Kubernetes will check whether the node is valid or not. For example,
if you try to create a node from the following content:
{
  "kind": "Node",
  "apiVersion": "v1",
  "metadata": {
    "name": "10.240.79.157",
    "labels": {
      "name": "my­first­k8s­node"
    }
  }
}
IRAN Community| OpenStack.ir
OpenShift Infrastructure
Kubernetes will create a Node object internally (the representation), and validate the
node by health checking based on the metadata.name field: we assume metadata.
name can be resolved. If the node is valid, i.e. all necessary services are running, it is
eligible to run a Pod; otherwise, it will be ignored for any cluster activity, until it
becomes valid. Note that Kubernetes will keep the object for the invalid node unless
it is explicitly deleted by the client, and it will keep checking to see if it becomes valid.
IRAN Community| OpenStack.ir
OpenShift Infrastructure
Administrators can manage nodes in an OpenShift Origin instance using the CLI. To
define full configuration and security options when launching node servers, use
dedicated node configuration files.
IRAN Community| OpenStack.ir
OpenShift Infrastructure
The recommended maximum number of nodes is 300.
IRAN Community| OpenStack.ir
OpenShift Infrastructure
apiVersion: v1 
kind: Node 
metadata:
  creationTimestamp: null
  labels: 
    kubernetes.io/hostname: node1.example.com
  name: node1.example.com 
spec:
  externalID: node1.example.com 
Node Object Definition Example
1
2
3
4
5
IRAN Community| OpenStack.ir
OpenShift Infrastructure
apiVersion defines the API version to use.
kind set to Node identifies this as a definition for a node object.
metadata.labels lists any labels that have been added to the node.
metadata.name is a required value that defines the name of the node object. This
value is shown in the NAME column when running the oc get nodes command.
spec.externalID defines the fully-qualified domain name where the node can be
reached. Defaults to the metadata.name value when empty.
1
2
3
4
5
Node Object Definition Example (Cont.)
IRAN Community| OpenStack.ir
OpenShift Infrastructure
Each node has a kubelet that updates the node as specified by a container manifest,
which is a YAML file that describes a pod. The kubelet uses a set of manifests to ensure
that its containers are started and that they continue to run.
Kubelet
IRAN Community| OpenStack.ir
OpenShift Infrastructure
A container manifest can be provided to a kubelet by:
●
A file path on the command line that is checked every 20 seconds.
●
An HTTP endpoint passed on the command line that is checked every 20 seconds.
●
The kubelet watching an etcd server, such as /registry/hosts/$(hostname -f),
and acting on any changes.
●
The kubelet listening for HTTP and responding to a simple API to submit a new
manifest.
Kubelet (Cont.)
IRAN Community| OpenStack.ir
OpenShift Infrastructure
Each node also runs a simple network proxy that reflects the services defined in
the API on that node. This allows the node to do simple TCP and UDP stream
forwarding across a set of back ends.
Service Proxy
IRAN Community| OpenStack.ir
OpenShift Infrastructure
Image Registry
IRAN Community| OpenStack.ir
OpenShift Infrastructure
OpenShift Origin can utilize any server implementing the Docker registry API as a
source of images, including the canonical Docker Hub, private registries run by third
parties, and the integrated OpenShift Origin registry.
IRAN Community| OpenStack.ir
OpenShift Infrastructure
OpenShift Origin provides an integrated Docker registry that adds the ability to
provision new image repositories on the fly. This allows users to automatically have
a place for their builds to push the resulting images.
Whenever a new image is pushed to the integrated registry, the registry notifies
OpenShift Origin about the new image, passing along all the information about it,
such as the namespace, name, and image metadata. Different pieces of OpenShift
Origin react to new images, creating new builds and deployments.
Integrated OpenShift Origin Registry
IRAN Community| OpenStack.ir
OpenShift Infrastructure
OpenShift Origin can create containers using images from third party registries, but
it is unlikely that these registries offer the same image notification support as the
integrated OpenShift Origin registry. In this situation OpenShift Origin will fetch
tags from the remote registry upon imagestream creation. Refreshing the fetched
tags is as simple as running oc import-image <stream>. When new images are
detected, the previously-described build and deployment reactions occur
Third Party Registries
IRAN Community| OpenStack.ir
OpenShift Infrastructure
OpenShift Origin can communicate with registries to access private image repositories
using credentials supplied by the user. This allows OpenShift Origin to push and pull
images to and from private repositories.
Authentication
IRAN Community| OpenStack.ir
OpenShift Infrastructure
Web Console
IRAN Community| OpenStack.ir
OpenShift Infrastructure
The OpenShift Origin web console is a user interface accessible from a web browser.
Developers can use the web console to visualize, browse, and manage the contents of
projects.
The web console is started as part of the master. All static assets required to run the
web console are served from the openshift binary. Administrators can also customize
the web console using extensions, which let you run scripts and load custom
style sheets when the web console loads. You can change the look and feel of nearly
any aspect of the user interface in this way.
IRAN Community| OpenStack.ir
OpenShift Infrastructure
When you access the web console from a browser, it first loads all required static assets.
It then makes requests to the OpenShift Origin APIs using the values defined from the
openshift start option --public-master, or from the related master configuration file
parameter masterPublicURL. The web console uses WebSockets to maintain a persistent
connection with the API server and receive updated information as soon as it is available.
IRAN Community| OpenStack.ir
OpenShift Infrastructure
IRAN Community| OpenStack.ir
OpenShift Infrastructure
The configured host names and IP addresses for the web console are whitelisted to
access the API server safely even when the browser would consider the requests to be
cross-origin. To access the API server from a web application using a different host
name, you must whitelist that host name by specifying the --cors-allowed-origins
option on openshift start or from the related master configuration file parameter
corsAllowedOrigins.
IRAN Community| OpenStack.ir
OpenShift Infrastructure
Video Channels
https://www.youtube.com/behnamloghmani
http://www.aparat.com/behnamloghmani
IRAN Community| OpenStack.ir
OpenShift Architecture
Iran OpenStack Community
IRAN Community| OpenStack.ir
OpenShift Architecture
Stay in Touch and Join Us:
●
Home Page: OpenStack.ir
●
Meetup Page: Meetup.com/Iran-OpenStack
●
Mailing List: OpenStack-ir@Lists.OpenStack.org
●
Twitter: @OpenStackIR , #OpenStackIRAN
●
IRC Channel on FreeNode: #OpenStack-ir
Thank You
Behnam Loghmani
Iran OpenStack Community Member
Behnam.loghmani@gmail.com
OpenStack.ir
We need to work together to build a better community

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Ippevent : openshift Introduction
Ippevent : openshift IntroductionIppevent : openshift Introduction
Ippevent : openshift Introduction
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Containers & Security
Containers & SecurityContainers & Security
Containers & Security
 
Kubernetes Immersion
Kubernetes ImmersionKubernetes Immersion
Kubernetes Immersion
 
Kubernetes fundamentals
Kubernetes fundamentalsKubernetes fundamentals
Kubernetes fundamentals
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
Rebuild - Simplifying Embedded and IoT Development Using Linux ContainersRebuild - Simplifying Embedded and IoT Development Using Linux Containers
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
 
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
 
Enabling Production Grade Containerized Applications through Policy Based Inf...
Enabling Production Grade Containerized Applications through Policy Based Inf...Enabling Production Grade Containerized Applications through Policy Based Inf...
Enabling Production Grade Containerized Applications through Policy Based Inf...
 
Containers, OCI, CNCF, Magnum, Kuryr, and You!
Containers, OCI, CNCF, Magnum, Kuryr, and You!Containers, OCI, CNCF, Magnum, Kuryr, and You!
Containers, OCI, CNCF, Magnum, Kuryr, and You!
 
Monitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & MicroservicesMonitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & Microservices
 
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveDocker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
fabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShiftfabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShift
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
 

Destacado

PaaS POV_To PaaS or Not There really is no question_150601_FINAL_PRINT_READY
PaaS POV_To PaaS or Not There really is no question_150601_FINAL_PRINT_READYPaaS POV_To PaaS or Not There really is no question_150601_FINAL_PRINT_READY
PaaS POV_To PaaS or Not There really is no question_150601_FINAL_PRINT_READY
Rene Claudio
 
Choosing a PaaS for the Enterprise
Choosing a PaaS for the EnterpriseChoosing a PaaS for the Enterprise
Choosing a PaaS for the Enterprise
Cloud Elements
 

Destacado (20)

OpenShift In a Nutshell - Episode 06 - Core Concepts Part II
OpenShift In a Nutshell - Episode 06 - Core Concepts Part IIOpenShift In a Nutshell - Episode 06 - Core Concepts Part II
OpenShift In a Nutshell - Episode 06 - Core Concepts Part II
 
OpenShift In a Nutshell - Episode 02 - Architecture
OpenShift In a Nutshell - Episode 02 - ArchitectureOpenShift In a Nutshell - Episode 02 - Architecture
OpenShift In a Nutshell - Episode 02 - Architecture
 
OpenShift v3 Technical Overview
OpenShift v3 Technical OverviewOpenShift v3 Technical Overview
OpenShift v3 Technical Overview
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
 
The DevOps PaaS Infusion - May meetup
The DevOps PaaS Infusion - May meetupThe DevOps PaaS Infusion - May meetup
The DevOps PaaS Infusion - May meetup
 
How did Trinity get to Number One in Europe
How did Trinity get to Number One in EuropeHow did Trinity get to Number One in Europe
How did Trinity get to Number One in Europe
 
PaaS POV_To PaaS or Not There really is no question_150601_FINAL_PRINT_READY
PaaS POV_To PaaS or Not There really is no question_150601_FINAL_PRINT_READYPaaS POV_To PaaS or Not There really is no question_150601_FINAL_PRINT_READY
PaaS POV_To PaaS or Not There really is no question_150601_FINAL_PRINT_READY
 
Choosing a PaaS for the Enterprise
Choosing a PaaS for the EnterpriseChoosing a PaaS for the Enterprise
Choosing a PaaS for the Enterprise
 
An Evaluation of OpenStack Deployment Frameworks
An Evaluation of OpenStack Deployment FrameworksAn Evaluation of OpenStack Deployment Frameworks
An Evaluation of OpenStack Deployment Frameworks
 
OpenShift meetup Bangalore
OpenShift meetup BangaloreOpenShift meetup Bangalore
OpenShift meetup Bangalore
 
Workshop-Build e deploy avançado com Openshift e Kubernetes
Workshop-Build e deploy avançado com Openshift e KubernetesWorkshop-Build e deploy avançado com Openshift e Kubernetes
Workshop-Build e deploy avançado com Openshift e Kubernetes
 
Openshift/Kubernetes integration with Apache YARN
Openshift/Kubernetes integration with Apache YARNOpenshift/Kubernetes integration with Apache YARN
Openshift/Kubernetes integration with Apache YARN
 
Openshift presentation
Openshift presentationOpenshift presentation
Openshift presentation
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
 
Ultimate DevOps - Jenkins Enterprise & Red Hat OpenShift
Ultimate DevOps - Jenkins Enterprise & Red Hat OpenShiftUltimate DevOps - Jenkins Enterprise & Red Hat OpenShift
Ultimate DevOps - Jenkins Enterprise & Red Hat OpenShift
 
Openshift Container Platform on Azure
Openshift Container Platform on AzureOpenshift Container Platform on Azure
Openshift Container Platform on Azure
 
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
 
Developing microservices with wildfly swarm and deploying on openshift
Developing microservices with wildfly swarm and deploying on openshiftDeveloping microservices with wildfly swarm and deploying on openshift
Developing microservices with wildfly swarm and deploying on openshift
 
Minishift (Run OpenShift locally)
Minishift (Run OpenShift locally)Minishift (Run OpenShift locally)
Minishift (Run OpenShift locally)
 

Similar a OpenShift In a Nutshell - Episode 04 - Infrastructure part II

Survey of open source cloud architectures
Survey of open source cloud architecturesSurvey of open source cloud architectures
Survey of open source cloud architectures
abhinav vedanbhatla
 
Introduction Openstack
Introduction OpenstackIntroduction Openstack
Introduction Openstack
Ranjith Kumar
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
babycat_feifei
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
锐 张
 
OpenStack Technology Overview
OpenStack Technology OverviewOpenStack Technology Overview
OpenStack Technology Overview
Open Stack
 

Similar a OpenShift In a Nutshell - Episode 04 - Infrastructure part II (20)

Introduction to Open stack - An Overview
Introduction to Open stack - An Overview Introduction to Open stack - An Overview
Introduction to Open stack - An Overview
 
Survey of open source cloud architectures
Survey of open source cloud architecturesSurvey of open source cloud architectures
Survey of open source cloud architectures
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architecture
 
Introduction Openstack
Introduction OpenstackIntroduction Openstack
Introduction Openstack
 
Mastering OpenStack - Episode 06 - Controller Nodes
Mastering OpenStack - Episode 06 - Controller NodesMastering OpenStack - Episode 06 - Controller Nodes
Mastering OpenStack - Episode 06 - Controller Nodes
 
Overview of OpenDaylight Container Orchestration Engine Integration
Overview of OpenDaylight Container Orchestration Engine IntegrationOverview of OpenDaylight Container Orchestration Engine Integration
Overview of OpenDaylight Container Orchestration Engine Integration
 
Openstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2SchoolOpenstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2School
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
 
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
 
7 - Introduction to OpenStack & SDN by Ady Saputra
7 - Introduction to OpenStack & SDN by Ady Saputra7 - Introduction to OpenStack & SDN by Ady Saputra
7 - Introduction to OpenStack & SDN by Ady Saputra
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
 
Openstack Global Meetup
Openstack Global Meetup Openstack Global Meetup
Openstack Global Meetup
 
OpenStack Technology Overview
OpenStack Technology OverviewOpenStack Technology Overview
OpenStack Technology Overview
 
IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 
Mastering OpenStack - Episode 05 - Controller Nodes
Mastering OpenStack - Episode 05 - Controller NodesMastering OpenStack - Episode 05 - Controller Nodes
Mastering OpenStack - Episode 05 - Controller Nodes
 
OpenStack Winfest2011
OpenStack Winfest2011OpenStack Winfest2011
OpenStack Winfest2011
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 

Último

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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
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
 
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
 

Último (20)

[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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
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
 
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
 
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...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

OpenShift In a Nutshell - Episode 04 - Infrastructure part II

  • 1. Presentation By: Behnam Loghmani Summer 2016 IRAN OpenStack Users Group OPENSHIFT IN A NUTSHELL (Episode 04) Infrastructure (Cont.)
  • 2. IRAN Community| OpenStack.ir Agenda: ● Nodes ● Image Registry ● Web Console ● Iran OpenStack Community OpenShift Infrastructure
  • 4. IRAN Community| OpenStack.ir OpenShift Infrastructure A node provides the runtime environments for containers. Each node in a Kubernetes cluster has the required services to be managed by the master. Nodes also have the required services to run pods, including Docker, a kubelet, and a service proxy.
  • 5. IRAN Community| OpenStack.ir OpenShift Infrastructure OpenShift Origin creates nodes from a cloud provider, physical systems, or virtual systems. Kubernetes interacts with node objects that are a representation of those nodes. What this means is that when Kubernetes creates a node, it is really just creating an object that represents the node in its internal state The master uses the information from node objects to validate nodes with health checks. A node is ignored until it passes the health checks, and the master continues checking nodes until they are valid.
  • 6. IRAN Community| OpenStack.ir OpenShift Infrastructure After creation, Kubernetes will check whether the node is valid or not. For example, if you try to create a node from the following content: {   "kind": "Node",   "apiVersion": "v1",   "metadata": {     "name": "10.240.79.157",     "labels": {       "name": "my­first­k8s­node"     }   } }
  • 7. IRAN Community| OpenStack.ir OpenShift Infrastructure Kubernetes will create a Node object internally (the representation), and validate the node by health checking based on the metadata.name field: we assume metadata. name can be resolved. If the node is valid, i.e. all necessary services are running, it is eligible to run a Pod; otherwise, it will be ignored for any cluster activity, until it becomes valid. Note that Kubernetes will keep the object for the invalid node unless it is explicitly deleted by the client, and it will keep checking to see if it becomes valid.
  • 8. IRAN Community| OpenStack.ir OpenShift Infrastructure Administrators can manage nodes in an OpenShift Origin instance using the CLI. To define full configuration and security options when launching node servers, use dedicated node configuration files.
  • 9. IRAN Community| OpenStack.ir OpenShift Infrastructure The recommended maximum number of nodes is 300.
  • 10. IRAN Community| OpenStack.ir OpenShift Infrastructure apiVersion: v1  kind: Node  metadata:   creationTimestamp: null   labels:      kubernetes.io/hostname: node1.example.com   name: node1.example.com  spec:   externalID: node1.example.com  Node Object Definition Example 1 2 3 4 5
  • 11. IRAN Community| OpenStack.ir OpenShift Infrastructure apiVersion defines the API version to use. kind set to Node identifies this as a definition for a node object. metadata.labels lists any labels that have been added to the node. metadata.name is a required value that defines the name of the node object. This value is shown in the NAME column when running the oc get nodes command. spec.externalID defines the fully-qualified domain name where the node can be reached. Defaults to the metadata.name value when empty. 1 2 3 4 5 Node Object Definition Example (Cont.)
  • 12. IRAN Community| OpenStack.ir OpenShift Infrastructure Each node has a kubelet that updates the node as specified by a container manifest, which is a YAML file that describes a pod. The kubelet uses a set of manifests to ensure that its containers are started and that they continue to run. Kubelet
  • 13. IRAN Community| OpenStack.ir OpenShift Infrastructure A container manifest can be provided to a kubelet by: ● A file path on the command line that is checked every 20 seconds. ● An HTTP endpoint passed on the command line that is checked every 20 seconds. ● The kubelet watching an etcd server, such as /registry/hosts/$(hostname -f), and acting on any changes. ● The kubelet listening for HTTP and responding to a simple API to submit a new manifest. Kubelet (Cont.)
  • 14. IRAN Community| OpenStack.ir OpenShift Infrastructure Each node also runs a simple network proxy that reflects the services defined in the API on that node. This allows the node to do simple TCP and UDP stream forwarding across a set of back ends. Service Proxy
  • 15. IRAN Community| OpenStack.ir OpenShift Infrastructure Image Registry
  • 16. IRAN Community| OpenStack.ir OpenShift Infrastructure OpenShift Origin can utilize any server implementing the Docker registry API as a source of images, including the canonical Docker Hub, private registries run by third parties, and the integrated OpenShift Origin registry.
  • 17. IRAN Community| OpenStack.ir OpenShift Infrastructure OpenShift Origin provides an integrated Docker registry that adds the ability to provision new image repositories on the fly. This allows users to automatically have a place for their builds to push the resulting images. Whenever a new image is pushed to the integrated registry, the registry notifies OpenShift Origin about the new image, passing along all the information about it, such as the namespace, name, and image metadata. Different pieces of OpenShift Origin react to new images, creating new builds and deployments. Integrated OpenShift Origin Registry
  • 18. IRAN Community| OpenStack.ir OpenShift Infrastructure OpenShift Origin can create containers using images from third party registries, but it is unlikely that these registries offer the same image notification support as the integrated OpenShift Origin registry. In this situation OpenShift Origin will fetch tags from the remote registry upon imagestream creation. Refreshing the fetched tags is as simple as running oc import-image <stream>. When new images are detected, the previously-described build and deployment reactions occur Third Party Registries
  • 19. IRAN Community| OpenStack.ir OpenShift Infrastructure OpenShift Origin can communicate with registries to access private image repositories using credentials supplied by the user. This allows OpenShift Origin to push and pull images to and from private repositories. Authentication
  • 20. IRAN Community| OpenStack.ir OpenShift Infrastructure Web Console
  • 21. IRAN Community| OpenStack.ir OpenShift Infrastructure The OpenShift Origin web console is a user interface accessible from a web browser. Developers can use the web console to visualize, browse, and manage the contents of projects. The web console is started as part of the master. All static assets required to run the web console are served from the openshift binary. Administrators can also customize the web console using extensions, which let you run scripts and load custom style sheets when the web console loads. You can change the look and feel of nearly any aspect of the user interface in this way.
  • 22. IRAN Community| OpenStack.ir OpenShift Infrastructure When you access the web console from a browser, it first loads all required static assets. It then makes requests to the OpenShift Origin APIs using the values defined from the openshift start option --public-master, or from the related master configuration file parameter masterPublicURL. The web console uses WebSockets to maintain a persistent connection with the API server and receive updated information as soon as it is available.
  • 24. IRAN Community| OpenStack.ir OpenShift Infrastructure The configured host names and IP addresses for the web console are whitelisted to access the API server safely even when the browser would consider the requests to be cross-origin. To access the API server from a web application using a different host name, you must whitelist that host name by specifying the --cors-allowed-origins option on openshift start or from the related master configuration file parameter corsAllowedOrigins.
  • 25. IRAN Community| OpenStack.ir OpenShift Infrastructure Video Channels https://www.youtube.com/behnamloghmani http://www.aparat.com/behnamloghmani
  • 26. IRAN Community| OpenStack.ir OpenShift Architecture Iran OpenStack Community
  • 27. IRAN Community| OpenStack.ir OpenShift Architecture Stay in Touch and Join Us: ● Home Page: OpenStack.ir ● Meetup Page: Meetup.com/Iran-OpenStack ● Mailing List: OpenStack-ir@Lists.OpenStack.org ● Twitter: @OpenStackIR , #OpenStackIRAN ● IRC Channel on FreeNode: #OpenStack-ir
  • 28. Thank You Behnam Loghmani Iran OpenStack Community Member Behnam.loghmani@gmail.com OpenStack.ir We need to work together to build a better community