SlideShare a Scribd company logo
1 @stoeps Social Connections 14 #kubernetes101
Kubernetes Basics for
Connections Admins
Christoph Stoettner
+49 173 8588719
christoph.stoettner@panagenda.com
2 @stoeps Social Connections 14 #kubernetes101
3 @stoeps Social Connections 14 #kubernetes101
+49 173 8588719
christophstoettner
Christoph Stoettner
Senior Consultant at
IBM Domino since 1999
IBM Connections since 2009
Experience in
Migrations, Deployments
Performance Analysis
Focusing in
Monitoring, Security
panagenda ConnectionsExpert

 christoph.stoettner@panagenda.com
 linkedin.com/in/christophstoettner
 stoeps.de

 @stoeps
panagenda
4 @stoeps Social Connections 14 #kubernetes101
Agenda
History
Kubernetes Infrastructure
kubectl
5 @stoeps Social Connections 14 #kubernetes101
Why do we talk about Kubernetes?
TPFKAP
The Product Formerly Known As Pink
First rumours end 2016
Announced during Think 2017 (February 2017) in San Francisco
Migration of the monolithic WebSphere stack of IBM Connections
Lots of advantages
Zero Downtime updates
More frequent updates (Continous Delivery)
Moving away from Java (expensive Developers)
Drop the support of three different Database engines

6 @stoeps Social Connections 14 #kubernetes101
History - Borg System
2003 / 2004
First unified container-management system
Developed at Google
Based on Linux control groups (cgroups)
Container support in the Linux kernel became available
Google contributed much of this code to the kernel
Isolation between latency-sensitive user-facing services and
CPU-hungry batch processes

7 @stoeps Social Connections 14 #kubernetes101
History - Omega
2013
Offspring of Borg
Improve the software engineering of the Borg ecosystem
Built from ground up
more consistent, principled architecture
Seperate components which acted as peers
Multiple schedulers
No funneling through centralized master
8 @stoeps Social Connections 14 #kubernetes101
History Kubernetes
June 2014
Third container management system developed at Google
Conceived and developed when external developers became
interested in Linux containers
Google released the code as Opensource to the Cloud Native
Computing Foundation (CNCF)
Around six weeks after the release:
Microsoft, IBM, Red Hat and Docker joined the Community
https://cloudplatform.googleblog.com/2014/07/welcome-microsoft-
redhat-ibm-docker-and-more-to-the-kubernetes-community.html
9 @stoeps Social Connections 14 #kubernetes101
Overview
10 @stoeps Social Connections 14 #kubernetes101
Dynamic Timeframe
11 @stoeps Social Connections 14 #kubernetes101
Kubernetes
12 @stoeps Social Connections 14 #kubernetes101
Kubernetes Architecture
13 @stoeps Social Connections 14 #kubernetes101
Linux Kernel
Namespaces
lightweight process virtualization
Isolation: enable a process to have different views of the system than other
processes
Much like Zones in Solaris
No hypervisor layer!
cgroups (control groups)
Resource Management providing a generic process-grouping framework
Cgroups is not dependent upon namespaces.
14 @stoeps Social Connections 14 #kubernetes101
Container
A container is a Linux userspace process
LXC (Linux Containers)
Operating System Level virtualization
Docker
Linux container engine
Initially written in Python, later in Go
Released by dotCloud 2013
Docker < 0.9 used LXC to create and manage containers
15 @stoeps Social Connections 14 #kubernetes101
Pods
Pods are the smallest unit in Kubernetes
Have a relatively short life-span
Born, and destroyed
They are never healed
system heals itself
by creating new Pods
by terminating those that are unhealthy
system is long-living
Pods are not

16 @stoeps Social Connections 14 #kubernetes101
YAML with VIM
.vimrc
set cursorline " highlight current line
hi CursorLine cterm=NONE ctermbg=235 ctermfg=NONE guifg=gray guibg=black
set cursorcolumn " vertical cursor line
hi CursorColumn ctermfg=NONE ctermbg=235 cterm=NONE guifg=gray guibg=black gui=bold
17 @stoeps Social Connections 14 #kubernetes101
YAML → or use a ruler
18 @stoeps Social Connections 14 #kubernetes101
Simple Pods
Run a simple pod
Quick and dirty! Deprecated!
kubectl run db --image mongo

19 @stoeps Social Connections 14 #kubernetes101
Simple Pod - what happend?
Kubernetes automatically creates
ReplicaSet
Deployment
20 @stoeps Social Connections 14 #kubernetes101
Create a pod with a yaml file
nginx.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
$ kubectl create -f nginx.yaml
$ kubectl get all -o wide
NAME READY STATUS RESTARTS AGE IP NODE
pod/nginx 1/1 Running 0 4m 10.42.1.13 rancher2
21 @stoeps Social Connections 14 #kubernetes101
Overview creating pod
kubectl create pod -f pod.yml
22 @stoeps Social Connections 14 #kubernetes101
Liveness Check
1 Check path - example with non existend path
2 Wait 5 seconds before performing the first probe
3 Timeout (no answer for 2 seconds → error)
4 Liveness check all 5 seconds
5 Kubernetes tries n times before giving up
...
- containerPort: 80
env:
- name: nginx
value: localhost
livenessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 1
1
2
3
4
5
23 @stoeps Social Connections 14 #kubernetes101
Automatic restart
0:00
24 @stoeps Social Connections 14 #kubernetes101
Check Events
$ kubectl describe nginx-broken
25 @stoeps Social Connections 14 #kubernetes101
Pods vs Container
Pod is smallest deployment in Kubernetes
A pod contains minimum one container (Docker or RKT)
Can contain multiple containers
Not very common
Most pods have one container
Easier to scale
A pod runs on one node and shares resources
26 @stoeps Social Connections 14 #kubernetes101
ReplicaSet as a self-healing
mechanism
Pods associated with a ReplicaSet are
guaranteed to run
ReplicaSet’s primary function is to
ensure that the specified number
of replicas of a service are
(almost) always running.
ReplicaSet

