container orchestration solution - docs.adfinis … · why container orchestration? managing...
TRANSCRIPT
WhyKubernetes?FastestgrowingcommunityOneofthetopGitHubprojectsAggregatesGooglesknowledgeofthepastyearsBetterdesigndecisionsandimplementationsthancompetitors
Movefastandbreakthings!
Whycontainerorchestration?ManagingapplicationsishardPackagingapplicationsisevenharderDeployingapplicationsiscumbersome
Automationiskey!
WhatdoesKubernetesoffer?
PodsbasedonimmutableDockerimagesDeploymentsmanagingapplicationupdatesPersistentStorageDNSResolutionforServicesSecretManagementConfigManagement
Allofthisviaa"simple"RESTAPI!
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
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