Moet ik echt aan die "koeberneetes"? k8s?
Wij zijn wij? Bart Mulder SDDC Consultant @ ITQ Olivier Bootsma SDDC Consultant @ ITQ bmulder@itq.nl obootsma@itq.nl @vorchestrator
Agenda WAT IS KUBERNETES? WAT IS PKS? VEEL VOORKOMENDE UITDAGINGEN NETWORKING & SECURITY 3
Wat is Kubernetes? Production-Grade Container Orchestrator Abstractielaag IaaS onafhankelijk Open-source! 4
Wat doet een Container Orchestrator? Provisioning Beschikbaarheid Redundantie Resource allocatie Bereikbaarheid 5
Abstractielaag Applicatie is het doel Container de drager Container platform het middel Container orchestrator de lijm 6
Wat is PKS? Management en Automation tool! Management plane voor Kubernetes clusters VMware netwerk integratie Lifecycle management (patching en security) Open Source Kubernetes Support! 8
Wat voegt PKS toe? PCF Ops Manager + BOSH Kubernetes Cluster Deployment Kubernetes Cluster Management NSX-T CNI Harbor Container Registry
Uitdaging 1 Externe invloed De klanten zijn ontevreden over onze dienstverlening na meerdere applicatie verstoringen Business outcome Positief in de publiciteit blijven Technology outcome Stabiliteit, schaalbaarheid Enablers Hoog beschikbaar applicatie platform 10
Platform Kubernetes Control Cluster plane Master Scheduler etcd API Server Controller manager Cloud Controller Manager 11
Platform Kubernetes Control Cluster plane Master Kubernetes Control Cluster plane Master #n Scheduler Scheduler etcd API Server etcd API Server Controller manager Cloud Controller Manager Controller manager Cloud Controller Manager 12
Applicatie Kubernetes Worker Cluster node Node #n Kubelet Docker Kubernetes Cluster Pod Pod Service Proxy 13
Applicatie Kubernetes Worker Cluster node Node #n Kubernetes Worker Cluster node Node #n Kubelet Docker Kubernetes Cluster Kubelet Docker Kubernetes Cluster App A App B App B App A Service Proxy Service Proxy Replica Replica 14
Uitdaging 2 Externe invloed Concurrent levert sneller diensten dan wij leveren / Klanten vragen om nieuwe functionaliteit Business outcome Klaar zijn voor snelle groei (time 2 market) Technology outcome Snelheid, vrijheid, schaalbaarheid Enablers Self-service voor devs / Desired state & Pipelines / rolling updates 15
Platform en Developer Kubernetes Control Cluster plane Master Configuration Scheduler etcd API Server Apply kubectl Controller manager Cloud Controller Manager Developer 16
Platform Kubernetes cluster Marketing Production Kubernetes cluster Marketing Development Kubernetes Control Cluster plane Master Kubernetes Control Cluster plane Master Scheduler Configuration Scheduler etcd API Server kubectl etcd API Server Controller manager Cloud Controller Manager Developer AB Controller manager Cloud Controller Manager 17
Desired state / Rolling updates Kubernetes Control Cluster plane Master API Server Apply Run Pipeline Rolling Update Get Manifest Kubernetes Worker Cluster node Node #n Kubernetes Cluster GIT Repository Docker Kubernetes Cluster Pipeline Manifest App A App B App A Manifest 18
Overzicht Lifecycle management Deployment Support Kubernetes Cluster(s) Kubernetes Control Cluster plane Master Kubernetes Worker Cluster node Docker Kubernetes Cluster Node #n API Server App A App B 19
Overzicht Developer Apply! Kubernetes Cluster(s) Kubernetes Control Cluster plane Master Kubernetes Worker Cluster node Node #n Nieuwe release! Docker Kubernetes Cluster API Server Nieuwe app container App A App B Security Scan 20
En nu verder Veiligheid? Ontsluiting? Docker Kubernetes Cluster App A App B? Boze wolk 21
Leuk die containers, maar hoe intergeer ik die in mijn bestaande netwerk omgeving? 23
Netwerk virtualisatie middels NSX-T NAT Switching Routing NAT Load Balancing Firewall Visibility Every container is a first class citizen of the NSX data-center network 24
Netwerk virtualisatie middels NSX-T(2) 25
Netwerk virtualisatie middels NSX-T(3) Kubernetes Container Network BGP or Static Routes Cloud Foundry Container Network Data Center Network VM or Bare-metal Network 26
Container network evolutie Port Mapping Container Network Interface (CNI) Service Mesh (toekomst) Host IP A Host IP A Container Net Container Net Port 8001 Port 8002 EN EN EN EN vswitch vswitch vswitch vswitch vswitch 27
Moeten mijn netwerk en virtualisatie engineers een compleet nieuwe skillset aanleren? 28
Physical Router 1 Physical Router 2 EBGP/Static K8 Cluster1 NSX / K8s topology Namespace: foo Namespace: bar 10.24.0.0/24 10.24.1.0/24 10.24.2.0/24 K8s nodes 29
Hoe borg ik mijn netwerk beschikbaarheid? 30
Hoe voorkom ik een wildgroei network security opties? 31
Firewall opties 32
Container metadate kubectl get pod nsx-demo-rc-c7x65 -o yaml apiversion: v1 kind: Pod metadata: creationtimestamp: 2018-07-25T12:05:56Z generatename: nsx-demo-rclabels: app: nsx-demo name: nsx-demo-rc-c7x65 namespace: nsx-ujo Metadata binnen Kubernetes zoals Namespace, podnamen, labels worden allemaal gekopieerd naar de NSX Logical Port middels poorttags 33
Pre-Created Security Groups / Firewall Rules (Admin Rules) Match on Port Tags Security groepen worden gebruikt in firewall policy s 34
Kubernetes Network Policy apiversion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: nsx-demo-policy spec: podselector: matchlabels: app: nsx-demo policytypes: - Ingress ingress: - from: - ipblock: cidr: 100.64.160.11/32 ports: - port: 80 protocol: TCP Naast ondersteuning van vooraf gedefinieerde regels van beheerders, vertaalt NCP ook Kubernetes NetworkPolicy Objects naar NSXbeveiligingsgroepen en Firewall-regels Vooraf gedefinieerde beheerdersregels kunnen gelijktijdig in NSX worden gebruikt, beheerdersregels worden in secties vóór of na K8's netwerkbeleidsregels geplaatst apiversion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default-deny spec: podselector: {} policytypes: - Ingress 35
Hoe troubleshoot ik mijn netwerk nu het gevirtualizeerd is? 36
NSX-T build-in 37
NSX-T build-in(2) 38
vrealize Network Insight 39
Questions?
Thank you!