diff --git a/docs/databases.md b/docs/databases.md index 0d55a3d1..adf21f0f 100644 --- a/docs/databases.md +++ b/docs/databases.md @@ -44,6 +44,7 @@ - [PostgreSQL](#postgresql) - [Percona MySQL](#percona-mysql) - [Percona PostgreSQL Operator](#percona-postgresql-operator) +- [Redis](#redis) - [Rockset](#rockset) - [Clickhouse](#clickhouse) - [Apache Ignite](#apache-ignite) @@ -892,6 +893,9 @@ oc adm policy add-scc-to-user anyuid system:serviceaccount:pgophub:default ## Percona PostgreSQL Operator - [percona.com: Migrating PostgreSQL to Kubernetes](https://www.percona.com/blog/migrating-postgresql-to-kubernetes) +## Redis +- [RedisLabs/redis-enterprise-k8s-docs: Deploying Redis Enterprise on Kubernetes](https://github.com/RedisLabs/redis-enterprise-k8s-docs) This page describes how to deploy Redis Enterprise on Kubernetes using the Redis Enterprise Operator. + ## Rockset - [rockset.com: Sequoia Capital: Why We Moved from Elasticsearch to Rockset](https://rockset.com/blog/sequoia-capital-elasticsearch-to-rockset/) diff --git a/docs/devops.md b/docs/devops.md index 42eb0ffa..e1ff3ae9 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -408,5 +408,9 @@ Resolve your software incidents 10x faster

Working on infrastructure is to keep things boring.

— Jaana Dogan ヤナ ドガン (@rakyll) September 17, 2021

Progress! pic.twitter.com/FB7v3OOdsf

— Richard Campbell (@richcampbell) October 29, 2021
+ +

Automation tools don't reduce cloud complexity, they embrace it.

— Kelsey Hightower (@kelseyhightower) November 16, 2021
+ +

Artem Kobrin from @NTTDATAServices presents their multi-stage blue-green deployments with @keptnProject and @argoproj in #Kubernetes. Nice pipelines😍 #keptnUserGroup pic.twitter.com/E1eDMoxcDz

— Oleg Nenashev (@oleg_nenashev) November 16, 2021
\ No newline at end of file diff --git a/docs/iac.md b/docs/iac.md index c4ed3a8f..28d61716 100644 --- a/docs/iac.md +++ b/docs/iac.md @@ -14,4 +14,5 @@ - [redhat.com: Pull vs. push in automated VM provisioning: What you need to know](https://www.redhat.com/architect/pull-push-provisioning-cicd) Understanding the different techniques for provisioning virtual machines in the CI/CD process is essential for enterprise architects planning deployment automation into their designs. - [itnext.io: Platform-as-Code: how it relates to Infrastructure-as-Code and what it enables](https://itnext.io/platform-as-code-how-it-compares-with-infrastructure-as-code-and-what-it-enables-2684b348be2e) - [dzone.com: How to Start an Infrastructure as Code Project 🌟](https://dzone.com/articles/how-to-start-an-infrastructure-as-code-project) Learn the best practices to properly start an infrastructure as code project, from the source code to collaboration exercises and tools. -- [daffodilsw.medium.com: What is Infrastructure Automation in DevOps?](https://daffodilsw.medium.com/what-is-infrastructure-automation-in-devops-d9681870b07d) \ No newline at end of file +- [daffodilsw.medium.com: What is Infrastructure Automation in DevOps?](https://daffodilsw.medium.com/what-is-infrastructure-automation-in-devops-d9681870b07d) +- [thenewstack.io: IaC Cloud Misconfiguration Tools too Noisy without Context](https://thenewstack.io/iac-cloud-misconfiguration-tools-too-noisy-without-context/) \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 249ebb59..86679dc9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -143,7 +143,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [Client Libraries for Kubernetes: Go client, Python, Fabric8, JKube & Java Operator SDK](kubernetes-client-libraries.md) - [Flux. The GitOps operator for Kubernetes](flux.md) - [Helm Kubernetes Tool](helm.md) -- [Liquibase and Flyway](liquibase.md) +- [Database Version Control. Liquibase, Flyway and PlanetScale](liquibase.md) - [redhat-cop: Openshift Applier](https://dzone.com/articles/gitops-with-openshift-applier) - [StackStorm](stackstorm.md) - [Template-Free Kubernetes Configuration Customization with Kustomize](kustomize.md) diff --git a/docs/kubernetes-backup-migrations.md b/docs/kubernetes-backup-migrations.md index b2bff302..2df67ace 100644 --- a/docs/kubernetes-backup-migrations.md +++ b/docs/kubernetes-backup-migrations.md @@ -7,6 +7,8 @@ - [Backup with Portworx PX-Backup](#backup-with-portworx-px-backup) - [Backup for GKE](#backup-for-gke) - [Konveyor Open Source Migration Tool for Kubernetes](#konveyor-open-source-migration-tool-for-kubernetes) +- [Slides](#slides) +- [Videos](#videos) ## Introduction * [kube-backup: Kubernetes resource state sync to git](https://github.com/pieterlange/kube-backup) @@ -75,3 +77,31 @@ - [github.com/konveyor/crane: Crane 2.0 🌟](https://github.com/konveyor/crane) Crane 2, a tool for rehosting cloud workloads for Kubernetes. - [youtube: Crane 2 Preview: Introduction and Demo](https://www.youtube.com/watch?v=esIZS7PVrvs&ab_channel=Konveyor) Migrating workloads across clusters, from one k8s distro to another, will be the focus of open-source tool Crane 2.0. (A tool that's part of the Konveyor community.) - [kubebyexample.com: Migrating to Kubernetes with Open Source Tools (Konveyor, Tackle, KubeVirt, Forklift) 🌟](https://kubebyexample.com/en/community/blog/migrating-to-kubernetes-with-open-source-tools) **KubeByExample's newest learning path applies open source tools to help you rehost, replatform, and refractor your applications to Kubernetes.** +- [slideshare.net: Migrating Java JBoss EAP Applications to Kubernetes With S2I](https://www.slideshare.net/KonveyorIO/migrating-java-jboss-eap-applications-to-kubernetes-with-s2i) + - Despite the incredible pace of adoption of container orchestration platforms, the vast majority of EAP workloads are still running on VMs or bare metal. In a lot of cases enterprise operation teams are mandated to modernize and move these workloads to the cloud, and containerization and migration to Kubernetes is the natural destination. When talking about this migration path, we're often asked questions like: + - What's involved? + - How easy is it to move these workloads? + - How can you be sure of no code changes? + - What tools are there to assist with this effort? + - What are the benefits of moving workloads to Kubernetes? + - In this meetup, Philip Hayes, Runtimes Practice Lead at Red Hat, will provide answers to these questions and also include a step-by-step guide to migrating an EAP 7 application to Kubernetes. + - [youtube: Migrating JBoss EAP Applications to Kubernetes with Source-to-Image (S2I)](https://www.youtube.com/watch?v=9hDdg_Beui4&ab_channel=Konveyor) + +## Slides +
+ Click to expand! + +
+
Migrating Java JBoss EAP Applications to Kubernetes With S2I from Konveyor Community
+
+
+ +## Videos +
+ Click to expand! + +
+ +
+
+ diff --git a/docs/kubernetes-operators-controllers.md b/docs/kubernetes-operators-controllers.md index deb6a92f..1043b01b 100644 --- a/docs/kubernetes-operators-controllers.md +++ b/docs/kubernetes-operators-controllers.md @@ -1,5 +1,6 @@ # Kubernetes Operators and Controllers - [Introduction](#introduction) +- [operatorhub.io](#operatorhubio) - [Operator Capability Levels](#operator-capability-levels) - [Cluster Addons](#cluster-addons) - [K8Spin Operator. Kubernetes multi-tenant operator](#k8spin-operator-kubernetes-multi-tenant-operator) @@ -66,6 +67,9 @@ - [pravega/pravega-operator](https://github.com/pravega/pravega-operator) Pravega Kubernetes Operator. Pravega is an open source distributed storage service implementing Streams. It offers Stream as the main primitive for the foundation of reliable storage systems: a high-performance, durable, elastic, and unlimited append-only byte stream with strict ordering and consistency. The Pravega Operator manages Pravega clusters deployed to Kubernetes and automates tasks related to operating a Pravega cluster.The operator itself is built with the Operator framework. - [Quentin-M/etcd-cloud-operator](https://github.com/Quentin-M/etcd-cloud-operator) Deploying and managing production-grade etcd clusters on cloud providers: failure recovery, disaster recovery, backups and resizing. +## operatorhub.io +* [operatorhub.io](https://operatorhub.io/) OperatorHub.io is a new home for the Kubernetes community to share Operators. Find an existing Operator or list your own today. + ## Operator Capability Levels - [Operator Capability Levels](https://operatorframework.io/operator-capabilities/) Operators come in different maturity levels in regards to their lifecycle management capabilities for the application or workload they deliver. The capability models aims to provide guidance in terminology to express what features users can expect from an Operator. diff --git a/docs/kubernetes-storage.md b/docs/kubernetes-storage.md index d787058d..12cc7a5b 100644 --- a/docs/kubernetes-storage.md +++ b/docs/kubernetes-storage.md @@ -58,6 +58,7 @@ - [developers.redhat.com: How to maximize data storage for microservices and Kubernetes, Part 1: An introduction 🌟](https://developers.redhat.com/articles/2021/08/11/how-maximize-data-storage-microservices-and-kubernetes-part-1-introduction) - [blog.mayadata.io: Kubernetes storage basics: PV, PVC and StorageClass 🌟](https://blog.mayadata.io/kubernetes-storage-basics-pv-pvc-and-storageclass) - [infoworld.com: Kubernetes object storage best practices](https://www.infoworld.com/article/3635148/kubernetes-object-storage-best-practices.html) Like Kubernetes itself, the underlying object storage should be distributed, decoupled, declarative, and immutable. +- [ondat.io: Stateful Apps in Kubernetes are a big deal](https://www.ondat.io/blog/stateful-apps-in-kubernetes-are-a-big-deal) ## Kubernetes Volumes Guide - [matthewpalmer.net: Filesystem vs Volume vs Persistent Volume 🌟](https://matthewpalmer.net/kubernetes-app-developer/articles/kubernetes-volumes-example-nfs-persistent-volume.html) This is a guide that covers: diff --git a/docs/kubernetes-tools.md b/docs/kubernetes-tools.md index f0fed0f6..aace5269 100644 --- a/docs/kubernetes-tools.md +++ b/docs/kubernetes-tools.md @@ -34,6 +34,8 @@ - [VMware Tanzu Octant](#vmware-tanzu-octant) - [Qovery Engine](#qovery-engine) - [mck8s Container orchestrator for multi-cluster Kubernetes](#mck8s-container-orchestrator-for-multi-cluster-kubernetes) +- [Shipwright framework for building container images on Kubernetes](#shipwright-framework-for-building-container-images-on-kubernetes-1) +- [Schiff - Deutsche Telekom Technik's engine for Kubernetes Cluster as a Service](#schiff---deutsche-telekom-techniks-engine-for-kubernetes-cluster-as-a-service) - [Tweets](#tweets) ## Introduction @@ -526,6 +528,18 @@ ## mck8s Container orchestrator for multi-cluster Kubernetes - [moule3053/mck8s](https://github.com/moule3053/mck8s) mck8s, short for multi-cluster Kubernetes, allows you to automate the deployment of multi-cluster applications on multiple Kubernetes clusters by offering enhanced configuration possibilities. The main aim of mck8s is maximizing resource utilization and supporting elasitcity across multiple Kubenetes clusters by providing multiple placement policies, as well as bursting, cloud resource provisioning, autoscaling and de-provisioning capabilities. mck8s builds upon other open-source software such as Kubernetes, Kubernetes Federation, kopf, serf, Cilium, Cluster API, and Prometheus. +## Shipwright framework for building container images on Kubernetes +- [shipwright-io/build: shipwright](https://github.com/shipwright-io/build) A framework for building container images on Kubernetes. +- With Shipwright, developers get a simplified approach for building container images, by defining a minimal YAML that does not require any previous knowledge of containers or container tooling. All you need is your source code in git and access to a container registry. +- Shipwright supports any tool that can build container images in Kubernetes clusters, such as: + - Kaniko + - Cloud Native Buildpacks + - BuildKit + - Buildah + +## Schiff - Deutsche Telekom Technik's engine for Kubernetes Cluster as a Service +- [telekom/das-schiff](https://github.com/telekom/das-schiff) This is home of Das Schiff - Deutsche Telekom Technik's engine for Kubernetes Cluster as a Service (CaaS) in on-premise environment on top of bare-metal servers and VMs. + ## Tweets
Click to expand! diff --git a/docs/kubernetes.md b/docs/kubernetes.md index f6d7c403..da685809 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -527,6 +527,7 @@ * [blog.newrelic.com: Kubernetes Fundamentals, Part 5: Working with Kubernetes Volumes](https://blog.newrelic.com/engineering/how-to-use-kubernetes-volumes/) * [medium: Kubernetes Persistent Volume Explained](https://medium.com/codex/kubernetes-persistent-volume-explained-fb27df29c393) * [giffgaff.io: Resizing StatefulSet Persistent Volumes with zero downtime 🌟](https://www.giffgaff.io/tech/resizing-statefulset-persistent-volumes-with-zero-downtime) +* [kubermatic.com: Keeping the State of Apps 1: Introduction to Volume and volumeMounts](https://www.kubermatic.com/blog/keeping-the-state-of-apps-1-introduction-to-volume-and-volumemounts) In this blog post, you will get a hands-on practice and learn how to provide persistent storage in the form of different volumes to the Pods. #### Kubernetes Namespaces and Multi Tenancy. Self Service Namespaces - [Self-Service Kubernetes Namespaces Are A Game-Changer 🌟](https://loft.sh/blog/self-service-kubernetes-namespaces-are-a-game-changer/) - [qvault.io: How to Restart All Pods in a Kubernetes Namespace](https://qvault.io/2020/10/26/how-to-restart-all-pods-in-a-kubernetes-namespace/) diff --git a/docs/liquibase.md b/docs/liquibase.md index 46eca548..f09edd1e 100644 --- a/docs/liquibase.md +++ b/docs/liquibase.md @@ -1,4 +1,10 @@ ## Evolutionary Database. Database Version Control with Liquibase and Flyway +- [Evolutionary Database. Database Version Control with Liquibase and Flyway](#evolutionary-database-database-version-control-with-liquibase-and-flyway) +- [Evolutionary Database Design](#evolutionary-database-design) +- [Liquibase](#liquibase) +- [Flyway](#flyway) +- [Liquibase vs. Flyway](#liquibase-vs-flyway) +- [PlanetScale](#planetscale) ## Evolutionary Database Design - [martinfowler.com](https://martinfowler.com/articles/evodb.html) @@ -24,3 +30,6 @@ ## Liquibase vs. Flyway - [liquibase.org: Liquibase vs. Flyway](https://www.liquibase.org/liquibase-vs-flyway) - [medium: Database version control — Liquibase versus Flyway](https://medium.com/@ruxijitianu/database-version-control-liquibase-versus-flyway-9872d43ee5a4) + +## PlanetScale +- [docs.planetscale.com: The PlanetScale workflow 🌟](https://docs.planetscale.com/concepts/planetscale-workflow) Use the PlanetScale workflow for branching databases, non-blocking schema changes and more. diff --git a/docs/prometheus.md b/docs/prometheus.md index 50e477c1..85bfacdd 100644 --- a/docs/prometheus.md +++ b/docs/prometheus.md @@ -116,6 +116,10 @@ * [sysdig.com: How to monitor Redis with Prometheus](https://sysdig.com/blog/redis-prometheus/) * [jfrog.com: Don’t let Prometheus Steal your Fire](https://jfrog.com/blog/dont-let-prometheus-steal-your-fire/) **Real world secrets exposed by unsafe defaults** * [itnext.io: Monitoring Spark Streaming on K8s with Prometheus and Grafana](https://itnext.io/monitoring-spark-streaming-on-k8s-with-prometheus-and-grafana-e6d8720c4a02) +* [source.coveo.com: Prometheus at scale](https://source.coveo.com/2021/11/11/prometheus-at-scale/) Check out how Coveo uses Thanos and Prometheus. +* [prometheus.io: Introducing Prometheus Agent Mode, an Efficient and Cloud-Native Way for Metric Forwarding](https://prometheus.io/blog/2021/11/16/agent/) +* [medium.com: Prometheus HA with Thanos Sidecar Or Receiver?](https://medium.com/infracloud-technologies/prometheus-ha-with-thanos-sidecar-or-receiver-2c8d0e585ff1) In this blog post, you will go through the two different approaches for integrating +Thanos Metrics with prometheus in Kubernetes environments. [![prometheus architecture](images/prometheus-architecture.png)](https://github.com/prometheus/prometheus) diff --git a/docs/recruitment.md b/docs/recruitment.md index 7fc04a3e..a275e2b7 100644 --- a/docs/recruitment.md +++ b/docs/recruitment.md @@ -116,7 +116,10 @@

Unpopular opinion: I don’t think being a 10x engineer is a persona. 10xness is specific to projects and what orgs allow you to do. It’s a combination of having authority and skills to execute. It depends on the momentary situation and it’s not always repeatable. https://t.co/xSMY50OouT

— Jaana Dogan at KubeCon ヤナ ドガン (@rakyll) October 10, 2021
+

If you want to get really good job offers on LinkedIn, I suggest the following neat little hack:

Add emojis to your name.

A recruiter who doesn't even take the time to write me personally does not deserve my attention at all. pic.twitter.com/9DpltKSqul

— Oliver Jumpertz (@oliverjumpertz) November 13, 2021
+

Irish and German people offering things pic.twitter.com/AoPgWJpK6L

— Killian Sundermann (@killersundymann) October 7, 2021
+
diff --git a/docs/sre.md b/docs/sre.md index 0b1b85b8..0f9e547d 100644 --- a/docs/sre.md +++ b/docs/sre.md @@ -45,11 +45,11 @@ - [youtube: Viktor Farcic - What is the difference between SRE and DevOps?](https://www.youtube.com/watch?v=jgW4r9FxItI&ab_channel=DevOpsToolkitbyViktorFarcic) - [dzone: Remote server management - Common architectural elements](https://dzone.com/articles/remote-server-management-common-architectural-elem) - [dzone: Upcoming Trends in DevOps and SRE in 2021 🌟](https://dzone.com/articles/upcoming-trends-in-devops-and-sre) DevOps and SRE are domains with rapid growth and frequent innovations. With this blog you can explore the latest trends in DevOps, SRE and stay ahead of the curve. **The following trends are most likely to have a lasting impact in the field of DevOps and SRE:** - - **AIOps and Self-Healing Platforms** - - **Service Meshes** - - **Low-code DevOps** - - **GitOps** - - **DevSecOps** + - **AIOps and Self-Healing Platforms** + - **Service Meshes** + - **Low-code DevOps** + - **GitOps** + - **DevSecOps** - [dzone: SRE vs. DevOps: What are the Differences?](https://dzone.com/articles/sre-vs-devops-what-are-the-differences) SRE and DevOps are closely related concepts with some important distinctions between both, and many businesses can benefit from embracing both of them. - [dev.to: DevOps vs SRE: What's The Difference?](https://dev.to/thenjdevopsguy/devops-vs-sre-what-s-the-difference-560d) - [thenewstack.io: How the SRE Experience Is Changing with Cloud Native 🌟](https://thenewstack.io/how-the-sre-experience-is-changing-with-cloud-native/) **From Firefighting to Prevention for SREs. Empower Developers with Self-Service. Facilitate Developer Autonomy** diff --git a/mkdocs.yml b/mkdocs.yml index e12038d2..b0e4bbb3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -133,7 +133,7 @@ nav: - CI/CD Kubernetes Plugins: cicd-kubernetes-plugins.md - Client Libraries for Kubernetes - Go client, Python, Fabric8, JKube & Java Operator SDK: kubernetes-client-libraries.md - Helm Kubernetes Tool: helm.md - - Liquibase & Flyway: liquibase.md + - Database Version Control. Liquibase, Flyway and PlanetScale: liquibase.md - Template-Free Kubernetes Configuration Customization with Kustomize: kustomize.md - Templating YAML with YAML Processors. Static Checking of Kubernetes YAML Files: yaml.md - Infrastructure Management Tools: