container orchestration solution - docs.adfinis … · why container orchestration? managing...

21
What is Kubernetes? Container Orchestration Solution Automates the deployment and management of containers

Upload: lamhuong

Post on 09-Sep-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

WhatisKubernetes?ContainerOrchestrationSolution

Automatesthedeploymentandmanagementofcontainers

WhyKubernetes?FastestgrowingcommunityOneofthetopGitHubprojectsAggregatesGooglesknowledgeofthepastyearsBetterdesigndecisionsandimplementationsthancompetitors

Movefastandbreakthings!

Whycontainerorchestration?ManagingapplicationsishardPackagingapplicationsisevenharderDeployingapplicationsiscumbersome

Automationiskey!

WhatdoesKubernetesoffer?

PodsbasedonimmutableDockerimagesDeploymentsmanagingapplicationupdatesPersistentStorageDNSResolutionforServicesSecretManagementConfigManagement

Allofthisviaa"simple"RESTAPI!

Whatisk8shandlingforus?

SchedulingNetworkingStorageRollingUpdate

Autoscaling

KubernetesArchitecture

KubernetesTerminology

PodsandContainerPodisthesmallestunitinKubernetes

PodcanconsistofmultiplecontainersAllcontainersofapodrunonthesamenodeContainersinapodcancommunicatevialocalhostContainersinapodsharetheirkernelnamespaces

ServiceServicesabstractaccesstoPods

SelectionofPodsviaLabelsTypicallyonlyclusterinternalaccess

kind:ServiceapiVersion:v1metadata:name:"example-service-prod"spec:selector:app:"example-app"env:"production"ports:-protocol:"TCP"port:80targetPort:8080

IngressᵝIngressallowsexternalaccesstoServices

HostnameURLHTTPSpossibleTCP/UDPsupportinthefuture

apiVersion:extensions/v1beta1kind:Ingressmetadata:name:"echo-ingress"spec:backend:serviceName:"echoheaders"servicePort:80tls:-hosts:-"echo.example.com"secretName:"echo-tls"

DeploymentManagesasetofPods

DefactostandardfordeployingapplicationsManagesmultipleiterationsofanapplicationBasedonReplicaSetsAllowsrollbackofdeployments

PersistentVolumeClaimRequestsforpersistentStorage

AutomaticprovisioninginAzureCloudDifferentrequirementsviaStorageClass

NamespaceSeparationofconsumers/environments

RessourceQuotasAllresourcesareattachedtoanamespaceRBACmakessharingofnamespacespossible

CommonCLIcommands

kubectl

CLIforeverythingShortforkubecontrolSomebelieveitispronouncedkube-cuddlecuttle

kubectlcreateCreateresourcesinKubernetes

DefinitioninYAMLorJSONValidationin kubectl client

kubectlcreate-fpod.yamlkubectlcreate-fhttp://example.com/pod.yamlcatpod.yaml|kubectlcreate-f-kubectlcreate-R-fdir/

kubectlgetListKubernetesresources

DifferentoutputformatsFilteringvialabelspossible

kubectlgetallkubectlgetpodskubectlgetdckubectlgetpods-owidekubectlgetall-lenv=productionkubectlgetpo/nodejs-ex-oyaml

kubectleditEditresourcedefinitions

Validationin kubectl clientSuitablefordebugging

kubectleditdc/nodejs-ex

kubectldeleteDeletionofresources

kubectldeleterc/nodejs-ex