Moet ik echt aan die koeberneetes? - ITQ Transform! · SDDC Consultant @ ITQ [email protected] Olivier...
Transcript of Moet ik echt aan die koeberneetes? - ITQ Transform! · SDDC Consultant @ ITQ [email protected] Olivier...
Moet ik echt aan die "koeberneetes"?k8s?
Wij zijn wij?
Bart Mulder
SDDC Consultant @ ITQ
Olivier Bootsma
SDDC Consultant @ ITQ
@vOrchestrator
Agenda
3
WAT IS KUBERNETES? WAT IS PKS? VEEL VOORKOMENDE UITDAGINGEN
NETWORKING & SECURITY
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
10
Externe invloed De klanten zijn ontevreden over onzedienstverlening na meerdere applicatie verstoringen
Business outcome Positief in de publiciteit blijven
Technology outcome Stabiliteit, schaalbaarheid
Enablers Hoog beschikbaar applicatie platform
Uitdaging 1
Platform
11
Kubernetes ClusterKubernetes Control plane
API Server
Scheduler
Controller manager
etcd
Cloud Controller Manager
Master
Platform
12
Kubernetes ClusterKubernetes Control plane
API Server
Scheduler
Controller manager
etcd
Cloud Controller Manager
Master Kubernetes ClusterKubernetes Control plane
API Server
Scheduler
Controller manager
etcd
Cloud Controller Manager
Master #n
Applicatie
13
Kubernetes ClusterKubernetes Worker node
Kubelet
Service Proxy
Kubernetes ClusterDocker
Pod Pod
Node #n
Applicatie
14
Kubernetes ClusterKubernetes Worker node
Kubelet
Service Proxy
Kubernetes ClusterDocker
App A App B
Node #n Kubernetes ClusterKubernetes Worker node
Kubelet
Service Proxy
Kubernetes ClusterDocker
App B App A
Node #n
Replica
Replica
15
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
Uitdaging 2
Platform en Developer
16
Kubernetes ClusterKubernetes Control plane
API Server
Scheduler
Controller manager
etcd
Cloud Controller Manager
Master
Developer
kubectlApply
Configuration
Platform
17
Kubernetes ClusterKubernetes Control plane
API Server
Scheduler
Controller manager
etcd
Cloud Controller Manager
Master
Kubernetes clusterMarketing Production
Kubernetes ClusterKubernetes Control plane
API Server
Scheduler
Controller manager
etcd
Cloud Controller Manager
Master
Kubernetes clusterMarketing Development
kubectl
Configuration
Developer ADeveloper B
Desired state / Rolling updates
18
Kubernetes ClusterKubernetes Control plane
API Server
Master
Kubernetes ClusterKubernetes Worker node
Kubernetes ClusterDocker
App A App B
Node #nKubernetes Cluster
App A Manifest
GIT Repository
Pipeline Manifest
Apply RunPipeline
Get ManifestRolling Update
Kubernetes Cluster(s)
Overzicht
Kubernetes ClusterKubernetes Worker node
Kubernetes ClusterDocker
App A App B
Node #n
19
Kubernetes ClusterKubernetes Control plane
API Server
Master
• Lifecycle management• Deployment
• Support
Overzicht
20
Kubernetes Cluster(s)
Kubernetes ClusterKubernetes Worker node
Kubernetes ClusterDocker
App A App B
Node #nKubernetes ClusterKubernetes Control plane
API Server
Master
Nieuwe release!
Developer
Security Scan
Nieuwe app container
Apply!
En nu verder
21
Kubernetes ClusterDocker
App A App B
Boze wolk
Ontsluiting?Veiligheid?
?
Leuk die containers, maar hoe intergeer ik die in mijnbestaande netwerk omgeving?
23
Netwerk virtualisatie middels NSX-T
24
FirewallLoad Balancing VisibilitySwitching Routing NAT
NAT
“Every container is a first class citizen of the NSX data-center network”
Netwerk virtualisatie middels NSX-T(2)
25
Netwerk virtualisatie middels NSX-T(3)
26
Kubernetes Container Network
Cloud Foundry Container Network
VM or Bare-metal Network
BGP or Static Routes
Data Center Network
Container network evolutie
27
Port Mapping
vSwitch
Host IP A
Port 8001
Host IP A
Port 8002
Container Network Interface (CNI)
vSwitch
Container Net
vSwitch
Service Mesh (toekomst)
vSwitch
Container Net
EN EN
vSwitch
EN EN
Moeten mijn netwerk en virtualisatie engineers eencompleet nieuwe skillset aanleren?
28
29
NSX / K8s topology
Namespace: foo Namespace: bar
K8 Cluster1
10.24.0.0/24 10.24.1.0/24 10.24.2.0/24
EBGP/Static
Physical Router 1
Physical Router 2
K8s nodes
Hoe borg ik mijn netwerk beschikbaarheid?
30
Hoe voorkom ik een wildgroei network security opties?
31
Firewall opties
32
Container metadate
33
▶ kubectl get pod nsx-demo-rc-c7x65 -o yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: 2018-07-25T12:05:56Z
generateName: nsx-demo-rc-
labels:
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
Pre-Created Security Groups / Firewall Rules (Admin Rules)
34
Match on Port Tags
Security groepenworden gebruikt in firewall policy’s
Kubernetes Network Policy
35
Naast ondersteuning van vooraf gedefinieerde regels van beheerders, vertaalt NCP ook Kubernetes NetworkPolicy Objects naar NSX-beveiligingsgroepen 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
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
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!