27 @stoeps Social Connections 14 #kubernetes101
ReplicaSet (2)
1 --record saves history
2 --save-config enables the use of kubectl apply, so we can change the ReplicaSet
$ kubectl create -f nginx-rs.yaml --record --save-config
$ kubectl get pods
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
pod/webserver-79r7j 1/1 Running 0 15m 10.42.3.15 rancher3 <none>
pod/webserver-dg5bp 1/1 Running 0 15m 10.42.2.11 rancher4 <none>
pod/webserver-rmkgx 1/1 Running 0 15m 10.42.1.14 rancher2 <none>
NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR
replicaset.apps/webserver 3 3 3 15m nginx nginx:1.7.9 service=nginx,type=backen
1 2
28 @stoeps Social Connections 14 #kubernetes101
ReplicaSet Scale
Change Replicas to 9
Apply file
...
spec:
replicas: 9
$ kubectl apply -f nginx-rs-scaled.yaml
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
pod/webserver-bw259 1/1 Running 0 5m 10.42.1.15 rancher2 <none>
pod/webserver-frcr7 1/1 Running 0 4m 10.42.1.16 rancher2 <none>
pod/webserver-g6zqd 1/1 Running 0 5m 10.42.2.12 rancher4 <none>
...
pod/webserver-p6k7f 1/1 Running 0 4m 10.42.2.13 rancher4 <none>
pod/webserver-wjwfd 1/1 Running 0 5m 10.42.3.16 rancher3 <none>
NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR
replicaset.apps/webserver 9 9 9 5m nginx nginx:1.7.9 service=nginx
29 @stoeps Social Connections 14 #kubernetes101
Not supposed to create Pods directly or with
ReplicaSet
Use Deployments instead
nginx-deploy.yaml
Deployment
$ kubectl create -f nginx-deploy.yaml --record
$ kubectl get all
NAME READY STATUS RESTARTS AGE
pod/nginx-54f7d7ffcd-wzjnf 1/1 Running 0 1m
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deployment.apps/nginx 1 1 1 1 1m
NAME DESIRED CURRENT READY AGE
replicaset.apps/nginx-54f7d7ffcd 1 1 1 1m
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
selector:
matchLabels:
type: backend
service: nginx
template:
metadata:
labels:
type: backend
service: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
protocol: TCP
30 @stoeps Social Connections 14 #kubernetes101
Scale, Rollout and Undo
$ kubectl create -f nginx-deploy.yaml --record
$ kubectl apply -f nginx-deploy-scaled.yaml
$ kubectl scale deployment nginx --replicas 9 --record
$ kubectl scale deployment nginx --replicas 5 --record
$ kubectl rollout history -f nginx-deploy.yaml
$ kubectl set image -f nginx-deploy-scaled.yaml nginx=nginx:1.8.1 --record
$ kubectl rollout history -f nginx-deploy.yaml
$ kubectl rollout undo -f nginx-deploy-scaled.yaml --to-revision=1
0:00
31 @stoeps Social Connections 14 #kubernetes101
Kubernetes Networking model
all containers can communicate with all containers without NAT
all nodes can communitcate with all containers without NAT
the IP that a container sees itself as the same IP that others see it
this is provided through overlay network providers like
Flannel (Overlay network provider)
Calico (secure L3 networking and network policy provider)
Canal (unites Flannel and Calico)
Exposed ports are accessible from all containers/pods.
32 @stoeps Social Connections 14 #kubernetes101
Istio
service mesh
microservices
secure
connect
monitor
Automatic load balancing for HTTP, WebSocket and TCP traffic
Fine grained traffic control
Policy layer
Secure service-to-service communitcation in a cluster
33 @stoeps Social Connections 14 #kubernetes101
Services
Kubernetes Services provide addresses through which associated
Pods can be accessed
Services are resolved by kube-proxy
1 NodePort: available within the cluster and from outside on each node
2 explicit port, without Kubernetes creates a random one
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
type: NodePort
ports:
- port: 80
nodePort: 30001
protocol: TCP
selector:
service: nginx
1
2
34 @stoeps Social Connections 14 #kubernetes101
NodePort
Port is exposed on each Node’s IP at a static port
A ClusterIP service is automatically created
No need that the pod is running on the node!
Our nginx pod is only running on of the the three worker nodes
Check if all workers deliver the webpage

$ kubectl scale deployment nginx --replicas 1 --record
for i in 2 3 4
do
curl -s http://rancher$i.stoepslab.local | grep title
done
<title>Welcome to nginx!</title>
<title>Welcome to nginx!</title>
<title>Welcome to nginx!</title>
35 @stoeps Social Connections 14 #kubernetes101
ClusterIP
Exposes the service on a cluster-internal IP
makes the service only reachable from within the cluster
default ServiceType
36 @stoeps Social Connections 14 #kubernetes101
Ingress
Route requests to services, based on
request host
path
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: www.stoepslab.local
http:
paths:
- backend:
serviceName: nginx
servicePort: 80
37 @stoeps Social Connections 14 #kubernetes101
Working Ingress
After adding the hostname to DNS or /etc/hosts
38 @stoeps Social Connections 14 #kubernetes101
Storage / Volumes
Docker knows a concept of volumes
More complicated on Kubernetes
Different nodes need to have access to them
Network storage
Kubernetes knows a lot of different storage types
Examples:
local, iscsi, glusterfs, hostPath, nfs
configmap, secret
different cloud providers (aws, gce …)
https://kubernetes.io/docs/concepts/storage/volumes/
39 @stoeps Social Connections 14 #kubernetes101
Persistent Volume
Persistent Volume (PV)
piece of storage in the cluster
provisioned by an administrator
PersistentVolumeClaim (PVC)
request for storage by an user (size and access mode)
PVC consume PV resources
PV have different properties
performance, backup, size
Cluster Admins need to be able to offer a variety of
PersistentVolumes

40 @stoeps Social Connections 14 #kubernetes101
StorageClass
StorageClass: a way to describe the classes of storage
different classes for
quality-of-service levels
backup policies
Reclaim Policy
Delete or Retain
Some storage classes auto provision PersistentVolumes
Heketi/Glusterfs, Rancher/Longhorn
NFS on one of your K8s nodes → single point of failure
41 @stoeps Social Connections 14 #kubernetes101
ConfigMaps
decouple configuration artifacts from image content
keep containerized applications portable
Configmaps can contain
folder/files (mainly for config/properties)
kubectl create configmap nginx-soccnx --from-file=html
spec:
containers:
- name: nginx
image: nginx:1.7.9
volumeMounts:
- name: nginx-soccnx
mountPath: /usr/share/nginx/html
volumes:
- name: nginx-soccnx
configMap:
name: nginx-soccnx
42 @stoeps Social Connections 14 #kubernetes101
ConfigMaps (2)
Value pairs
apiVersion: v1
kind: ConfigMap
metadata:
name: special-config
namespace: default
data:
SPECIAL_LEVEL: very
SPECIAL_TYPE: charm
spec:
containers:
- name: nginx-soccnx
image: alpine:latest
command: [ "/bin/sh", "-c", "env" ]
envFrom:
- configMapRef:
name: special-config
43 @stoeps Social Connections 14 #kubernetes101
ConfigMaps results
index.html in a configMap
kubectl logs nginx-soccnx
https://www.stoepslab.local
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
SHLVL=1
SPECIAL_LEVEL=very
SPECIAL_TYPE=charm
44 @stoeps Social Connections 14 #kubernetes101
Secrets
object that contains a small amount of sensitive data
reduces risk of accidental exposure
Secrets are base64 encoded
password.txt
$ kubectl create secret generic db-user-pass 
--from-literal=username=dbadmin 
--from-literal=password=MyGreatPassword
secret 'db-user-pass' created
$ kubectl create secret generic db-user-env 
--from-env-file=password.txt
username=dbadmin
password=myGreatPassword
45 @stoeps Social Connections 14 #kubernetes101
Get secrets
Mount secret into pod
➜ kubectl get secret db-user-env -o yaml
apiVersion: v1
data:
password: TXlHcmVhdFBhc3N3b3Jk
username: ZGJhZG1pbg==
kind: Secret
➜ kubectl get secret db-user-env -o jsonpath="{.data.password}" | base64 --decode
MyGreatPassword%
volumes:
- name: db-creds
secret:
secretName: db-user-env
defaultMode: 0444
items:
- key: username
path: username
- key: password
path: password
46 @stoeps Social Connections 14 #kubernetes101
Secrets compared with ConfigMaps
Both allow to inject content into pods
files
literal values
files with environment variables
Secrets
creates files in tmpfs → in memory files
A step towards security, but should be combined with
authorization policies
3rd party tool:
Any user with permission to run pod can mount a secret.
Hashicorp Vault

47 @stoeps Social Connections 14 #kubernetes101
Namespaces
Namespaces are a way to devide cluster resources between
multiple users
Namespaces provide a scope for names
Names of resources need to be unique within a namespace
It’s not necessary to use multiple namespaces just to seperate
different resources
use labels to distinguish resources within the same namespace
When you delete a namespace, all objects in the namespace are
deleted too!

48 @stoeps Social Connections 14 #kubernetes101
Namespace and kube-dns
You can reuse pod and service names in different namespaces
kube-dns uses podname.namespace then
Example
Namespaces are no extra security layer!
Pods can connect to services and pods in other namespaces
$ kubectl exec -it <pod> -- sh
curl http://nginx.texting:8080
curl http://nginx.production:8080
49 @stoeps Social Connections 14 #kubernetes101
kubectl config
When you use kubectl you have to add -n namespace
or --all-namespaces (works only with get)
During configuration phases it’s easier to switch the default
namespace
Very handy if you use different clusters too
$ kubectl create namespace soccnx
$ kubectl config set-context soccnx --namespace soccnx 
--cluster rancher-cluster --user admin
$ kubectl config view
$ kubectl config use-context soccnx
50 @stoeps Social Connections 14 #kubernetes101
Install additional products
51 @stoeps Social Connections 14 #kubernetes101
Helm
Kubernetes Package Manager
manage Kubernetes charts
Charts are packages of pre-configured Kubernetes resources
Main tasks
Find and use popular software packaged as Helm charts
Share your own applications as Helm charts
Create reproducible builds of your Kubernetes applications
Manage releases of Helm packages
2 parts
client (helm)
server (tiller)
52 @stoeps Social Connections 14 #kubernetes101
Examples
Install a Docker registry
Use ELK or EFK Stack for your logfiles
GUI within IBM Cloud Private or Rancher
➜ helm search elastic
➜ helm install stable/kibana
53 @stoeps Social Connections 14 #kubernetes101
Troubleshooting
54 @stoeps Social Connections 14 #kubernetes101
Get log messages
kubectl logs <podname>
kubectl logs <podname> -f
Multiple containers in your pod?
Log of a restarted pod
kubetail
kubectl logs <podname> -c <containername>
kubectl logs --previous ${POD_NAME} ${CONTAINER_NAME}
55 @stoeps Social Connections 14 #kubernetes101
Troubleshooting Pod
Get a shell in a running pod
Depending on the image:
/bin/sh, sh
/bin/bash, bash
/bin/ash, ash (alpine)
# Single container pod
kubectl exec -it shell-demo -- /bin/bash
# Pod with multiple containers
kubectl exec -it my-pod --container main-app -- /bin/bash
56 @stoeps Social Connections 14 #kubernetes101
57 @stoeps Social Connections 14 #kubernetes101
+49 173 8588719
christophstoettner
 

 christoph.stoettner@panagenda.com
 linkedin.com/in/christophstoettner
 stoeps.de

 @stoeps

More Related Content

What's hot

Zero downtime-java-deployments-with-docker-and-kubernetes
Zero downtime-java-deployments-with-docker-and-kubernetesZero downtime-java-deployments-with-docker-and-kubernetes
Zero downtime-java-deployments-with-docker-and-kubernetes
Arjan Schaaf
 
Enabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via KubernetesEnabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via Kubernetes
mountpoint.io
 
Building Portable Applications with Kubernetes
Building Portable Applications with KubernetesBuilding Portable Applications with Kubernetes
Building Portable Applications with Kubernetes
Kublr
 
Helm - Package Manager for Kubernetes
Helm - Package Manager for KubernetesHelm - Package Manager for Kubernetes
Helm - Package Manager for Kubernetes
Knoldus Inc.
 
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + KubernetesMongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB
 
Kubernetes stack reliability
Kubernetes stack reliabilityKubernetes stack reliability
Kubernetes stack reliability
Oleg Chunikhin
 
Openstack days sv building highly available services using kubernetes (preso)
Openstack days sv   building highly available services using kubernetes (preso)Openstack days sv   building highly available services using kubernetes (preso)
Openstack days sv building highly available services using kubernetes (preso)
Allan Naim
 
Kubernetes basics and hands on exercise
Kubernetes basics and hands on exerciseKubernetes basics and hands on exercise
Kubernetes basics and hands on exercise
Cloud Technology Experts
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discovery
Docker, Inc.
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
Stefan Schimanski
 
The top 5 Kubernetes metrics to monitor
The top 5 Kubernetes metrics to monitorThe top 5 Kubernetes metrics to monitor
The top 5 Kubernetes metrics to monitor
Sysdig
 
Vault - Enhancement for K8S secret security
Vault - Enhancement for K8S secret securityVault - Enhancement for K8S secret security
Vault - Enhancement for K8S secret security
Huynh Thai Bao
 
Kubernetes and Istio
Kubernetes and IstioKubernetes and Istio
Kubernetes and Istio
Ketan Gote
 
Kubernetes 101 VMworld 2019 workshop slides
Kubernetes 101 VMworld 2019 workshop slidesKubernetes 101 VMworld 2019 workshop slides
Kubernetes 101 VMworld 2019 workshop slides
Simone Morellato
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
Mario-Leander Reimer
 
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeAcademy
 
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Edureka!
 
Container orchestration from theory to practice
Container orchestration from theory to practiceContainer orchestration from theory to practice
Container orchestration from theory to practice
Docker, Inc.
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Paul Czarkowski
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Stanislav Pogrebnyak
 

What's hot (20)

Zero downtime-java-deployments-with-docker-and-kubernetes
Zero downtime-java-deployments-with-docker-and-kubernetesZero downtime-java-deployments-with-docker-and-kubernetes
Zero downtime-java-deployments-with-docker-and-kubernetes
 
Enabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via KubernetesEnabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via Kubernetes
 
Building Portable Applications with Kubernetes
Building Portable Applications with KubernetesBuilding Portable Applications with Kubernetes
Building Portable Applications with Kubernetes
 
Helm - Package Manager for Kubernetes
Helm - Package Manager for KubernetesHelm - Package Manager for Kubernetes
Helm - Package Manager for Kubernetes
 
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + KubernetesMongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
 
Kubernetes stack reliability
Kubernetes stack reliabilityKubernetes stack reliability
Kubernetes stack reliability
 
Openstack days sv building highly available services using kubernetes (preso)
Openstack days sv   building highly available services using kubernetes (preso)Openstack days sv   building highly available services using kubernetes (preso)
Openstack days sv building highly available services using kubernetes (preso)
 
Kubernetes basics and hands on exercise
Kubernetes basics and hands on exerciseKubernetes basics and hands on exercise
Kubernetes basics and hands on exercise
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discovery
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
 
The top 5 Kubernetes metrics to monitor
The top 5 Kubernetes metrics to monitorThe top 5 Kubernetes metrics to monitor
The top 5 Kubernetes metrics to monitor
 
Vault - Enhancement for K8S secret security
Vault - Enhancement for K8S secret securityVault - Enhancement for K8S secret security
Vault - Enhancement for K8S secret security
 
Kubernetes and Istio
Kubernetes and IstioKubernetes and Istio
Kubernetes and Istio
 
Kubernetes 101 VMworld 2019 workshop slides
Kubernetes 101 VMworld 2019 workshop slidesKubernetes 101 VMworld 2019 workshop slides
Kubernetes 101 VMworld 2019 workshop slides
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
 
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
 
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
 
Container orchestration from theory to practice
Container orchestration from theory to practiceContainer orchestration from theory to practice
Container orchestration from theory to practice
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 

Similar to Social Connections 14 - Kubernetes Basics for Connections Admins

Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of Containers
Kel Cecil
 
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Codemotion
 
kubernetes for beginners
kubernetes for beginnerskubernetes for beginners
kubernetes for beginners
Dominique Dumont
 
Networking in Kubernetes
Networking in KubernetesNetworking in Kubernetes
Networking in Kubernetes
Minhan Xia
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
CJ Cullen
 
Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutes
Larry Cai
 
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes MeetupMetal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Laure Vergeron
 
4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel 4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel
Red Hat Developers
 
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipelineKubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
KubeAcademy
 
Production sec ops with kubernetes in docker
Production sec ops with kubernetes in dockerProduction sec ops with kubernetes in docker
Production sec ops with kubernetes in docker
Docker, Inc.
 
Kubernetes
KubernetesKubernetes
Kubernetes
Meng-Ze Lee
 
Deploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and HelmDeploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and Helm
Jessica Deen
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
 
Kubernetes day 2 Operations
Kubernetes day 2 OperationsKubernetes day 2 Operations
Kubernetes day 2 Operations
Paul Czarkowski
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)
佑介 九岡
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
Satnam Singh
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
Akihiro Suda
 
DCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container Networking
Docker, Inc.
 
Effective Platform Building with Kubernetes. Is K8S new Linux?
Effective Platform Building with Kubernetes. Is K8S new Linux?Effective Platform Building with Kubernetes. Is K8S new Linux?
Effective Platform Building with Kubernetes. Is K8S new Linux?
Wojciech Barczyński
 
Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...
Boden Russell
 

Similar to Social Connections 14 - Kubernetes Basics for Connections Admins (20)

Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of Containers
 
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
 
kubernetes for beginners
kubernetes for beginnerskubernetes for beginners
kubernetes for beginners
 
Networking in Kubernetes
Networking in KubernetesNetworking in Kubernetes
Networking in Kubernetes
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutes
 
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes MeetupMetal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
 
4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel 4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel
 
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipelineKubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
 
Production sec ops with kubernetes in docker
Production sec ops with kubernetes in dockerProduction sec ops with kubernetes in docker
Production sec ops with kubernetes in docker
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Deploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and HelmDeploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and Helm
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
Kubernetes day 2 Operations
Kubernetes day 2 OperationsKubernetes day 2 Operations
Kubernetes day 2 Operations
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
DCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container Networking
 
Effective Platform Building with Kubernetes. Is K8S new Linux?
Effective Platform Building with Kubernetes. Is K8S new Linux?Effective Platform Building with Kubernetes. Is K8S new Linux?
Effective Platform Building with Kubernetes. Is K8S new Linux?
 
Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...
 

More from panagenda

Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
panagenda
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
De05_panagenda_Prepare-Applications-for-64-bit-Clients.pdf
De05_panagenda_Prepare-Applications-for-64-bit-Clients.pdfDe05_panagenda_Prepare-Applications-for-64-bit-Clients.pdf
De05_panagenda_Prepare-Applications-for-64-bit-Clients.pdf
panagenda
 
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
panagenda
 
Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...
Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...
Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...
panagenda
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
panagenda
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
panagenda
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
panagenda
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
panagenda
 
Why you need monitoring to keep your Microsoft 365 journey successful
Why you need monitoring to keep your Microsoft 365 journey successfulWhy you need monitoring to keep your Microsoft 365 journey successful
Why you need monitoring to keep your Microsoft 365 journey successful
panagenda
 
Developer Special: How to Prepare Applications for Notes 64-bit Clients
Developer Special: How to Prepare Applications for Notes 64-bit ClientsDeveloper Special: How to Prepare Applications for Notes 64-bit Clients
Developer Special: How to Prepare Applications for Notes 64-bit Clients
panagenda
 
Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14
panagenda
 
Alles was Sie über HCL Notes 14 wissen müssen
Alles was Sie über HCL Notes 14 wissen müssenAlles was Sie über HCL Notes 14 wissen müssen
Alles was Sie über HCL Notes 14 wissen müssen
panagenda
 
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis ZWorkshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
panagenda
 
How to Perform HCL Notes 14 Upgrades Smoothly
How to Perform HCL Notes 14 Upgrades SmoothlyHow to Perform HCL Notes 14 Upgrades Smoothly
How to Perform HCL Notes 14 Upgrades Smoothly
panagenda
 
The Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad WebThe Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad Web
panagenda
 
Die ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web AdministratorenDie ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web Administratoren
panagenda
 
Bring the Modern and Seamless User Experience You Deserve to HCL Nomad
Bring the Modern and Seamless User Experience You Deserve to HCL NomadBring the Modern and Seamless User Experience You Deserve to HCL Nomad
Bring the Modern and Seamless User Experience You Deserve to HCL Nomad
panagenda
 
Wie man HCL Nomad eine moderne User Experience verschafft
Wie man HCL Nomad eine moderne User Experience verschafftWie man HCL Nomad eine moderne User Experience verschafft
Wie man HCL Nomad eine moderne User Experience verschafft
panagenda
 

More from panagenda (20)

Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
De05_panagenda_Prepare-Applications-for-64-bit-Clients.pdf
De05_panagenda_Prepare-Applications-for-64-bit-Clients.pdfDe05_panagenda_Prepare-Applications-for-64-bit-Clients.pdf
De05_panagenda_Prepare-Applications-for-64-bit-Clients.pdf
 
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
 
Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...
Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...
Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Why you need monitoring to keep your Microsoft 365 journey successful
Why you need monitoring to keep your Microsoft 365 journey successfulWhy you need monitoring to keep your Microsoft 365 journey successful
Why you need monitoring to keep your Microsoft 365 journey successful
 
Developer Special: How to Prepare Applications for Notes 64-bit Clients
Developer Special: How to Prepare Applications for Notes 64-bit ClientsDeveloper Special: How to Prepare Applications for Notes 64-bit Clients
Developer Special: How to Prepare Applications for Notes 64-bit Clients
 
Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14
 
Alles was Sie über HCL Notes 14 wissen müssen
Alles was Sie über HCL Notes 14 wissen müssenAlles was Sie über HCL Notes 14 wissen müssen
Alles was Sie über HCL Notes 14 wissen müssen
 
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis ZWorkshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
 
How to Perform HCL Notes 14 Upgrades Smoothly
How to Perform HCL Notes 14 Upgrades SmoothlyHow to Perform HCL Notes 14 Upgrades Smoothly
How to Perform HCL Notes 14 Upgrades Smoothly
 
The Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad WebThe Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad Web
 
Die ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web AdministratorenDie ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web Administratoren
 
Bring the Modern and Seamless User Experience You Deserve to HCL Nomad
Bring the Modern and Seamless User Experience You Deserve to HCL NomadBring the Modern and Seamless User Experience You Deserve to HCL Nomad
Bring the Modern and Seamless User Experience You Deserve to HCL Nomad
 
Wie man HCL Nomad eine moderne User Experience verschafft
Wie man HCL Nomad eine moderne User Experience verschafftWie man HCL Nomad eine moderne User Experience verschafft
Wie man HCL Nomad eine moderne User Experience verschafft
 

Recently uploaded

20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

