2. Knowledge
● Many concepts in the Kubernetes world
● Docker, Ansible, familiarity helps
● Weeks or months to master
● Start small, do a pilot project
● Document before and during
PUBLICOpenShift Pitfalls - 2019-03-12
3. Single points of failure
● Container orchestration does not mean magically highly-available
● Entire stack must be HA
● Application must be able to handle multiple instances
● Cluster your database
○ Outside of OS/K8S
○ Operators available
● License limits
OpenShift Pitfalls - 2019-03-12 PUBLIC
4. Storage
● Everything stateless microservice
● Dynamic storage provider
○ Depends on infrastructure
● No one size fits all
● Application limits
● Hyper-converged setup
OpenShift Pitfalls - 2019-03-12 PUBLIC
5. ● Not a built-in feature
● Cluster resources (etcd)
● Data
○ Volume snapshots
○ Depends on your storage infrastructure
● Persistent backups of database
OpenShift Pitfalls - 2019-03-12 PUBLIC
Backups
6. Staying up to date
● Internal registry
● Catalog items
● Not automatic by default
● Per tag, per ImageStream
● Avoid ‘latest’ tag
OpenShift Pitfalls - 2019-03-12 PUBLIC
Source: https://xkcd.com/
7. Questions?
Come by our stand (C1874) to talk about:
● OpenShift consultancy
● OpenShift in the Cloud
● OpenShift on-premises
● Or sign up for a free OpenShift trial
Stand visitors can also win their own LEGO
Container Ship! The winner will be announced
tomorrow at 1PM.
OpenShift Pitfalls - 2019-03-12 PUBLIC
@Proteon
alwyn@proteon.com
proteon.com/devops-live-talk
8. References
● Pilot project:
○ minikube for Kubernetes: https://github.com/kubernetes/minikube
○ minishift for OpenShift: https://github.com/minishift/minishift
○ Cloud provider
■ Free OpenShift trial: http://www.proteon.com/openshift-trial/
● Velero (previously Heptio Ark): https://github.com/heptio/velero
● K8s operators: https://github.com/operator-framework/awesome-operators
○ https://github.com/CrunchyData/postgres-operator is known to work well
OpenShift Pitfalls - 2019-03-12 PUBLIC
Editor's Notes
Introduce yourself: Alwyn, function, experience, Proteon
Involve public: who here knows
Do not underestimate. For example Prometheus and Grafana alone can take weeks to master.
Cluster is only as strong as its weakest link
We develop the database cluster expertiseYou can limit cores allocated to a pod by using CPU Manager: request and limit 1:1 core(s)
A lot of options, needs to be planned properly
not feasible to do storage allocation by hand
application limits on storage backend (elastic -> glusterfs)
Namespace separation so users can restore without accessing other’s data
Backup before deploy for e.g. migrations in database
Keep deployments and backups in sync
VMware Velero - Heptio Ark
Kubernetes does not have its own registry by default. OpenShift does.
Existing tags in the catalog are not updated, new tags are not automatically added either
This must be done manually for every tag in every imagestream