Social Connections 14 - Kubernetes Basics for Connections Admins

  • 1. 1 @stoeps Social Connections 14 #kubernetes101 Kubernetes Basics for Connections Admins Christoph Stoettner +49 173 8588719 christoph.stoettner@panagenda.com
  • 2. 2 @stoeps Social Connections 14 #kubernetes101
  • 3. 3 @stoeps Social Connections 14 #kubernetes101 +49 173 8588719 christophstoettner Christoph Stoettner Senior Consultant at IBM Domino since 1999 IBM Connections since 2009 Experience in Migrations, Deployments Performance Analysis Focusing in Monitoring, Security panagenda ConnectionsExpert   christoph.stoettner@panagenda.com  linkedin.com/in/christophstoettner  stoeps.de   @stoeps panagenda
  • 4. 4 @stoeps Social Connections 14 #kubernetes101 Agenda History Kubernetes Infrastructure kubectl
  • 5. 5 @stoeps Social Connections 14 #kubernetes101 Why do we talk about Kubernetes? TPFKAP The Product Formerly Known As Pink First rumours end 2016 Announced during Think 2017 (February 2017) in San Francisco Migration of the monolithic WebSphere stack of IBM Connections Lots of advantages Zero Downtime updates More frequent updates (Continous Delivery) Moving away from Java (expensive Developers) Drop the support of three different Database engines 
  • 6. 6 @stoeps Social Connections 14 #kubernetes101 History - Borg System 2003 / 2004 First unified container-management system Developed at Google Based on Linux control groups (cgroups) Container support in the Linux kernel became available Google contributed much of this code to the kernel Isolation between latency-sensitive user-facing services and CPU-hungry batch processes 
  • 7. 7 @stoeps Social Connections 14 #kubernetes101 History - Omega 2013 Offspring of Borg Improve the software engineering of the Borg ecosystem Built from ground up more consistent, principled architecture Seperate components which acted as peers Multiple schedulers No funneling through centralized master
  • 8. 8 @stoeps Social Connections 14 #kubernetes101 History Kubernetes June 2014 Third container management system developed at Google Conceived and developed when external developers became interested in Linux containers Google released the code as Opensource to the Cloud Native Computing Foundation (CNCF) Around six weeks after the release: Microsoft, IBM, Red Hat and Docker joined the Community https://cloudplatform.googleblog.com/2014/07/welcome-microsoft- redhat-ibm-docker-and-more-to-the-kubernetes-community.html
  • 9. 9 @stoeps Social Connections 14 #kubernetes101 Overview
  • 10. 10 @stoeps Social Connections 14 #kubernetes101 Dynamic Timeframe
  • 11. 11 @stoeps Social Connections 14 #kubernetes101 Kubernetes
  • 12. 12 @stoeps Social Connections 14 #kubernetes101 Kubernetes Architecture
  • 13. 13 @stoeps Social Connections 14 #kubernetes101 Linux Kernel Namespaces lightweight process virtualization Isolation: enable a process to have different views of the system than other processes Much like Zones in Solaris No hypervisor layer! cgroups (control groups) Resource Management providing a generic process-grouping framework Cgroups is not dependent upon namespaces.
  • 14. 14 @stoeps Social Connections 14 #kubernetes101 Container A container is a Linux userspace process LXC (Linux Containers) Operating System Level virtualization Docker Linux container engine Initially written in Python, later in Go Released by dotCloud 2013 Docker < 0.9 used LXC to create and manage containers
  • 15. 15 @stoeps Social Connections 14 #kubernetes101 Pods Pods are the smallest unit in Kubernetes Have a relatively short life-span Born, and destroyed They are never healed system heals itself by creating new Pods by terminating those that are unhealthy system is long-living Pods are not 
  • 16. 16 @stoeps Social Connections 14 #kubernetes101 YAML with VIM .vimrc set cursorline " highlight current line hi CursorLine cterm=NONE ctermbg=235 ctermfg=NONE guifg=gray guibg=black set cursorcolumn " vertical cursor line hi CursorColumn ctermfg=NONE ctermbg=235 cterm=NONE guifg=gray guibg=black gui=bold
  • 17. 17 @stoeps Social Connections 14 #kubernetes101 YAML → or use a ruler
  • 18. 18 @stoeps Social Connections 14 #kubernetes101 Simple Pods Run a simple pod Quick and dirty! Deprecated! kubectl run db --image mongo 
  • 19. 19 @stoeps Social Connections 14 #kubernetes101 Simple Pod - what happend? Kubernetes automatically creates ReplicaSet Deployment
  • 20. 20 @stoeps Social Connections 14 #kubernetes101 Create a pod with a yaml file nginx.yaml apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 $ kubectl create -f nginx.yaml $ kubectl get all -o wide NAME READY STATUS RESTARTS AGE IP NODE pod/nginx 1/1 Running 0 4m 10.42.1.13 rancher2
  • 21. 21 @stoeps Social Connections 14 #kubernetes101 Overview creating pod kubectl create pod -f pod.yml
  • 22. 22 @stoeps Social Connections 14 #kubernetes101 Liveness Check 1 Check path - example with non existend path 2 Wait 5 seconds before performing the first probe 3 Timeout (no answer for 2 seconds → error) 4 Liveness check all 5 seconds 5 Kubernetes tries n times before giving up ... - containerPort: 80 env: - name: nginx value: localhost livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: 5 timeoutSeconds: 2 periodSeconds: 5 failureThreshold: 1 1 2 3 4 5
  • 23. 23 @stoeps Social Connections 14 #kubernetes101 Automatic restart 0:00
  • 24. 24 @stoeps Social Connections 14 #kubernetes101 Check Events $ kubectl describe nginx-broken
  • 25. 25 @stoeps Social Connections 14 #kubernetes101 Pods vs Container Pod is smallest deployment in Kubernetes A pod contains minimum one container (Docker or RKT) Can contain multiple containers Not very common Most pods have one container Easier to scale A pod runs on one node and shares resources
  • 26. 26 @stoeps Social Connections 14 #kubernetes101 ReplicaSet as a self-healing mechanism Pods associated with a ReplicaSet are guaranteed to run ReplicaSet’s primary function is to ensure that the specified number of replicas of a service are (almost) always running. ReplicaSet 
  • 27. 27 @stoeps Social Connections 14 #kubernetes101 ReplicaSet (2) 1 --record saves history 2 --save-config enables the use of kubectl apply, so we can change the ReplicaSet $ kubectl create -f nginx-rs.yaml --record --save-config $ kubectl get pods NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE pod/webserver-79r7j 1/1 Running 0 15m 10.42.3.15 rancher3 <none> pod/webserver-dg5bp 1/1 Running 0 15m 10.42.2.11 rancher4 <none> pod/webserver-rmkgx 1/1 Running 0 15m 10.42.1.14 rancher2 <none> NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR replicaset.apps/webserver 3 3 3 15m nginx nginx:1.7.9 service=nginx,type=backen 1 2
  • 28. 28 @stoeps Social Connections 14 #kubernetes101 ReplicaSet Scale Change Replicas to 9 Apply file ... spec: replicas: 9 $ kubectl apply -f nginx-rs-scaled.yaml NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE pod/webserver-bw259 1/1 Running 0 5m 10.42.1.15 rancher2 <none> pod/webserver-frcr7 1/1 Running 0 4m 10.42.1.16 rancher2 <none> pod/webserver-g6zqd 1/1 Running 0 5m 10.42.2.12 rancher4 <none> ... pod/webserver-p6k7f 1/1 Running 0 4m 10.42.2.13 rancher4 <none> pod/webserver-wjwfd 1/1 Running 0 5m 10.42.3.16 rancher3 <none> NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR replicaset.apps/webserver 9 9 9 5m nginx nginx:1.7.9 service=nginx
  • 29. 29 @stoeps Social Connections 14 #kubernetes101 Not supposed to create Pods directly or with ReplicaSet Use Deployments instead nginx-deploy.yaml Deployment $ kubectl create -f nginx-deploy.yaml --record $ kubectl get all NAME READY STATUS RESTARTS AGE pod/nginx-54f7d7ffcd-wzjnf 1/1 Running 0 1m NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE deployment.apps/nginx 1 1 1 1 1m NAME DESIRED CURRENT READY AGE replicaset.apps/nginx-54f7d7ffcd 1 1 1 1m apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: selector: matchLabels: type: backend service: nginx template: metadata: labels: type: backend service: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 protocol: TCP
  • 30. 30 @stoeps Social Connections 14 #kubernetes101 Scale, Rollout and Undo $ kubectl create -f nginx-deploy.yaml --record $ kubectl apply -f nginx-deploy-scaled.yaml $ kubectl scale deployment nginx --replicas 9 --record $ kubectl scale deployment nginx --replicas 5 --record $ kubectl rollout history -f nginx-deploy.yaml $ kubectl set image -f nginx-deploy-scaled.yaml nginx=nginx:1.8.1 --record $ kubectl rollout history -f nginx-deploy.yaml $ kubectl rollout undo -f nginx-deploy-scaled.yaml --to-revision=1 0:00
  • 31. 31 @stoeps Social Connections 14 #kubernetes101 Kubernetes Networking model all containers can communicate with all containers without NAT all nodes can communitcate with all containers without NAT the IP that a container sees itself as the same IP that others see it this is provided through overlay network providers like Flannel (Overlay network provider) Calico (secure L3 networking and network policy provider) Canal (unites Flannel and Calico) Exposed ports are accessible from all containers/pods.
  • 32. 32 @stoeps Social Connections 14 #kubernetes101 Istio service mesh microservices secure connect monitor Automatic load balancing for HTTP, WebSocket and TCP traffic Fine grained traffic control Policy layer Secure service-to-service communitcation in a cluster
  • 33. 33 @stoeps Social Connections 14 #kubernetes101 Services Kubernetes Services provide addresses through which associated Pods can be accessed Services are resolved by kube-proxy 1 NodePort: available within the cluster and from outside on each node 2 explicit port, without Kubernetes creates a random one apiVersion: v1 kind: Service metadata: name: nginx spec: type: NodePort ports: - port: 80 nodePort: 30001 protocol: TCP selector: service: nginx 1 2
  • 34. 34 @stoeps Social Connections 14 #kubernetes101 NodePort Port is exposed on each Node’s IP at a static port A ClusterIP service is automatically created No need that the pod is running on the node! Our nginx pod is only running on of the the three worker nodes Check if all workers deliver the webpage  $ kubectl scale deployment nginx --replicas 1 --record for i in 2 3 4 do curl -s http://rancher$i.stoepslab.local | grep title done <title>Welcome to nginx!</title> <title>Welcome to nginx!</title> <title>Welcome to nginx!</title>
  • 35. 35 @stoeps Social Connections 14 #kubernetes101 ClusterIP Exposes the service on a cluster-internal IP makes the service only reachable from within the cluster default ServiceType
  • 36. 36 @stoeps Social Connections 14 #kubernetes101 Ingress Route requests to services, based on request host path apiVersion: extensions/v1beta1 kind: Ingress metadata: name: my-ingress spec: rules: - host: www.stoepslab.local http: paths: - backend: serviceName: nginx servicePort: 80
  • 37. 37 @stoeps Social Connections 14 #kubernetes101 Working Ingress After adding the hostname to DNS or /etc/hosts
  • 38. 38 @stoeps Social Connections 14 #kubernetes101 Storage / Volumes Docker knows a concept of volumes More complicated on Kubernetes Different nodes need to have access to them Network storage Kubernetes knows a lot of different storage types Examples: local, iscsi, glusterfs, hostPath, nfs configmap, secret different cloud providers (aws, gce …) https://kubernetes.io/docs/concepts/storage/volumes/
  • 39. 39 @stoeps Social Connections 14 #kubernetes101 Persistent Volume Persistent Volume (PV) piece of storage in the cluster provisioned by an administrator PersistentVolumeClaim (PVC) request for storage by an user (size and access mode) PVC consume PV resources PV have different properties performance, backup, size Cluster Admins need to be able to offer a variety of PersistentVolumes 
  • 40. 40 @stoeps Social Connections 14 #kubernetes101 StorageClass StorageClass: a way to describe the classes of storage different classes for quality-of-service levels backup policies Reclaim Policy Delete or Retain Some storage classes auto provision PersistentVolumes Heketi/Glusterfs, Rancher/Longhorn NFS on one of your K8s nodes → single point of failure
  • 41. 41 @stoeps Social Connections 14 #kubernetes101 ConfigMaps decouple configuration artifacts from image content keep containerized applications portable Configmaps can contain folder/files (mainly for config/properties) kubectl create configmap nginx-soccnx --from-file=html spec: containers: - name: nginx image: nginx:1.7.9 volumeMounts: - name: nginx-soccnx mountPath: /usr/share/nginx/html volumes: - name: nginx-soccnx configMap: name: nginx-soccnx
  • 42. 42 @stoeps Social Connections 14 #kubernetes101 ConfigMaps (2) Value pairs apiVersion: v1 kind: ConfigMap metadata: name: special-config namespace: default data: SPECIAL_LEVEL: very SPECIAL_TYPE: charm spec: containers: - name: nginx-soccnx image: alpine:latest command: [ "/bin/sh", "-c", "env" ] envFrom: - configMapRef: name: special-config
  • 43. 43 @stoeps Social Connections 14 #kubernetes101 ConfigMaps results index.html in a configMap kubectl logs nginx-soccnx https://www.stoepslab.local ... PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 SPECIAL_LEVEL=very SPECIAL_TYPE=charm
  • 44. 44 @stoeps Social Connections 14 #kubernetes101 Secrets object that contains a small amount of sensitive data reduces risk of accidental exposure Secrets are base64 encoded password.txt $ kubectl create secret generic db-user-pass --from-literal=username=dbadmin --from-literal=password=MyGreatPassword secret 'db-user-pass' created $ kubectl create secret generic db-user-env --from-env-file=password.txt username=dbadmin password=myGreatPassword
  • 45. 45 @stoeps Social Connections 14 #kubernetes101 Get secrets Mount secret into pod ➜ kubectl get secret db-user-env -o yaml apiVersion: v1 data: password: TXlHcmVhdFBhc3N3b3Jk username: ZGJhZG1pbg== kind: Secret ➜ kubectl get secret db-user-env -o jsonpath="{.data.password}" | base64 --decode MyGreatPassword% volumes: - name: db-creds secret: secretName: db-user-env defaultMode: 0444 items: - key: username path: username - key: password path: password
  • 46. 46 @stoeps Social Connections 14 #kubernetes101 Secrets compared with ConfigMaps Both allow to inject content into pods files literal values files with environment variables Secrets creates files in tmpfs → in memory files A step towards security, but should be combined with authorization policies 3rd party tool: Any user with permission to run pod can mount a secret. Hashicorp Vault 
  • 47. 47 @stoeps Social Connections 14 #kubernetes101 Namespaces Namespaces are a way to devide cluster resources between multiple users Namespaces provide a scope for names Names of resources need to be unique within a namespace It’s not necessary to use multiple namespaces just to seperate different resources use labels to distinguish resources within the same namespace When you delete a namespace, all objects in the namespace are deleted too! 
  • 48. 48 @stoeps Social Connections 14 #kubernetes101 Namespace and kube-dns You can reuse pod and service names in different namespaces kube-dns uses podname.namespace then Example Namespaces are no extra security layer! Pods can connect to services and pods in other namespaces $ kubectl exec -it <pod> -- sh curl http://nginx.texting:8080 curl http://nginx.production:8080
  • 49. 49 @stoeps Social Connections 14 #kubernetes101 kubectl config When you use kubectl you have to add -n namespace or --all-namespaces (works only with get) During configuration phases it’s easier to switch the default namespace Very handy if you use different clusters too $ kubectl create namespace soccnx $ kubectl config set-context soccnx --namespace soccnx --cluster rancher-cluster --user admin $ kubectl config view $ kubectl config use-context soccnx
  • 50. 50 @stoeps Social Connections 14 #kubernetes101 Install additional products
  • 51. 51 @stoeps Social Connections 14 #kubernetes101 Helm Kubernetes Package Manager manage Kubernetes charts Charts are packages of pre-configured Kubernetes resources Main tasks Find and use popular software packaged as Helm charts Share your own applications as Helm charts Create reproducible builds of your Kubernetes applications Manage releases of Helm packages 2 parts client (helm) server (tiller)
  • 52. 52 @stoeps Social Connections 14 #kubernetes101 Examples Install a Docker registry Use ELK or EFK Stack for your logfiles GUI within IBM Cloud Private or Rancher ➜ helm search elastic ➜ helm install stable/kibana
  • 53. 53 @stoeps Social Connections 14 #kubernetes101 Troubleshooting
  • 54. 54 @stoeps Social Connections 14 #kubernetes101 Get log messages kubectl logs <podname> kubectl logs <podname> -f Multiple containers in your pod? Log of a restarted pod kubetail kubectl logs <podname> -c <containername> kubectl logs --previous ${POD_NAME} ${CONTAINER_NAME}
  • 55. 55 @stoeps Social Connections 14 #kubernetes101 Troubleshooting Pod Get a shell in a running pod Depending on the image: /bin/sh, sh /bin/bash, bash /bin/ash, ash (alpine) # Single container pod kubectl exec -it shell-demo -- /bin/bash # Pod with multiple containers kubectl exec -it my-pod --container main-app -- /bin/bash
  • 56. 56 @stoeps Social Connections 14 #kubernetes101
  • 57. 57 @stoeps Social Connections 14 #kubernetes101 +49 173 8588719 christophstoettner     christoph.stoettner@panagenda.com  linkedin.com/in/christophstoettner  stoeps.de   @stoeps