diff --git a/docs/GoogleCloudPlatform.md b/docs/GoogleCloudPlatform.md index e8336b3f..7a2fa084 100644 --- a/docs/GoogleCloudPlatform.md +++ b/docs/GoogleCloudPlatform.md @@ -16,7 +16,7 @@ 14. [Cloud SQL](#cloud-sql) 15. [Apigee](#apigee) 16. [Tools](#tools) - 1. [gcloud](#gcloud) + 1. [gcloud](#gcloud) 17. [Videos](#videos) 18. [Images](#images) 19. [Tweets](#tweets) @@ -113,6 +113,7 @@ - [A hybrid cloud-native DevSecOps pipeline with JFrog Artifactory and GKE on-prem ๐ŸŒŸ](https://cloud.google.com/solutions/partners/a-hybrid-cloud-native-devsecops-pipeline-with-jfrog-artifactory-and-gke-on-prem) Running in a hybrid environment means that some of your processing happens on Google Cloud and other processing remains on-premises. Anthos helps you manage both an on-premises Kubernetes cluster and a cluster running on Google Cloud. - [Bringing Kubernetesโ€™ goodness to Windows Server apps with Anthos](https://cloud.google.com/blog/topics/anthos/windows-server-support-comes-to-anthos-on-prem) Windows container support to GKE on-premises through Anthos. - [cloud.google.com: Anthos makes multi-cloud easier with new API, support for Azure](https://cloud.google.com/blog/products/containers-kubernetes/google-cloud-anthos-multicloud-api-and-gke-on-azure-ga) +- [medium.com/google-cloud: Anthos-at-Home: Spinning Up a Bare-Metal Anthos Cluster on Dumpster Servers](https://medium.com/google-cloud/anthos-at-home-spinning-up-a-bare-metal-anthos-cluster-on-dumpster-servers-5bcef301cfa5) In this article, you will learn the capabilities of Anthos on bare metal and find a detailed guide and explanation on how to do it yourself ## Python @@ -167,6 +168,8 @@
[![gcp persistent disk](images/gcp_disks.jfif)](https://twitter.com/pvergadia) + + [![google cloud devops flow](images/google_cloud_devops_flow.jfif)](https://cloud.google.com/deploy/docs/deploy-app-run)
## Tweets diff --git a/docs/ansible.md b/docs/ansible.md index 326968b3..2a0c70b4 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -1,39 +1,40 @@ # Configuration Management. Ansible 1. [Configuration Management with Ansible DevOps Tool](#configuration-management-with-ansible-devops-tool) -2. [Deploying custom files with Jinja2 templates](#deploying-custom-files-with-jinja2-templates) -3. [Writing an Ansible module](#writing-an-ansible-module) -4. [Interacting with REST API](#interacting-with-rest-api) +2. [Ansible AI](#ansible-ai) +3. [Deploying custom files with Jinja2 templates](#deploying-custom-files-with-jinja2-templates) +4. [Writing an Ansible module](#writing-an-ansible-module) +5. [Interacting with REST API](#interacting-with-rest-api) 1. [Writing an Ansible module for a REST API](#writing-an-ansible-module-for-a-rest-api) -5. [Ansible Videos](#ansible-videos) -6. [Ansible Playbooks](#ansible-playbooks) -7. [Ansible Collections](#ansible-collections) -8. [Red Hat Ansible Automation Platform](#red-hat-ansible-automation-platform) +6. [Ansible Videos](#ansible-videos) +7. [Ansible Playbooks](#ansible-playbooks) +8. [Ansible Collections](#ansible-collections) +9. [Red Hat Ansible Automation Platform](#red-hat-ansible-automation-platform) 1. [Automation services catalog](#automation-services-catalog) 2. [Red Hat Certified Ansible Content Collections](#red-hat-certified-ansible-content-collections) -9. [Ansible Cheat Sheets](#ansible-cheat-sheets) -10. [Running Ansible Playbooks](#running-ansible-playbooks) - 1. [Running Ansible Playbooks From Jenkins](#running-ansible-playbooks-from-jenkins) - 2. [Ansible Tower and Ansible AWX. Running Ansible Playbooks From Ansible Tower](#ansible-tower-and-ansible-awx-running-ansible-playbooks-from-ansible-tower) - 1. [Tower and AWX Installers](#tower-and-awx-installers) - 3. [Alternatives to Ansible Tower](#alternatives-to-ansible-tower) -11. [Ansible Kubernetes Operators](#ansible-kubernetes-operators) -12. [Ansible Molecule. Development and Testing of Ansible Roles](#ansible-molecule-development-and-testing-of-ansible-roles) -13. [Books](#books) -14. [Ansible Galaxy Roles](#ansible-galaxy-roles) -15. [More Ansible Roles](#more-ansible-roles) -16. [Ansible scripts](#ansible-scripts) -17. [Awesome Ansible](#awesome-ansible) -18. [Ansible and Public Cloud Guides](#ansible-and-public-cloud-guides) -19. [Ansible Kubernetes Module](#ansible-kubernetes-module) -20. [NGINX Core Collection for Ansibe](#nginx-core-collection-for-ansibe) -21. [Dynatrace with Ansible](#dynatrace-with-ansible) -22. [SQL Server with Ansible](#sql-server-with-ansible) -23. [OCI Oracle Cloud Infrastructure with Ansible](#oci-oracle-cloud-infrastructure-with-ansible) -24. [Oracle Database with Ansible](#oracle-database-with-ansible) -25. [Ansistrano. Deploying applications with Ansible in Capistrano style](#ansistrano-deploying-applications-with-ansible-in-capistrano-style) -26. [Anacron and Ansible](#anacron-and-ansible) -27. [Videos](#videos) +10. [Ansible Cheat Sheets](#ansible-cheat-sheets) +11. [Running Ansible Playbooks](#running-ansible-playbooks) + 1. [Running Ansible Playbooks From Jenkins](#running-ansible-playbooks-from-jenkins) + 2. [Ansible Tower and Ansible AWX. Running Ansible Playbooks From Ansible Tower](#ansible-tower-and-ansible-awx-running-ansible-playbooks-from-ansible-tower) + 1. [Tower and AWX Installers](#tower-and-awx-installers) + 3. [Alternatives to Ansible Tower](#alternatives-to-ansible-tower) +12. [Ansible Kubernetes Operators](#ansible-kubernetes-operators) +13. [Ansible Molecule. Development and Testing of Ansible Roles](#ansible-molecule-development-and-testing-of-ansible-roles) +14. [Books](#books) +15. [Ansible Galaxy Roles](#ansible-galaxy-roles) +16. [More Ansible Roles](#more-ansible-roles) +17. [Ansible scripts](#ansible-scripts) +18. [Awesome Ansible](#awesome-ansible) +19. [Ansible and Public Cloud Guides](#ansible-and-public-cloud-guides) +20. [Ansible Kubernetes Module](#ansible-kubernetes-module) +21. [NGINX Core Collection for Ansibe](#nginx-core-collection-for-ansibe) +22. [Dynatrace with Ansible](#dynatrace-with-ansible) +23. [SQL Server with Ansible](#sql-server-with-ansible) +24. [OCI Oracle Cloud Infrastructure with Ansible](#oci-oracle-cloud-infrastructure-with-ansible) +25. [Oracle Database with Ansible](#oracle-database-with-ansible) +26. [Ansistrano. Deploying applications with Ansible in Capistrano style](#ansistrano-deploying-applications-with-ansible-in-capistrano-style) +27. [Anacron and Ansible](#anacron-and-ansible) +28. [Videos](#videos) ## Configuration Management with Ansible DevOps Tool @@ -124,6 +125,16 @@ - [==redhat.com: How to write an Ansible plugin to create inventory files==](https://www.redhat.com/sysadmin/ansible-plugin-inventory-files) - [dlford.io: Orchestrate Your Systems with Ansible Playbooks - How to Home Lab Part 10 ๐ŸŒŸ](https://www.dlford.io/ansible-orchestration-how-to-home-lab-part-10/) Ansible is an administrative tool that aims to make server management easier by using declarative and idempotent configuration files. - [learning-devops-tools-with-nandita.blogspot.com: Overview of Ansible and Ansible Playbooks](https://learning-devops-tools-with-nandita.blogspot.com/2022/08/overview-of-ansible-and-ansible.html) +- [blog.learncodeonline.in: Everything about Ansible Variables ๐ŸŒŸ](https://blog.learncodeonline.in/everything-about-ansible-variables) +- [blog.learncodeonline.in: Managing File Operations With Ansible ๐ŸŒŸ](https://blog.learncodeonline.in/managing-file-operations-with-ansible) +- [developers.redhat.com: How to install VMs and Ansible Automation Platform on Mac M1](https://developers.redhat.com/articles/2022/10/25/how-install-vms-and-ansible-automation-platform-mac-m1) +- [devopscube.com: How to Setup Ansible AWS Dynamic Inventory](https://devopscube.com/setup-ansible-aws-dynamic-inventory/) +- [ansible.com: Creating Custom Rules for Ansible Lint](https://www.ansible.com/blog/creating-custom-rules-for-ansible-lint) What's โ€œlinting?โ€ Its objective is to promote proven behaviors, patterns, and practices while avoiding typical traps that can quickly result in errors or make code more difficult to maintain. +- [ansible.com: The Top 10 Ansible Blogs of 2022](https://www.ansible.com/blog/top-10-ansible-blogs-2022) + +## Ansible AI + +- [==ansible.ai==](https://ansible.ai) ## Deploying custom files with Jinja2 templates diff --git a/docs/api.md b/docs/api.md index 30bebc5b..9879a7da 100644 --- a/docs/api.md +++ b/docs/api.md @@ -34,8 +34,9 @@ 15. [Related](#related) 16. [Video APIs](#video-apis) 17. [API Business Models](#api-business-models) -18. [Images](#images) -19. [Tweets](#tweets) +18. [Videos](#videos) +19. [Images](#images) +20. [Tweets](#tweets) ## APIs @@ -72,6 +73,8 @@ - No importa quรฉ tecnologรญa utilicรฉis: HTTP, Corba, Pubsub, protocolos personalizados? da igual. - Todas las interfaces de servicio, sin excepciรณn, deberรกn diseรฑarse desde cero para que sean externalizables. Es decir, el equipo debe planificar y diseรฑar para poder exponer la interfaz a los desarrolladores en el mundo exterior. Sin excepciones. - Cualquiera que no haga esto serรก despedido. +- [thenewstack.io: How to Achieve API Governance](https://thenewstack.io/how-to-achieve-api-governance/) With APIs popping up everywhere, API strategy demands common design patterns, central discoverability, and putting users first. +- [jkebertz.medium.com: The Art of Writing Amazing REST APIs](https://jkebertz.medium.com/the-art-of-writing-amazing-rest-apis-dc4c4100478d) ## Python FastAPI @@ -124,6 +127,7 @@ - [freecodecamp.org: What is REST? Rest API Definition for Beginners](https://www.freecodecamp.org/news/what-is-rest-rest-api-definition-for-beginners/) - [blog.devgenius.io: Principles & Best practices of REST API Design](https://blog.devgenius.io/best-practice-and-cheat-sheet-for-rest-api-design-6a6e12dfa89f) - [==javarevisited.blogspot.com: How to send POST Request with JSON Payload using Curl Command in Linux to Test RESTful Web Services?==](https://javarevisited.blogspot.com/2022/08/how-to-post-json-data-with-curl-command.html) +- [medium.com/@shubhadeepchat: Best Practices for good REST API Design](https://medium.com/@shubhadeepchat/best-practices-for-good-rest-api-design-b5fae9a62c86) #### OpenAPI Specification (originally known as the Swagger Specification) @@ -136,7 +140,7 @@ ### RPC API Protocol (Remote Procedure Call) - [wikipedia: RPC Remote Procedure Call](https://en.wikipedia.org/wiki/Remote_procedure_call) -- [open-rpc.org lightweight RPC framework ๐ŸŒŸ](https://open-rpc.org/) It layers an interface description on top of JSON-RPC 2.0 and ships with a few tools to help you design, document, and test your APIs. +- [open-rpc.org lightweight RPC framework ๐ŸŒŸ](https://open-rpc.org/) It layers an interface description on top of JSON-RPC 2.0 and ships with a few tools to help you design, document, and test your APIs. #### gRPC @@ -147,6 +151,8 @@ - [cncf.io: Think gRPC, when you are architecting modern microservices!](https://www.cncf.io/blog/2021/07/19/think-grpc-when-you-are-architecting-modern-microservices/) - [itnext.io: A minimalist guide to gRPC](https://itnext.io/a-minimalist-guide-to-grpc-e4d556293422) REST API is good but is it really the best option that we have? - [==gendocu.com: RPC API Developer Portal==](https://gendocu.com/) +- [==medium.com/javarevisited: Microservices communication using gRPC Protocol==](https://medium.com/javarevisited/microservices-communication-using-grpc-protocol-dc3a2f8b648d) +- [blog.getambassador.io: Implementing gRPC-Web with Emissary-ingress](https://blog.getambassador.io/implementing-grpc-web-with-emissary-ingress-22aa0d86aac) In this article, you'll learn how to implement gRPC-Web (a JavaScript implementation of gRPC for browser clients) with Emissary-ingress โ€” an Envoy-based API gateway and Ingress controller ### Asynchronous APIs @@ -301,6 +307,14 @@ - [API Business Models. 20 Models in 20 Minutes](https://www.infoq.com/presentations/API-Business-Models/) +## Videos + +??? note "Click to expand!" + +
+ +
+ ## Images ??? note "Click to expand!" @@ -313,6 +327,8 @@ ![gRPC vs REST vs GraphQL comparison](images/grpc_vs_rest_vs_graphql.png) ![REST API Design](images/REST_API_Design.jfif) + + [![REST vs GrapQL](images/rest_vs_graphql.jfif)](https://t.co/AF9GfbgBWZ) ## Tweets @@ -324,5 +340,45 @@

People complain about tooling fatigue but web dev in 2021 is 10x simpler than in 2011. You just gotta pick the right tools.

Infra: @PulumiCorp
Data: @PostgreSQL
API: @HasuraHQ
Frontend: @vercel's NextJS

And no proprietary bullshitโ€”100% open source!

— gunar.uk (@gunar) May 21, 2021

/1 REST is the most common communication standard between computers over the internet. What is it? Why is it so popular? Let's take a look at this thread. pic.twitter.com/GBdBcC56aF

— Alex Xu (@alexxubyte) August 25, 2022
+ +

Optimize API performance with these 5 tips.

Thread๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) October 21, 2022
+ +

API Testing. What is it?

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) October 24, 2022
+ +

Authentication vs. Authorization โ€“ What's the difference?

A thread ๐Ÿงต

— RapidAPI (@Rapid_API) October 27, 2022
+ +

Let's discuss how we can handle CORS in Express.

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) October 27, 2022
+ +

HTTP headers that developers should be aware of.

Thread๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) November 10, 2022
+ +

OAuth2, features, and advantages.

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) November 12, 2022
+ +

How to increase API performance?

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) November 11, 2022
+ +

Different Architectural Styles of APIs

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) November 25, 2022
+ +

What is GraphQL? When should we use it?

How is GraphQL the same as REST? How are they different? Letโ€™s dive deeper.

Watch here: https://t.co/AF9GfbgBWZ pic.twitter.com/EUgGe82rNu

— Bytebytego (@bytebytego) November 28, 2022
+ +

Local Storage. What is it?

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) November 28, 2022
+ +

Best Practices for Securing API Keys

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) December 12, 2022
+ +

API Authentication methods

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) December 26, 2022
+ +

Here, we'll discuss the three most commonly used API authentication techniques:

- HTTP Authentication
- API Keys (Bearer token, JSON Web Token)
- OAuth

— RapidAPI (@Rapid_API) December 26, 2022
+ +

HTTP Status codes worth knowing about

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) December 27, 2022
+ +

What exactly is CORS, and how does it work?

Thread ๐Ÿงต

— RapidAPI (@Rapid_API) December 27, 2022
+ +

What is an API? pic.twitter.com/FBQfcGDsdh

— RapidAPI (@Rapid_API) December 28, 2022
+ +

Difference between API Authentication and API Authorization.

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) December 28, 2022
+ +

How does JSON web token (JWT) authentication work?

Thread ๐Ÿงต๐Ÿ‘‡๐Ÿป

— RapidAPI (@Rapid_API) December 29, 2022
+ +

What is the difference between an API and a Microservice?

Thread ๐Ÿงต๐Ÿ‘‡

— RapidAPI (@Rapid_API) December 29, 2022
+ +

API security best practices ๐Ÿ‘‡

{ 1 / 6 } pic.twitter.com/0IjjK7zhWv

— RapidAPI (@Rapid_API) December 30, 2022
- \ No newline at end of file + diff --git a/docs/argo.md b/docs/argo.md index 78cbf98f..a26de7fd 100644 --- a/docs/argo.md +++ b/docs/argo.md @@ -49,7 +49,7 @@ - Ensure that Workflow pods are not configured to use the default service account - Ensure retry on both Error and TransientError - [==devops.com: The Argo Project: Making GitOps Practical==](https://devops.com/the-argo-project-making-gitops-practical/) -- [piotrminkowski.com: Manage Kubernetes Cluster with Terraform and Argo CD. Create Kakfa Cluster using GitOps ๐ŸŒŸ](https://piotrminkowski.com/2022/06/28/manage-kubernetes-cluster-with-terraform-and-argo-cd/) In this article, you will learn how to create a Kubernetes cluster with Terraform and then manage it with Argo CD. Terraform is very useful for automating infrastructure. On the other hand, Argo CD helps us implement GitOps and continuous delivery for our applications. It seems that we can successfully combine both these tools. Letโ€™s consider how they can help us to work with Kubernetes in the GitOps style. +- [piotrminkowski.com: Manage Kubernetes Cluster with Terraform and Argo CD. Create Kakfa Cluster using GitOps ๐ŸŒŸ](https://piotrminkowski.com/2022/06/28/manage-kubernetes-cluster-with-terraform-and-argo-cd/) This article shows how to create and manage Kubernetes (Kind) cluster with Terraform and Argo CD, and install Kafka on it. Terraform is very useful for automating infrastructure. On the other hand, Argo CD helps us implement GitOps and continuous delivery for our applications. It seems that we can successfully combine both these tools. Letโ€™s consider how they can help us to work with Kubernetes in the GitOps style. - [prashant-48386.medium.com: Continuous Delivery for Kubernetes With Argo CD](https://prashant-48386.medium.com/continuous-delivery-for-kubernetes-with-argo-cd-9d5f3b69f1db) - [medium.com/@outlier.developer: Getting Started with ArgoCD for GitOps Kubernetes Deployments](https://medium.com/@outlier.developer/getting-started-with-argocd-for-gitops-kubernetes-deployments-fafc2ad2af0) - [medium.com/@hmquan08011996: Setup Microservices on Kubernetes โ€” Automating Kubernetes with ArgoCD](https://medium.com/@hmquan08011996/setup-microservices-on-kubernetes-automating-kubernetes-with-argocd-cb94622dac5b) @@ -64,6 +64,14 @@ - [medium.com/@versentfastforward: Structuring Your Repo for ArgoCD, Part 1](https://medium.com/@versentfastforward/structuring-your-repo-for-argocd-part-1-582817713b0) This is the third post in our series about Managing Complex Kubernetes Clusters. We address the challenge of eliminating duplication of YAML files and reduce the amount effort required to deploy Kubernetes in multiple environments, as well as the continuous deployment (CD) of containerized workloads without developing complex imperative pipelines. - [faun.pub: Continuous Deployments of Kubernetes Applications using Argo CD GitOps & Helm Charts](https://faun.pub/continuous-deployments-of-kubernetes-applications-using-argo-cd-gitops-helm-charts-9df917caa2e4) - [jamalshahverdiev.medium.com: ArgoCD ApplicationSet with Applications, Image Updater and Notification controller with SSO](https://jamalshahverdiev.medium.com/argocd-applicationset-with-applications-image-updater-and-notification-controller-with-sso-bba3182dad8a) +- [kubebyexample.com: Argo CD Overview ๐ŸŒŸ](https://kubebyexample.com/learning-paths/argo-cd/argo-cd-overview) +- [faun.pub: Hygiene of an ArgoCD-built automation at a scale](https://faun.pub/hygiene-of-argocd-built-automation-at-a-scale-cf63ee459510) +- [blog.devgenius.io: Argo CD Introduction](https://blog.devgenius.io/argo-cd-introduction-4b16f50b0d56) What is ArgoCD and why use it +- [==dev.to: Argo CD and Sealed Secrets is a perfect match==](https://dev.to/timtsoitt/argo-cd-and-sealed-secrets-is-a-perfect-match-1dbf) In this article, you will learn how to configure Sealed Secrets with ArgoCD +- [figments.medium.com: ArgoCD: The first step towards GitOps](https://figments.medium.com/argocd-the-first-step-towards-gitops-899732fbc33e) A core component of GitOps is enforcing the deployment of apps using Git. This means defining the app version and configuration you want in a Git repo, and using a tool like ArgoCD to sync the Git configuration to the deployment. In this article, weโ€™ll look at how we can use ArgoCD to manage automatic Git based deployments of apps. +- [medium.com/@nsfabrice2009: How to install ArgoCD on k8s cluster](https://medium.com/@nsfabrice2009/how-to-install-argocd-on-k8s-cluster-ad9084c71f16) +- [akuity.io: How many do you need? - Argo CD Architectures Explained](https://akuity.io/blog/argo-cd-architectures-explained/) +- [piotrminkowski.com: Manage Multiple Kubernetes Clusters with ArgoCD ๐ŸŒŸ](https://piotrminkowski.com/2022/12/09/manage-multiple-kubernetes-clusters-with-argocd/) ## Argo CD Vulnerabilities @@ -92,6 +100,7 @@ - [jijujacob27.medium.com: Sharded applications on Kubernetes using Helm, ArgoCD, and Argo-Rollouts](https://jijujacob27.medium.com/sharded-saas-applications-on-kubernetes-using-helm-argocd-and-argo-rollouts-a683c66f8646) You will use Argo-Rollouts for deploying the app using the Blue/Green strategy. - [medium.com/@ej.sta.ana: Easy Blue-Green Deployment on Openshift Container Platform using Argo Rollouts](https://medium.com/@ej.sta.ana/easy-blue-green-deployment-on-openshift-container-platform-using-argo-rollouts-4d514b3c5c0f) Argo Rollouts is part of the Argo project which includes the popular ArgoCD gitops tool. Argo Rollouts can help you do blue-green deployment easily on Kubernetes/OpenShift. - [infracloud.io: Progressive Delivery with Argo Rollouts : Blue-Green Deployment](https://www.infracloud.io/blogs/progressive-delivery-argo-rollouts-blue-green-deployment/) In this post, you'll learn how to perform a blue-green deployment using the Argo Rollouts controller and CRD. +- [infracloud.io: Progressive Delivery with Argo Rollouts: Canary Deployment](https://www.infracloud.io/blogs/progressive-delivery-argo-rollouts-canary-deployment/) ## Argo Workflows diff --git a/docs/aws-architecture.md b/docs/aws-architecture.md index 8134b94e..6d0770ea 100644 --- a/docs/aws-architecture.md +++ b/docs/aws-architecture.md @@ -20,6 +20,7 @@ - [==Creating a Multi-Region Application with AWS Services โ€“ Part 2, Data and Replication==](https://aws.amazon.com/blogs/architecture/creating-a-multi-region-application-with-aws-services-part-2-data-and-replication/) - [==Letโ€™s Architect! Architecting microservices with containers==](https://aws.amazon.com/blogs/architecture/lets-architect-architecting-microservices-with-containers/) Microservices structure an application as a set of independently deployable services. They speed up software development and allow architects to quickly update systems to adhere to changing business requirements. According to best practices, the different services should be loosely coupled, organized around business capabilities, independently deployable, and owned by a single team. If applied correctly, there are multiple advantages to using microservices. However, working with microservices can also bring challenges. In this edition of Letโ€™s Architect!, we explore the advantages, mental models, and challenges deriving from microservices with containers. - [Strategies for consolidating AWS environments](https://aws.amazon.com/de/blogs/mt/strategies-for-consolidating-aws-environments/) +- [Maintain visibility over the use of cloud architecture patterns](https://aws.amazon.com/blogs/architecture/maintain-visibility-over-the-use-of-cloud-architecture-patterns/) Cloud platform and enterprise architecture teams use architecture patterns to provide guidance for different use cases. Cloud architecture patterns are typically aggregates of multiple Amazon Web Services (AWS) resources, such as Elastic Load Balancing with Amazon Elastic Compute Cloud, or Amazon Relational Database Service with Amazon ElastiCache. In a large organization, cloud platform teams often have limited governance over cloud deployments, and, therefore, lack control or visibility over the actual cloud pattern adoption in their organization. ## AWS Architecture Blog, Official Blog, AWS Labs, AWS Quick Start diff --git a/docs/aws-backup.md b/docs/aws-backup.md index e7ce945d..f136ca41 100644 --- a/docs/aws-backup.md +++ b/docs/aws-backup.md @@ -16,6 +16,7 @@ - [Backup and archive to AWS Storage Gateway VTL with Veeam Backup & Replication v9](https://aws.amazon.com/es/about-aws/whats-new/2016/08/backup-and-archive-to-aws-storage-gateway-vtl-with-veeam-backup-and-replication-v9/) - [Creating Disaster Recovery Mechanisms Using Amazon Route 53 ๐ŸŒŸ](https://aws.amazon.com/blogs/networking-and-content-delivery/creating-disaster-recovery-mechanisms-using-amazon-route-53/) - [Disaster recovery with AWS managed services, Part 2: Multi-Region/backup and restore ๐ŸŒŸ](https://aws.amazon.com/blogs/architecture/disaster-recovery-with-aws-managed-services-part-ii-multi-region-backup-and-restore/) +- [dev.to: Best way to Automate AWS EBS Snapshots (without scripts)](https://dev.to/aws-builders/how-to-automate-aws-ebs-snapshots-54og) ## AWS Backup Service diff --git a/docs/aws-containers.md b/docs/aws-containers.md index d6aff003..95a41358 100644 --- a/docs/aws-containers.md +++ b/docs/aws-containers.md @@ -15,6 +15,7 @@ - [cast.ai: AWS EKS vs. ECS vs. Fargate: Where to manage your Kubernetes?](https://cast.ai/blog/aws-eks-vs-ecs-vs-fargate-where-to-manage-your-kubernetes/) - [neal-davis.medium.com: ECS vs EC2 vs Lambda](https://neal-davis.medium.com/ecs-vs-ec2-vs-lambda-36b8ca380dea) - [faun.pub: Why We Moved From Lambda to ECS](https://faun.pub/why-we-moved-from-lambda-to-ecs-b84674f31869) +- [Automate rollbacks for Amazon ECS rolling deployments with CloudWatch alarms](https://aws.amazon.com/blogs/containers/automate-rollbacks-for-amazon-ecs-rolling-deployments-with-cloudwatch-alarms/) ## Rancher on AWS diff --git a/docs/aws-databases.md b/docs/aws-databases.md index 70f2f1bc..136a8f48 100644 --- a/docs/aws-databases.md +++ b/docs/aws-databases.md @@ -35,6 +35,7 @@ - [Amazon Aurora PostgreSQL blue/green deployment using fast database cloning](https://aws.amazon.com/blogs/database/amazon-aurora-postgresql-blue-green-deployment-using-fast-database-cloning/) - [Securely connect to an Amazon RDS or Amazon EC2 database instance remotely with your preferred GUI](https://aws.amazon.com/blogs/database/securely-connect-to-an-amazon-rds-or-amazon-ec2-database-instance-remotely-with-your-preferred-gui/) - [Modernize database stored procedures to use Amazon Aurora PostgreSQL federated queries, pg_cron, and AWS Lambda](https://aws.amazon.com/blogs/database/modernize-database-stored-procedures-to-use-amazon-aurora-postgresql-federated-queries-pg_cron-and-aws-lambda/) +- [Letโ€™s Architect! Architecting with Amazon DynamoDB](https://aws.amazon.com/blogs/architecture/lets-architect-architecting-with-amazon-dynamodb/) ## AWS Database Migration Service DMS diff --git a/docs/aws-devops.md b/docs/aws-devops.md index 170c37cf..c8c02043 100644 --- a/docs/aws-devops.md +++ b/docs/aws-devops.md @@ -18,6 +18,7 @@ - [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) ML-powered cloud operations service to improve application availability - [infoq.com: AWS Launches Amazon DevOps Guru](https://www.infoq.com/news/2021/01/aws-devops-guru/) - [aws.plainenglish.io: AWS CodePipeline for Amazon ECS](https://aws.plainenglish.io/aws-codepipeline-for-amazon-ecs-part-2-a-blue-green-deployment-type-c162fd73be91) In this tutorial, I would like to explain to you how to create an AWS CodePipeline for ECS with a Blue/green deployment type. +- [aws.amazon.com: Multi-branch pipeline management and infrastructure deployment using AWS CDK Pipelines](https://aws.amazon.com/blogs/devops/multi-branch-pipeline-management-and-infrastructure-deployment-using-aws-cdk-pipelines/) ## Continuous Deployment with AWS diff --git a/docs/aws-iac.md b/docs/aws-iac.md index ce7dc9d1..1b155e03 100644 --- a/docs/aws-iac.md +++ b/docs/aws-iac.md @@ -8,7 +8,7 @@ ## AWS CloudFormation. Free Templates - [AWS Cloud Formation Release History](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/ReleaseHistory.html) -- [All the AWS Resource Types Reference for AWS CloudFormation ](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) +- [All the AWS Resource Types Reference for AWS CloudFormation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) - [Introducing Cloud Formation Guard - a new opensource CLI for infrastructure compliance](https://aws.amazon.com/about-aws/whats-new/2020/06/introducing-aws-cloudformation-guard-preview/) - [AWS CloudFormation Guard](https://github.com/aws-cloudformation/cloudformation-guard) Guard offers a policy-as-code domain-specific language (DSL) to write rules and validate JSON- and YAML-formatted data such as CloudFormation Templates, K8s configurations, and Terraform JSON plans/configurations against those rules. - [cloudonaut.io: Getting Started with Free Templates for AWS CloudFormation](https://cloudonaut.io/getting-started-with-aws-cf-templates/) - [Free Templates for AWS CloudFormation](https://github.com/widdix/aws-cf-templates/) - [templates.cloudonaut.io](https://templates.cloudonaut.io/) diff --git a/docs/aws-miscellaneous.md b/docs/aws-miscellaneous.md index 0c87dc6c..003d4672 100644 --- a/docs/aws-miscellaneous.md +++ b/docs/aws-miscellaneous.md @@ -13,7 +13,7 @@ 10. [AWS Partner Network (APN)](#aws-partner-network-apn) 11. [AWS App Mesh](#aws-app-mesh) 12. [Local Testing](#local-testing) - 1. [Localstack](#localstack) + 1. [Localstack](#localstack) 13. [AWS Service Quota Requests](#aws-service-quota-requests) 14. [AWS Chaos Engineeering. AWS Fault Injection Simulator](#aws-chaos-engineeering-aws-fault-injection-simulator) 15. [Superwerker](#superwerker) @@ -26,6 +26,7 @@ 22. [ECommerce](#ecommerce) 23. [AWS Clients](#aws-clients) 24. [AWS LightSail](#aws-lightsail) +25. [AWS Data Lake](#aws-data-lake) ## AWS Application Discovery Service @@ -101,6 +102,7 @@ - [localstack.cloud](https://localstack.cloud/) Develop and test your cloud apps offline. A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline! - [github.com/localstack/localstack](https://github.com/localstack/localstack) +- [github.com/omenking/localstack-gitpod-template: LocalStack Gitpod Template](https://github.com/omenking/localstack-gitpod-template) ## AWS Service Quota Requests @@ -161,4 +163,8 @@ ## AWS LightSail -- [AWS LightSail](https://aws.amazon.com/lightsail/) Build applications and websites fast with low-cost, pre-configured cloud resources \ No newline at end of file +- [AWS LightSail](https://aws.amazon.com/lightsail/) Build applications and websites fast with low-cost, pre-configured cloud resources + +## AWS Data Lake + +- [aws.amazon.com: Optimize your modern data architecture for sustainability: Part 1 โ€“ data ingestion and data lake](https://aws.amazon.com/blogs/architecture/optimize-your-modern-data-architecture-for-sustainability-part-1-data-ingestion-and-data-lake/) diff --git a/docs/aws-monitoring.md b/docs/aws-monitoring.md index a87043ef..1f952b7e 100644 --- a/docs/aws-monitoring.md +++ b/docs/aws-monitoring.md @@ -13,6 +13,7 @@ - [github: ElectricEye](https://github.com/jonrau1/ElectricEye/blob/master/README.md) is a set of Python scripts (affectionately called Auditors) that continuously monitor your AWS infrastructure looking for configurations related to confidentiality, integrity and availability that do not align with AWS best practices. - [medium: AWS Account Security Monitoring](https://medium.com/swlh/aws-account-security-monitoring-d7ca129d52ac) - [==elastic.co: Elastic and AWS: Accelerating the cloud migration journey==](https://www.elastic.co/blog/elastic-and-aws-accelerate-your-cloud-migration-journey) +- [How to use AWS Config and CloudTrail to find who made changes to a resource](https://aws.amazon.com/blogs/mt/how-to-use-aws-config-and-cloudtrail-to-find-who-made-changes-to-a-resource/) ## Metrics diff --git a/docs/aws-networking.md b/docs/aws-networking.md index e80fcc4c..3e7d3e68 100644 --- a/docs/aws-networking.md +++ b/docs/aws-networking.md @@ -12,6 +12,7 @@ 2. [Tailscale](#tailscale) 9. [AWS CloudFront](#aws-cloudfront) 10. [AWS API Gateway](#aws-api-gateway) +11. [Tweets](#tweets) ## Introduction @@ -25,6 +26,8 @@ - [github.com/seligman/aws-ip-ranges: AWS's ip-ranges.json](https://github.com/seligman/aws-ip-ranges) AWS adds an extra 5.5M IPv4 addresses. Tracking the history and size of AWS's ip-ranges.json file. AWS provides a data file showing the current IP ranges their services use, called ip-ranges.json. This repository tracks changes to that file, and based off a trigger on the SNS topic automatically produces this chart showing how what percentage of the Internet's IPv4 address space AWS is in control of. - [medium: Building a Global Network with AWS Transit Gateway](https://medium.com/avmconsulting-blog/building-a-global-network-with-aws-transit-gateway-7ab0e5222f12) Connecting branch and corporate offices into the AWS cloud to build a global network is necessary to provide ubiquitous accessibility for users. This solution uses AWS Transit Gateway, AWS Direct Connect, and AWS Accelerated Site-to-Site VPN to build a modern, secure, scalable, and cost-efficient WAN on top of the AWS global network. - [aws.amazon.com: Creating active/passive BGP connections over AWS Direct Connect](https://aws.amazon.com/blogs/networking-and-content-delivery/creating-active-passive-bgp-connections-over-aws-direct-connect/) +- [towardsaws.com: Networking Basics in AWS](https://towardsaws.com/networking-basics-in-aws-ab72882855c4) +- [aws.amazon.com: Network operations with AWS Network Manager](https://aws.amazon.com/products/networking/network-operations/) Efficiently manage and monitor your AWS network ## AWS Route 53 @@ -98,4 +101,17 @@ ## AWS API Gateway -- [alexdebrie.com: A Detailed Overview of AWS API Gateway](https://www.alexdebrie.com/posts/api-gateway-elements/) \ No newline at end of file +- [alexdebrie.com: A Detailed Overview of AWS API Gateway](https://www.alexdebrie.com/posts/api-gateway-elements/) +- [towardsaws.com: Accessing a Private REST API from another Private REST API in AWS API Gateway](https://towardsaws.com/accessing-a-private-rest-api-from-another-private-rest-api-in-aws-api-gateway-5112b835c0d4) In this post, weโ€™ll see how we can access a Private REST API From Another Private REST API In AWS API Gateway. We will create 2 EC2 Instances(EC2A and EC2B) and 2 API Gateways(APIA and APIB). EC2A will be accessing EC2B with following workflow. +- [faun.pub: Using AWS API Gateway As Proxy To Our Internal Application](https://faun.pub/using-aws-api-gateway-as-proxy-to-our-internal-application-369eb115db70) +- [aws.amazon.com: Architecture patterns for consuming private APIs cross-account](https://aws.amazon.com/blogs/compute/architecture-patterns-for-consuming-private-apis-cross-account/) Architecture patterns for consuming private APIs cross-account over AWS PrivateLink + +## Tweets + +
+ Click to expand! + +
+ +
+
diff --git a/docs/aws-newfeatures.md b/docs/aws-newfeatures.md index be848eea..8ac18788 100644 --- a/docs/aws-newfeatures.md +++ b/docs/aws-newfeatures.md @@ -82,4 +82,25 @@ - [==AWS Single Sign-On launches configurable synchronization for Microsoft Active Directory==](https://aws.amazon.com/about-aws/whats-new/2022/04/aws-single-sign-on-configurable-synchronization-microsoft-active-directory/) - [Integration of AWS Well-Architected Tool with AWS Organizations](https://aws.amazon.com/about-aws/whats-new/2022/06/aws-well-architected-tool-organizations-integration/) - [AWS Single Sign-On (AWS SSO) adds support for AWS Identity and Access Management (IAM) customer managed policies (CMPs)](https://aws.amazon.com/about-aws/whats-new/2022/07/aws-single-sign-on-aws-sso-aws-identity-access-management-iam-customer-managed-policies-cmps/) -- [Announcing new AWS IAM Identity Center APIs to manage users and groups at scale](https://aws.amazon.com/blogs/security/announcing-new-aws-iam-identity-center-apis-to-manage-users-and-groups-at-scale/) \ No newline at end of file +- [Announcing new AWS IAM Identity Center APIs to manage users and groups at scale](https://aws.amazon.com/blogs/security/announcing-new-aws-iam-identity-center-apis-to-manage-users-and-groups-at-scale/) +- [Amazon WorkSpaces Introduces Ubuntu Desktops](https://aws.amazon.com/blogs/aws/amazon-workspaces-introduces-ubuntu-desktops/) +- [IAM Access Analyzer now reviews your AWS CloudTrail history to identify actions used across 140 AWS services and generates fine-grained policies](https://aws.amazon.com/about-aws/whats-new/2022/10/iam-access-analyzer-cloudtrail-history-identify-actions-140-aws-services-fine-grained-policies/) +- [Announcing dark mode support in the AWS Management Console](https://aws.amazon.com/about-aws/whats-new/2022/10/dark-mode-support-aws-management-console/) +- [IAM Identity Center adds session management features for improved user experience and cloud security](https://aws.amazon.com/about-aws/whats-new/2022/10/iam-identity-center-session-management-features-improved-user-experience-cloud-security/) +- [Amazon SNS increases the default quota for subscription filter policies by 50x to 10,000 per account](https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-sns-increases-default-quota-subscription-filter-policies-account/) +- [Amazon EC2 announces new price and capacity optimized allocation strategy for provisioning Amazon EC2 Spot Instances](https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-ec2-price-capacity-optimized-allocation-strategy-provisioning-ec2-spot-instances/) +- [Now Openโ€“AWS Region in Spain](https://aws.amazon.com/blogs/aws/now-open-aws-region-in-spain/) +- [AWS Identity and Access Management now supports multiple multi-factor authentication (MFA) devices](https://aws.amazon.com/about-aws/whats-new/2022/11/aws-identity-access-management-multi-factor-authentication-devices/) +- [Amazon NAT Gateway Now Allows You to Select Private IP Address for Network Address Translation](https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-nat-gateway-allows-select-private-ip-address-network-address-translation/) +- [Application Load Balancers now support turning off cross zone load balancing per target group](https://aws.amazon.com/about-aws/whats-new/2022/11/application-load-balancers-turning-off-cross-zone-load-balancing-per-target-group/) +- [Announcing delegated administrator for AWS Organizations](https://aws.amazon.com/about-aws/whats-new/2022/11/aws-organizations-delegated-administrator/) +- [AWS Backup Audit Manager adds centralized reporting for AWS Organizations](https://aws.amazon.com/about-aws/whats-new/2022/11/aws-backup-audit-manager-centralized-reporting-aws-organizations/) +- [Amazon CloudWatch launches cross-account observability across multiple AWS accounts](https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-cloudwatch-cross-account-observability-multiple-aws-accounts/) +- [Announcing Amazon RDS Blue/Green Deployments for safer, simpler, and faster updates](https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-rds-blue-green-deployments-safer-simpler-faster-updates/) +- [Announcing AWS KMS External Key Store (XKS)](https://aws.amazon.com/blogs/aws/announcing-aws-kms-external-key-store-xks/) +- [Heads-Up: Amazon S3 Security Changes Are Coming in April of 2023](https://aws.amazon.com/blogs/aws/heads-up-amazon-s3-security-changes-are-coming-in-april-of-2023/) +- [Amazon EKS launches automated provisioning and lifecycle management for Windows containers](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-eks-automated-provisioning-lifecycle-management-windows-containers/) +- [Amazon Timestream now enables you to protect your data through AWS Backup](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-timestream-enables-protect-data-through-aws-backup/) +- [Amazon RDS announces integration with AWS Secrets Manager](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) +- [Amazon ECS now integrates with Amazon CloudWatch alarms to improve safety for deployments](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-ecs-cloudwatch-alarms-safety-deployments/) +- [AWS Cost Explorerโ€™s New Look and Common Use Cases](https://aws.amazon.com/ru/blogs/aws-cloud-financial-management/aws-cost-explorers-new-ui-and-common-use-cases/) \ No newline at end of file diff --git a/docs/aws-pricing.md b/docs/aws-pricing.md index 9e56d9da..df000878 100644 --- a/docs/aws-pricing.md +++ b/docs/aws-pricing.md @@ -2,6 +2,7 @@ 1. [Introduction](#introduction) 2. [AWS Calculator](#aws-calculator) +3. [S3 Intelligent Tiering](#s3-intelligent-tiering) ## Introduction @@ -28,3 +29,6 @@ - [calculator.aws: AWS Total Cost of Ownership (TCO) Calculators](https://calculator.aws/) - [Understanding your AWS Cost Datasets: A Cheat Sheet](https://aws.amazon.com/blogs/aws-cost-management/understanding-your-aws-cost-datasets-a-cheat-sheet/) - [Announcing General Availability of AWS Cost Anomaly Detection](https://aws.amazon.com/blogs/aws-cost-management/announcing-general-availability-of-aws-cost-anomaly-detection/) + +## S3 Intelligent Tiering +- [Manage Amazon S3 storage costs granularly and at scale using S3 Intelligent-Tiering](https://aws.amazon.com/blogs/storage/manage-amazon-s3-storage-costs-granularly-and-at-scale-using-s3-intelligent-tiering/) Cost-effective data storage is critical when building and scaling data lakes that manage and hold growing datasets. By choosing the right storage architecture, customers are empowered to quickly experiment and migrate to AWS. Amazon S3 Intelligent-Tiering is a storage class that allows customers to optimize storage costs automatically when data access patterns change without performance impact or operational overhead, for all stages of data lake workflows. diff --git a/docs/aws-security.md b/docs/aws-security.md index 42b1704c..b340386b 100644 --- a/docs/aws-security.md +++ b/docs/aws-security.md @@ -85,6 +85,10 @@ - [aws.amazon.com: When and where to use IAM permissions boundaries](https://aws.amazon.com/blogs/security/when-and-where-to-use-iam-permissions-boundaries/) A permissions boundary is an IAM feature that helps your centralized cloud IAM teams to safely empower your application developers to create new IAM roles and policies in Amazon Web Services (AWS). - [Extend AWS IAM roles to workloads outside of AWS with IAM Roles Anywhere ๐ŸŒŸ](https://aws.amazon.com/blogs/security/extend-aws-iam-roles-to-workloads-outside-of-aws-with-iam-roles-anywhere/) **A secure way for on-premises servers, containers, or apps to obtain temporary AWS credentials and remove the need for creating and managing long-term AWS credentials** - [binx.io: Working with AWS Permission Policies ๐ŸŒŸ](https://binx.io/2022/07/13/working-with-aws-permission-policies/) +- [Use IAM Access Analyzer policy generation to grant fine-grained permissions for your AWS CloudFormation service roles](https://aws.amazon.com/blogs/security/use-iam-access-analyzer-policy-generation-to-grant-fine-grained-permissions-for-your-aws-cloudformation-service-roles/) +- [ermetic.com: Diving Deeply into IAM Policy Evaluation โ€“ Highlights from AWS re:Inforce IAM433](https://ermetic.com/blog/aws/diving-deeply-into-iam-policy-evaluation-highlights-from-aws-reinforce-session-iam433/) +- [globaldatanet.com: .AWS IAM Identity Center Permission Management at Scale Part 2](https://globaldatanet.com/tech-blog/aws-iam-identity-center-permission-management-at-scale-part-2) +- [awstip.com: AWS Permissions Set deep dive](https://awstip.com/aws-permissions-set-deep-dive-228d0ed35249) ### Terraform IAM Policy Validator diff --git a/docs/aws-serverless.md b/docs/aws-serverless.md index 2329e832..31d6ccff 100644 --- a/docs/aws-serverless.md +++ b/docs/aws-serverless.md @@ -47,6 +47,17 @@ - [medium.com/awesome-cloud: AWS โ€” Difference between Serverless (Lambda) and Containers (Kubernetes)](https://medium.com/awesome-cloud/aws-difference-between-serverless-lambda-and-containers-kubernetes-serverless-vs-containers-lambda-vs-k8s-a166931870a2) - [aws.amazon.com: Scaling AWS Lambda permissions with Attribute-Based Access Control (ABAC)](https://aws.amazon.com/blogs/compute/scaling-aws-lambda-permissions-with-attribute-based-access-control-abac/) - [aws.amazon.com: Understanding AWS Lambda scaling and throughput](https://aws.amazon.com/blogs/compute/understanding-aws-lambda-scaling-and-throughput/) +- [How to enforce user quota on AWS AppSync with Lambda Authorizer](https://aws.amazon.com/blogs/mobile/how-to-enforce-user-quota-on-aws-appsync-with-lambda-authorizer/) API Quotas define the valid amount of calls available for a consumer during a specific amount of time. Enforcing quotas protects your API from unintentional abuse, minimizes data exfiltration and protects your resources from excessive usage. Beyond the mentioned security benefits, it can also unlock your capabilities to monetize the digital assets sitting behind the API. +- [aws.plainenglish.io: Let's design a serverless ETL pipeline with AWS services](https://aws.plainenglish.io/lets-design-a-serverless-etl-pipeline-with-aws-services-9ab88c95afd4) +- [theserverlessmindset.com: Choosing the Best Database for Your Serverless Project](https://www.theserverlessmindset.com/p/best-serverless-database) It comes down to a few options, and one of them is the best (but your prior experience may change that) +- [aidansteele/secretsctx](https://github.com/aidansteele/secretsctx) secretsctx is a Lambda extension (packaged as a Lambda layer) that injects secret values from AWS Parameter Store and AWS Secrets Manager into your Lambda function's invocation "context". +- [faun.pub: Serverless With Spring Boot & AWS Lambda](https://faun.pub/serverless-with-spring-boot-aws-lambda-bc76c1de2b12) +- [aws.amazon.com: New โ€“ Accelerate Your Lambda Functions with Lambda SnapStart](https://aws.amazon.com/blogs/aws/new-accelerate-your-lambda-functions-with-lambda-snapstart/) +- [infoworld.com: AWS Lambda kickstarts Java functions](https://www.infoworld.com/article/3681549/aws-lambda-kickstarts-java-functions.html) AWS Lambda SnapStart cuts Java startup times by initializing Java functions ahead of time and caching a snapshot of the initialized execution environment. +- [medium.com/@dan.avila7: Prueba tus proyectos serverless de forma local con serverless-offline](https://medium.com/@dan.avila7/prueba-tus-proyectos-serverless-de-forma-local-con-serverless-offline-2e555f2b5e9b) En este artรญculo veremos como instalar y configurar el plugin serverless-offline con sls framework para realizar pruebas locales de las funciones lambda antes de realizar el deploy en AWS. +- [tutorialsdojo.com: Real-time Monitoring of 5XX Errors using AWS Lambda, CloudWatch Logs and Slack](https://tutorialsdojo.com/real-time-monitoring-of-5xx-errors-using-aws-lambda-cloudwatch-logs-slack/) +- [dev.to: Go fast and reduce risk: using CDK to deploy your serverless applications on AWS](https://dev.to/aws-builders/go-fast-and-reduce-risk-using-cdk-to-deploy-your-serverless-applications-on-aws-2i3k) +- [awstip.com: Tips for keeping your Lambda functions secure](https://awstip.com/tips-for-keeping-your-lambda-functions-secure-25349dd5d9df) ## AWS Fargate diff --git a/docs/aws-tools-scripts.md b/docs/aws-tools-scripts.md index 43b7c7ab..79031cc5 100644 --- a/docs/aws-tools-scripts.md +++ b/docs/aws-tools-scripts.md @@ -4,6 +4,7 @@ 2. [AWS Samples (Boilerplates)](#aws-samples-boilerplates) 3. [Open Source at AWS](#open-source-at-aws) 4. [AWS Tools](#aws-tools) + 1. [AWS CI/CD Tools](#aws-cicd-tools) 5. [AWS Toolkits](#aws-toolkits) 6. [AWS Management Tools Blog](#aws-management-tools-blog) 7. [AWS CLI and AWS SDK](#aws-cli-and-aws-sdk) @@ -40,6 +41,10 @@ - [ermetic.com: Access Undenied on AWS](https://ermetic.com/blog/aws/access-undenied-on-aws/) - [github.com/ualter: AwsBe](https://github.com/ualter/awsbe-site) A tool to help handle AWS Session connections on terminals, using your configured AWS Shared Config and Credentials files. It manages Roles to Assume, MFA Token requests, AWS SSO Sign-in, AWS SSO Tokens and the expiration of opened sessions. +### AWS CI/CD Tools + +- [==dev.to: Continuous Integration and Deployment on AWS - and a wishlist for CI/CD Tools on AWS==](https://dev.to/aws-builders/continuous-integration-and-deployment-on-aws-and-a-wishlist-for-cicd-tools-on-aws-5a13) + ## AWS Toolkits - [AWS Toolkits for Cloud9, JetBrains and VS Code now support interaction with over 200 new resource types ๐ŸŒŸ](https://aws.amazon.com/about-aws/whats-new/2021/11/aws-toolkits-cloud9-jetbrains-vs-code/) diff --git a/docs/aws-training.md b/docs/aws-training.md index d7d9b599..c9c7af9b 100644 --- a/docs/aws-training.md +++ b/docs/aws-training.md @@ -5,6 +5,7 @@ 3. [AWS Certification](#aws-certification) 4. [Closed groups for AWS certified professionals](#closed-groups-for-aws-certified-professionals) 5. [Tweets](#tweets) + ## Introduction - [New digital course and lab: AWS Cloud Development Kit (CDK) Primer](https://aws.amazon.com/about-aws/whats-new/2021/01/new-digital-course-and-lab-aws-cloud-development-kit-cdk-primer/) diff --git a/docs/aws.md b/docs/aws.md index e79fadb7..faa37ff7 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -22,7 +22,7 @@ 14. [Resource Hierarchies](#resource-hierarchies) 15. [AWS Tags](#aws-tags) 16. [AWS Systems Manager Explorer](#aws-systems-manager-explorer) - 1. [AWS Systems Manager Incident Manager](#aws-systems-manager-incident-manager) + 1. [AWS Systems Manager Incident Manager](#aws-systems-manager-incident-manager) 17. [AWS Cloud Adoption Framework (AWS CAF)](#aws-cloud-adoption-framework-aws-caf) 18. [AWS re:Post](#aws-repost) 19. [Bunch of Images](#bunch-of-images) @@ -84,6 +84,7 @@ - [medium.com/gargee-bhatnagar: How to Create a Custom AMI with Image Pipeline and Automate its Creation Using EC2 Image Builder](https://medium.com/gargee-bhatnagar/how-to-create-a-custom-ami-with-image-pipeline-and-automate-its-creation-using-ec2-image-builder-7e194e39c8e9) - [==docs.aws.amazon.com: Actions, resources, and condition keys for AWS services== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) There's a Reference for all ๐—œ๐—”๐—  ๐—”๐—ฐ๐˜๐—ถ๐—ผ๐—ป๐˜€, ๐—ฟ๐—ฒ๐˜€๐—ผ๐˜‚๐—ฟ๐—ฐ๐—ฒ๐˜€, ๐—ฎ๐—ป๐—ฑ ๐—ฐ๐—ผ๐—ป๐—ฑ๐—ถ๐˜๐—ถ๐—ผ๐—ป ๐—ธ๐—ฒ๐˜†๐˜€ ๐—ณ๐—ผ๐—ฟ ๐—ฎ๐—น๐—น ๐—”๐—ช๐—ฆ ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ๐˜€ ๐Ÿ” Bookmark it! ๐Ÿ”– - [medium.com/@imaze.enabulele: Autoscaling EC2 Instances for High Availability and Stress Testing ๐ŸŒŸ](https://medium.com/@imaze.enabulele/autoscaling-ec2-instances-for-high-availability-and-stress-testing-946b41f229e2) +- [awstip.com: How to list all resources in your AWS account](https://awstip.com/how-to-list-all-resources-in-your-aws-account-c3f18061f71b) ## AWS Application Services @@ -112,6 +113,7 @@ You can filter by topic using the toolbar above. - [AWS Courses created by AWS experts](https://www.amazon.com/b/?node=14297978011) - [dev.to: Many free and useful AWS official Dev and User guides!](https://dev.to/aws-builders/many-free-and-useful-aws-official-dev-and-user-guides-54ci) +- [medium.com/towards-cloud-computing: 7 Free AWS Practice Labs and AWS Workshops resources](https://medium.com/towards-cloud-computing/7-free-aws-practice-labs-and-aws-workshops-resources-d0a861f05d3) ## Containers on AWS diff --git a/docs/azure.md b/docs/azure.md index 1220bc74..b55fa266 100644 --- a/docs/azure.md +++ b/docs/azure.md @@ -1,51 +1,58 @@ # Microsoft Azure 1. [Azure](#azure) -2. [New Features](#new-features) -3. [Blogs](#blogs) -4. [Azure Training](#azure-training) -5. [Azure Naming Convention](#azure-naming-convention) -6. [Understand Azure Load Balancing](#understand-azure-load-balancing) -7. [Microsoft Linux Distribution CBL Mariner](#microsoft-linux-distribution-cbl-mariner) -8. [Azure Patterns](#azure-patterns) -9. [ARM Templates](#arm-templates) -10. [Azure DevOps](#azure-devops) - 1. [YAML Schema in DevOps Azure Pipelines](#yaml-schema-in-devops-azure-pipelines) - 2. [Azure Pipeline Tasks](#azure-pipeline-tasks) -11. [Azure AD and RBAC. Service Principal SPN](#azure-ad-and-rbac-service-principal-spn) - 1. [Register applications in Azure AD. Authenticate apps and services](#register-applications-in-azure-ad-authenticate-apps-and-services) -12. [Azure Arc. Azureโ€™s Hybrid And Multi-Cloud Platform. GitOps with Azure Arc](#azure-arc-azures-hybrid-and-multi-cloud-platform-gitops-with-azure-arc) -13. [Secure DevOps Kit for Azure](#secure-devops-kit-for-azure) -14. [Azure Application Gateway](#azure-application-gateway) -15. [Mobile Apps](#mobile-apps) -16. [Powershell](#powershell) - 1. [Microsoft Graph PowerShell SDK](#microsoft-graph-powershell-sdk) - 2. [Powershell repos](#powershell-repos) - 3. [Crescendo powershell module](#crescendo-powershell-module) - 4. [Secrets Management with Powershell](#secrets-management-with-powershell) -17. [Azure CLI. AZ CLI](#azure-cli-az-cli) -18. [Azure Run Command](#azure-run-command) -19. [IaC with PowerShell DSC Desired State Configuration](#iac-with-powershell-dsc-desired-state-configuration) -20. [Azure Bicep](#azure-bicep) -21. [Azure Cross region Load Balancer](#azure-cross-region-load-balancer) -22. [Azure Traffic Manager](#azure-traffic-manager) -23. [Azure DNS](#azure-dns) -24. [Azure OpenVPN](#azure-openvpn) -25. [Azure Security](#azure-security) -26. [Data Ingestion. Azure Data Factory](#data-ingestion-azure-data-factory) -27. [WinGet Windows Package Manager CLI](#winget-windows-package-manager-cli) -28. [Windows 11](#windows-11) -29. [Azure API Management](#azure-api-management) -30. [Azure Container Apps](#azure-container-apps) -31. [Azure Container Instances](#azure-container-instances) -32. [Windows Server Container Host](#windows-server-container-host) -33. [Disaster Recovery](#disaster-recovery) -34. [Azure Samples (Boilerplates)](#azure-samples-boilerplates) -35. [Azure Healthcare Data Services](#azure-healthcare-data-services) -36. [Office 365](#office-365) -37. [Images](#images) -38. [Videos](#videos) -39. [Tweets](#tweets) +2. [Microsoft REST API Guidelines](#microsoft-rest-api-guidelines) +3. [New Features](#new-features) +4. [Blogs](#blogs) +5. [Azure Training and Certifications](#azure-training-and-certifications) +6. [Azure Naming Convention](#azure-naming-convention) +7. [Mission-critical Architecture on Azure](#mission-critical-architecture-on-azure) +8. [Understand Azure Load Balancing](#understand-azure-load-balancing) +9. [Microsoft Linux Distribution CBL Mariner](#microsoft-linux-distribution-cbl-mariner) +10. [Azure Patterns](#azure-patterns) +11. [ARM Templates](#arm-templates) +12. [Azure DevOps](#azure-devops) + 1. [YAML Schema in DevOps Azure Pipelines](#yaml-schema-in-devops-azure-pipelines) + 2. [Azure Pipeline Tasks](#azure-pipeline-tasks) +13. [Azure AD and RBAC. Azure Tenant and Azure Subscription. Service Principal SPN](#azure-ad-and-rbac-azure-tenant-and-azure-subscription-service-principal-spn) + 1. [Register applications in Azure AD. Authenticate apps and services](#register-applications-in-azure-ad-authenticate-apps-and-services) + 2. [Azure AD Pen Testing](#azure-ad-pen-testing) +14. [Azure Arc. Azureโ€™s Hybrid And Multi-Cloud Platform. GitOps with Azure Arc](#azure-arc-azures-hybrid-and-multi-cloud-platform-gitops-with-azure-arc) +15. [Secure DevOps Kit for Azure](#secure-devops-kit-for-azure) +16. [Azure App Service](#azure-app-service) +17. [Azure Application Gateway](#azure-application-gateway) +18. [Azure Functions](#azure-functions) +19. [Azure Monitor managed service for Prometheus](#azure-monitor-managed-service-for-prometheus) +20. [Mobile Apps](#mobile-apps) +21. [Powershell](#powershell) + 1. [Microsoft Graph PowerShell SDK](#microsoft-graph-powershell-sdk) + 2. [Powershell repos](#powershell-repos) + 3. [Crescendo powershell module](#crescendo-powershell-module) + 4. [Secrets Management with Powershell](#secrets-management-with-powershell) +22. [Azure CLI. AZ CLI](#azure-cli-az-cli) +23. [Azure Run Command](#azure-run-command) +24. [IaC with PowerShell DSC Desired State Configuration](#iac-with-powershell-dsc-desired-state-configuration) +25. [Azure Bicep](#azure-bicep) +26. [Azure Cross region Load Balancer](#azure-cross-region-load-balancer) +27. [Azure Traffic Manager](#azure-traffic-manager) +28. [Azure DNS](#azure-dns) +29. [Azure OpenVPN](#azure-openvpn) +30. [Azure Security](#azure-security) +31. [Data Ingestion. Azure Data Factory](#data-ingestion-azure-data-factory) +32. [WinGet Windows Package Manager CLI](#winget-windows-package-manager-cli) +33. [Windows 11](#windows-11) +34. [Azure API Management](#azure-api-management) +35. [Azure Container Apps](#azure-container-apps) +36. [Azure Container Instances](#azure-container-instances) +37. [Windows Server Container Host](#windows-server-container-host) +38. [Disaster Recovery](#disaster-recovery) +39. [Azure Samples (Boilerplates)](#azure-samples-boilerplates) +40. [Azure Healthcare Data Services](#azure-healthcare-data-services) +41. [Office 365](#office-365) +42. [Azure Books](#azure-books) +43. [Images](#images) +44. [Videos](#videos) +45. [Tweets](#tweets) ## Azure @@ -67,7 +74,6 @@ - [techcommunity.microsoft.com: How to create a VPN between Azure and AWS using only managed solutions](https://techcommunity.microsoft.com/t5/fasttrack-for-azure/how-to-create-a-vpn-between-azure-and-aws-using-only-managed/ba-p/2281900) - [teacdmin.net: How To Enable Multiple RDP Sessions on Windows Server](https://tecadmin.net/how-to-enable-multiple-rdp-sessions-on-windows-server/) - [k21academy.com: Azure Data Lake Overview For Beginners](https://k21academy.com/microsoft-azure/data-engineer/azure-data-lake/) -- [returngis.net: Acceder a un App Service con Private Endpoint desde otra Vnet](https://www.returngis.net/2021/08/acceder-a-un-app-service-con-private-endpoint-desde-otra-vnet/) - [theregister.com: Microsoft Azure deprecations: API changes will break applications and PowerShell scripts](https://www.theregister.com/2021/09/03/microsoft_azure_deprecations_api_changes/) - [k21academy.com: Azure RBAC Vs Azure Policies Vs Azure Blueprints](https://k21academy.com/microsoft-azure/azure-rbac-vs-azure-policies-vs-azure-blueprints/) - [==blog.identitydigest.com: Azure AD workload identity federation with Kubernetes==](https://blog.identitydigest.com/azuread-federate-k8s/) Any k8s cluster, running on any platform, can now securely access Azure resources without keys or secrets through Azure AD Workload Identity Federation. @@ -78,11 +84,19 @@ - [infoq.com: NubesGen Brings Git Push to Azure Infrastructure](https://www.infoq.com/news/2022/03/nubesgen-azure-infrastructure/) - [charbelnemnom.com: Move Files Between Azure File Share Tiers and optimize storage costs](https://charbelnemnom.com/move-files-between-azure-file-share-tiers/) - [==techrepublic.com: What can you do with Azure Files?==](https://www.techrepublic.com/article/what-can-you-do-azure-files/) -- [==satyenkumar.medium.com: Demystifying The Cloud: An Overview of the Microsoft Azure== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://satyenkumar.medium.com/demystifying-the-cloud-computing-an-overview-of-the-microsoft-azure-6a5c1fb1799d) Learn how to make the most of the Azure cloud platform in this comprehensive story (Cloud Demystified Series) +- [==satyenkumar.medium.com: Demystifying The Cloud: An Overview of the Microsoft Azure== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://satyenkumar.medium.com/demystifying-the-cloud-computing-an-overview-of-the-microsoft-azure-6a5c1fb1799d) Learn how to make the most of the Azure cloud platform in this comprehensive story (Cloud Demystified Series). Go through 80% of Azure in 30 minutes +- [medium.com/microsoftazure: Ultimate guide for Enterprise-scale landing zone for Azure](https://medium.com/microsoftazure/ultimate-guide-for-azure-cloud-adoption-framework-for-enterprise-scale-landing-zone-bba2a385134d) +- [==learn.microsoft.com: Migrate Java applications to Azure== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://learn.microsoft.com/en-us/azure/developer/java/migration/migration-overview) +- [blog.cloudtrooper.net: Overlapping IP addresses in a hub-and-spoke network (feat. AVNM & ARS)](https://blog.cloudtrooper.net/2022/11/14/overlapping-ip-addresses-in-a-hub-and-spoke-network-feat-avnm-ars/) + +## Microsoft REST API Guidelines + +- [==Microsoft REST API Guidelines== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md) ## New Features - [==azure.microsoft.com: General availability: Azure Bastion native client support==](https://azure.microsoft.com/en-gb/updates/general-availability-azure-bastion-native-client-support/) +- [azure.microsoft.com: Generally available: SFTP support for Azure Blob Storage](https://azure.microsoft.com/en-us/updates/sftp-support-for-azure-blob-storage-now-generally-available/) ## Blogs @@ -93,11 +107,12 @@ - [dotnetcurry.com](https://www.dotnetcurry.com/) - [azurebrains.com: Azurebrains](https://www.azurebrains.com) Blog sobre Tecnologias Cloud, Azure, Inteligencia Artificial, etc. -## Azure Training +## Azure Training and Certifications - [johnthebrit/CertificationMaterials](https://github.com/johnthebrit/CertificationMaterials) A collection of materials related to my certification videos - [==azurecharts.com/learning: Azure Learning Explorer==](https://azurecharts.com/learning) Discover published Azure learning modules, paths, videos, certifications, exams for services of your interest. - [thomasmaurer.ch: How To Learn Microsoft Azure in 2022](https://www.thomasmaurer.ch/2022/01/how-to-learn-microsoft-azure-in-2022/) +- [charbelnemnom.com: Exam AZ-305: Microsoft Certified: Azure Solutions Architect Expert](https://charbelnemnom.com/az-305-exam-study-guide-azure-solutions-architect/) ## Azure Naming Convention @@ -106,6 +121,10 @@ - [seifbassem.com: Azure Naming Tool](https://www.seifbassem.com/blogs/posts/azure-naming-tool/) - [justinoconnor.codes: Azure Periodic Table of Resource Naming Convention Shorthands](https://justinoconnor.codes/2022/08/19/azure-periodic-table-of-resource-naming-convention-shorthands/) +## Mission-critical Architecture on Azure + +- [==learn.microsoft.com: Mission-critical baseline architecture on Azure==](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/containers/aks-mission-critical/mission-critical-intro) + ## Understand Azure Load Balancing - [docs.microsoft.com: Understand Azure Load Balancing. Decision tree for load balancing in Azure](https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/load-balancing-overview) @@ -142,7 +161,6 @@ - [Azure DevOps Tips: โ€œEachโ€ Loops](https://medium.com/@therealjordanlee/azure-devops-tips-each-loops-c082c692d025) - [cloudskills.io: Getting Started with Git and Azure DevOps: The Ultimate Guide ๐ŸŒŸ](https://cloudskills.io/blog/git-azure-devops) - [zartis.com: Simplify Your SDLC with Azure DevOps](https://www.zartis.com/simplify-your-sdlc-with-azure-devops/) -- [azurebrains.com: Despliega tu Azure Function App con Terraform y Azure DevOps ๐ŸŒŸ](https://www.azurebrains.com/2021/03/25/despliega-azure-function-terraform-azuredevops/) - [devblogs.microsoft.com: Controlling Release Pipelines with Gates and Azure Policy Compliance ๐ŸŒŸ](https://devblogs.microsoft.com/devops/controlling-release-pipelines-with-gates-and-azure-policy-compliance/) - [youtube: Azure DevOps Pipeline and Image Builder](https://www.youtube.com/watch?v=zL0eLEl2BxI&ab_channel=TravisRoberts) - [dev.to: Setting up a CI-CD Pipeline Using Azure DevOps ๐ŸŒŸ](https://dev.to/gbengelebs/setting-up-a-ci-cd-pipeline-using-azure-devops-4gb) @@ -157,6 +175,10 @@ - [thomast1906/DevOps-The-Hard-Way-Azure ๐ŸŒŸ](https://github.com/thomast1906/DevOps-The-Hard-Way-Azure) This repository contains free labs for setting up an entire workflow and DevOps environment from a real-world perspective in Azure - [==thinksys.com: Azure DevOps Pipeline Complete Guide 2022==](https://www.thinksys.com/azure/azure-devops-pipeline-complete-guide/) - [techcommunity.microsoft.com: CICD in Synapse SQL: How to deliver your database objects across multiple environments](https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/cicd-in-synapse-sql-how-to-deliver-your-database-objects-across/ba-p/3267507) +- [==medium.com/geekculture: Provision resources on AWS with Azure DevOps and Terraform โ€” Part I==](https://medium.com/geekculture/provision-resources-on-aws-with-azure-devops-and-terraform-part-i-3c0de6d34fc9) + - [==medium.com/geekculture: Provision resources on AWS with Azure DevOps and Terraform โ€” Part II==](https://medium.com/geekculture/provision-resources-on-aws-with-azure-devops-and-terraform-part-ii-45ee450139) +- [==medium.com/@sdevsecops: How to implement DevSecOps in a Kubernetes cluster environment-Github Actions and Azure DevOps==](https://medium.com/@sdevsecops/how-to-implement-devsecops-in-a-kubernetes-cluster-environment-github-actions-and-azure-devops-522bdd121e34) +- [==learn.microsoft.com: Azure DevOps Templates - Template types & usage== ๐ŸŒŸ๐ŸŒŸ](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates) ### YAML Schema in DevOps Azure Pipelines @@ -166,12 +188,20 @@ - [==Microsoft/azure-pipelines-tasks==](https://github.com/Microsoft/azure-pipelines-tasks) This repo contains the tasks that are provided out-of-the-box with Azure Pipelines and Team Foundation Server. This provides open examples on how we write tasks which will help you write other tasks which can be uploaded to your account or server. -## Azure AD and RBAC. Service Principal SPN +## Azure AD and RBAC. Azure Tenant and Azure Subscription. Service Principal SPN +- [==stackoverflow.com: What is the difference between an Azure tenant and Azure subscription?==](https://stackoverflow.com/questions/47307368/what-is-the-difference-between-an-azure-tenant-and-azure-subscription) +- [==marckean.com: Azure Vs Azure AD โ€“ Accounts / Tenants / Subscriptions==](https://marckean.com/2016/06/01/azure-vs-azure-ad-accounts-tenants-subscriptions/) +- [blogit.create.pt: Pros and Cons of Single Tenant vs Multiple Tenants in Office 365](https://blogit.create.pt/miguelisidoro/2019/01/07/pros-and-cons-of-single-tenant-vs-multiple-tenants-in-office-365/) +- [learn.microsoft.com: Classic subscription administrator roles, Azure roles, and Azure AD roles](https://learn.microsoft.com/en-us/azure/role-based-access-control/rbac-and-directory-admin-roles) +- [learn.microsoft.com: Subscriptions, licenses, accounts, and tenants for Microsoft's cloud offerings](https://learn.microsoft.com/en-us/microsoft-365/enterprise/subscriptions-licenses-accounts-and-tenants-for-microsoft-cloud-offerings?view=o365-worldwide) +- [learn.microsoft.com: Azure subscription and service limits, quotas, and constraints](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits) + - [learn.microsoft.com: Azure Active Directory limits](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-active-directory-limits) - [itnext.io: Secure Azure Cosmos DB access by using Azure Managed Identities](https://itnext.io/secure-azure-cosmos-db-access-by-using-azure-managed-identities-55f9fdf48fda) Getting rid of passwords (or connection strings) while accessing Azure services and instead making use of Managed Identities is a way to increase the security of your workloads. Learn how to use Managed Identities in this article. - [youtube.com: Azure Service Principal - SPN | Houssem Dellai](https://www.youtube.com/watch?v=-F9yzj4Kjeo&ab_channel=HoussemDellai) - [youtube.com: How to create Service Principals in Azure Portal | Raaviblog](https://www.youtube.com/watch?v=Hg-YsUITnck) - [==techcommunity.microsoft.com: Dynamic user membership rules, Azure Active Directory Administrative Units and password reset!== ๐ŸŒŸ](https://techcommunity.microsoft.com/t5/azure/dynamic-user-membership-rules-azure-active-directory/m-p/3281164) +- [learn.microsoft.com: Application registration permissions for custom roles in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/roles/custom-available-permissions) ### Register applications in Azure AD. Authenticate apps and services @@ -186,13 +216,16 @@ - [==nathannellans.com: App Registrations, Enterprise Apps, and Service Principals== ๐ŸŒŸ](https://www.nathannellans.com/post/app-registrations-enterprise-apps-and-service-principals) - [==nathannellans.com: Application Registrations and Enterprise Apps - Part 2== ๐ŸŒŸ](https://www.nathannellans.com/post/app-registration-enterprise-apps-part-2) -## Azure Arc. Azureโ€™s Hybrid And Multi-Cloud Platform. GitOps with Azure Arc +### Azure AD Pen Testing + +- [==zer1t0.gitlab.io: Attacking Active Directory: 0 to 0.9== ๐ŸŒŸ](https://zer1t0.gitlab.io/posts/attacking_ad/) + +## Azure Arc. Azureโ€™s Hybrid And Multi-Cloud Platform. GitOps with Azure Arc - [Azure Arc overview](https://docs.microsoft.com/en-us/azure/azure-arc/overview) Alternative to Google Anthos or RHACM - [azurearcjumpstart.io](https://azurearcjumpstart.io/) - [microsoft/azure_arc](https://github.com/microsoft/azure_arc) - [architecture diagrams and slides](https://github.com/microsoft/azure_arc/tree/main/docs/ppt) - [techcommunity.microsoft.com: Standardize DevOps practices across hybrid and multicloud environments](https://techcommunity.microsoft.com/t5/itops-talk-blog/standardize-devops-practices-across-hybrid-and-multicloud/ba-p/2795010) With Azure Arc-enabled Kubernetes, you can attach and configure Kubernetes clusters located either inside or outside Azure. -- [youtube: How to run an App Service Web App on Azure Arc-enabled Kubernetes - Part 2 | Azure Tips and Tricks](https://www.youtube.com/watch?v=53-Y_aI0KpE&ab_channel=MicrosoftAzure) - [docs.microsoft.com: CI/CD workflow using GitOps (Flux v2) - Azure Arc enabled Kubernetes](https://docs.microsoft.com/en-us/azure/azure-arc/kubernetes/conceptual-gitops-flux2-ci-cd) - [thomasmaurer.ch: Run cloud-native apps on Azure PaaS anywhere](https://www.thomasmaurer.ch/2021/06/run-cloud-native-apps-on-azure-paas-anywhere/) - [seifbassem.com: SSH into your Azure Arc-enabled servers from anywhere](https://www.seifbassem.com/blogs/posts/azure-arc-ssh/) @@ -203,9 +236,27 @@ - [DevOpsKit-docs](https://github.com/azsk/DevOpsKit-docs) - [ismiletechnologies.com: Secure DevOps Kit For Azure(AzSK)](https://www.ismiletechnologies.com/devsecops/secure-devops-kit-azureazsk/) +## Azure App Service + +- [learn.microsoft.com: Environment variables and app settings in Azure App Service](https://learn.microsoft.com/en-us/azure/app-service/reference-app-settings) +- [learn.microsoft.com: Configure a Java app for Azure App Service](https://learn.microsoft.com/en-us/azure/app-service/configure-language-java) +- [learn.microsoft.com: Configure a custom container for Azure App Service](https://learn.microsoft.com/en-us/azure/app-service/configure-custom-container) +- [returngis.net: Acceder a un App Service con Private Endpoint desde otra Vnet](https://www.returngis.net/2021/08/acceder-a-un-app-service-con-private-endpoint-desde-otra-vnet/) +- [youtube: How to run an App Service Web App on Azure Arc-enabled Kubernetes - Part 2 | Azure Tips and Tricks](https://www.youtube.com/watch?v=53-Y_aI0KpE&ab_channel=MicrosoftAzure) + ## Azure Application Gateway - [==nathannellans.com: Azure Application Gateway - Part 1== ๐ŸŒŸ](https://www.nathannellans.com/post/azure-application-gateway-part-1) +- [acethecloud.com: Which is better Azure App Gateway or Nginx configured on Azure VMs](https://acethecloud.com/blog/azure-application-gateway-and-nginx-on-vm/) + +## Azure Functions + +- [learn.microsoft.com: AZ-204: Implement Azure Functions ๐ŸŒŸ](https://learn.microsoft.com/en-us/training/paths/implement-azure-functions/) +- [azurebrains.com: Despliega tu Azure Function App con Terraform y Azure DevOps ๐ŸŒŸ](https://www.azurebrains.com/2021/03/25/despliega-azure-function-terraform-azuredevops/) + +## Azure Monitor managed service for Prometheus + +- [==techcommunity.microsoft.com: Introducing Azure Monitor managed service for Prometheus== ๐ŸŒŸ](https://techcommunity.microsoft.com/t5/azure-observability-blog/introducing-azure-monitor-managed-service-for-prometheus/ba-p/3600185) ## Mobile Apps @@ -249,6 +300,7 @@ - [dotnet-helpers.com: Passing Local Variables to Remote PowerShell session](https://dotnet-helpers.com/powershell/passing-local-variables-to-remote-powershell-session/) - [techcommunity.microsoft.com: Use PowerShell to search for accounts in Active Directory that have gone stale!](https://techcommunity.microsoft.com/t5/windows-server-for-it-pro/use-powershell-to-search-for-accounts-in-active-directory-that/m-p/3585934) - [techcommunity.microsoft.com: Azure Storage Blob Count & Capacity usage Calculator](https://techcommunity.microsoft.com/t5/azure-paas-blog/azure-storage-blob-count-amp-capacity-usage-calculator/ba-p/3516855) This PowerShell script allow you to count and calculate Azure Storage blob usage for Soft Deleted / non-Soft Deleted objects, by Container, by Tier, with Prefix, and considering Last Modified Date. Azure Storage blob objects is defined as Base Blobs, Blob Snapshots or Blob Versions. +- [dotnet-helpers.com: Azure KeyVault Set and Retrieve Secrets using Powershell ๐ŸŒŸ](https://dotnet-helpers.com/powershell/azure-keyvault-set-and-retrieve-secrets/) ### Microsoft Graph PowerShell SDK @@ -272,6 +324,7 @@ - [systemcenterdudes.com: Create Operational SCCM Collection Using Powershell Script](https://systemcenterdudes.com/create-operational-sccm-collection-using-powershell-script/) - [prae1809/PowerShell-Scripts: OperationalCollections](https://github.com/prae1809/PowerShell-Scripts/tree/master/OperationalCollections) This script will create a set of 134 SCCM collections for your various needs. These collections can be used for operational tasks afterward. - [docs.microsoft.com: Introduction to Collections in Configuration Manager](https://docs.microsoft.com/en-us/previous-versions/system-center/system-center-2012-r2/gg682177(v=technet.10)) +- [==github.com/Mr-Un1k0d3r/ATP-PowerShell-Scripts==](https://github.com/Mr-Un1k0d3r/ATP-PowerShell-Scripts) Microsoft Signed PowerShell scripts ### Crescendo powershell module @@ -305,7 +358,7 @@ ## Azure Bicep -- [Bicep](https://github.com/Azure/bicep) Bicep is a Domain Specific Language (DSL) for deploying Azure resources declaratively. +- [Bicep](https://github.com/Azure/bicep) Bicep is a Domain Specific Language (DSL) for deploying Azure resources declaratively. ## Azure Cross region Load Balancer @@ -328,6 +381,8 @@ - [techcommunity.microsoft.com: Security Control: Implement security best practices](https://techcommunity.microsoft.com/t5/azure-security-center/security-control-implement-security-best-practices/ba-p/2269914) - [==github.com/Cloud-Architekt: Azure AD - Attack and Defense Playbook==](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense) **This publication is a collection of various common attack scenarios on Azure Active Directory and how they can be mitigated or detected.** - [==devops.com: DevSecOps in Azure==](https://devops.com/devsecops-in-azure/) +- [learn.microsoft.com: SC-100: Design a Zero Trust strategy and architecture](https://learn.microsoft.com/en-us/training/paths/sc-100-design-zero-trust-strategy-architecture/) + - https://github.com/MicrosoftLearning/SC-100-Microsoft-Cybersecurity-Architect ## Data Ingestion. Azure Data Factory @@ -409,6 +464,10 @@ - [o365reports.com: Office 365 Reports](https://o365reports.com) +## Azure Books + +- [==azure.microsoft.com: Azure for Architects, Third Edition==](https://azure.microsoft.com/en-us/resources/azure-for-architects/) + ## Images ??? note "Click to expand!" diff --git a/docs/caching.md b/docs/caching.md index d9555a12..b9301c70 100644 --- a/docs/caching.md +++ b/docs/caching.md @@ -26,6 +26,7 @@ - [kothiyal-anuj.medium.com: Serverless Diary: The Ultimate Guide to Caching in the Cloud | Anuj Kothiyal](https://kothiyal-anuj.medium.com/serverless-diary-the-ultimate-guide-to-caching-in-the-cloud-249f6a06915f) - [medium.com/rtkal: Distributed Cache Design](https://medium.com/rtkal/distributed-cache-design-348cbe334df1) - [learncsdesign.medium.com: An Overview of Distributed Caching ๐ŸŒŸ](https://learncsdesign.medium.com/an-overview-of-distributed-caching-e426781d1ff0) +- [surfingcomplexity.blog: Cache invalidation really is one of the hardest problems in computer science](https://surfingcomplexity.blog/2022/11/25/cache-invalidation-really-is-one-of-the-hardest-things-in-computer-science/) ## Java Caching diff --git a/docs/chaos-engineering.md b/docs/chaos-engineering.md index b6b73f43..ab36874c 100644 --- a/docs/chaos-engineering.md +++ b/docs/chaos-engineering.md @@ -13,6 +13,7 @@ - [thenewstack.io: Why Chaos Engineering Isnโ€™t Just for Operations](https://thenewstack.io/why-chaos-engineering-isnt-just-for-operations/) - [medium.com/adidoescode: Chaos Engineering: How simulating adversity can help build eCommerce Resilience](https://medium.com/adidoescode/chaos-engineering-how-simulating-adversity-can-help-build-ecommerce-resilience-4a799c8912dc) - [opsmx.com: What is Chaos Engineering?](https://www.opsmx.com/blog/what-is-chaos-engineering/) +- [aws.amazon.com: Verify the resilience of your workloads using Chaos Engineering](https://aws.amazon.com/blogs/architecture/verify-the-resilience-of-your-workloads-using-chaos-engineering/) ## Chaos Engineering for kubernetes/Openshift @@ -50,6 +51,10 @@ - [Chaos engineering on Amazon EKS using AWS Fault Injection Simulator](https://aws.amazon.com/blogs/devops/chaos-engineering-on-amazon-eks-using-aws-fault-injection-simulator/) - [aws.amazon.com: Chaos Engineering with LitmusChaos on Amazon EKS](https://aws.amazon.com/blogs/containers/chaos-engineering-with-litmuschaos-on-amazon-eks/) In this tutorial, you will create an Amazon EKS cluster, install LitmusChaos and deploy a demo application. Then, you will define chaos experiments to be run on it and observe the behaviour - [blog.container-solutions.com: Comparing Chaos Engineering Tools for Kubernetes Workloads](https://blog.container-solutions.com/comparing-chaos-engineering-tools) How do Chaos Toolkit, Pumba, Litmus, and Chaos Mesh stack up against each other as chaos engineering tools for Kubernetes workloads? In this article, you will compare strengths and weaknesses. +- [blog.palark.com: Attaining harmony of chaos in Kubernetes with Chaos Mesh](https://blog.palark.com/chaos-mesh-in-kubernetes/) This article discusses chaos engineering solutions for Kubernetes using the Chaos Mesh operator. It covers tests on: + - Failing nodes + - Failing infrastructure dependencies + - Network problems ## Chaos Engineering for serverless computing @@ -62,6 +67,7 @@ - [techcommunity.microsoft.com: Announcing the Public Preview of Azure Chaos Studio](https://techcommunity.microsoft.com/t5/azure-governance-and-management/announcing-the-public-preview-of-azure-chaos-studio/ba-p/2893050) - [docs.microsoft.com: What is Azure Chaos Studio?](https://docs.microsoft.com/en-us/azure/chaos-studio/chaos-studio-overview) - [sqlservercentral.com: Chaos Engineering in Azure](https://www.sqlservercentral.com/articles/chaos-engineering-in-azure) +- [aws.amazon.com: Automating and Scaling Chaos Engineering using AWS Fault Injection Simulator](https://aws.amazon.com/blogs/industries/automating-and-scaling-chaos-engineering-using-aws-fault-injection-simulator/) ## Videos diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md index 0bebe1d7..1a5a6fef 100644 --- a/docs/cheatsheets.md +++ b/docs/cheatsheets.md @@ -11,26 +11,26 @@ 9. [REST API](#rest-api) 10. [eBooks](#ebooks) 11. [Documentation Browser for Software Developers](#documentation-browser-for-software-developers) - 1. [Dash for MacOS (paid)](#dash-for-macos-paid) - 2. [Velocity (Windows, paid)](#velocity-windows-paid) - 3. [Zeal (Windows, Linux, Free)](#zeal-windows-linux-free) + 1. [Dash for MacOS (paid)](#dash-for-macos-paid) + 2. [Velocity (Windows, paid)](#velocity-windows-paid) + 3. [Zeal (Windows, Linux, Free)](#zeal-windows-linux-free) 12. [Kubernetes Knowledge Hubs and Glossary](#kubernetes-knowledge-hubs-and-glossary) 13. [Kubernetes and Kubectl Cheat Sheets](#kubernetes-and-kubectl-cheat-sheets) 14. [Kubernetes Kustomize Cheat Sheet](#kubernetes-kustomize-cheat-sheet) 15. [Docker Cheat Sheets](#docker-cheat-sheets) - 1. [Docker Swarm Cheat Sheets](#docker-swarm-cheat-sheets) + 1. [Docker Swarm Cheat Sheets](#docker-swarm-cheat-sheets) 16. [Security Cheat Sheets](#security-cheat-sheets) 17. [Git and GitHub Cheat Sheets](#git-and-github-cheat-sheets) - 1. [Git Flow Cheat Sheets](#git-flow-cheat-sheets) - 2. [Sourcetree Cheat Sheet](#sourcetree-cheat-sheet) - 3. [GitKraken Git Cheat](#gitkraken-git-cheat) + 1. [Git Flow Cheat Sheets](#git-flow-cheat-sheets) + 2. [Sourcetree Cheat Sheet](#sourcetree-cheat-sheet) + 3. [GitKraken Git Cheat](#gitkraken-git-cheat) 18. [Ansible Cheat Sheets](#ansible-cheat-sheets) 19. [Packer and Terraform Cheat Sheets](#packer-and-terraform-cheat-sheets) 20. [Linux Command Cheat Sheets](#linux-command-cheat-sheets) - 1. [SSH Cheat Sheets](#ssh-cheat-sheets) - 2. [Nmap Cheat Sheet](#nmap-cheat-sheet) + 1. [SSH Cheat Sheets](#ssh-cheat-sheets) + 2. [Nmap Cheat Sheet](#nmap-cheat-sheet) 21. [OpenShift Cheat Sheets](#openshift-cheat-sheets) - 1. [Debezium Cheat Sheets](#debezium-cheat-sheets) + 1. [Debezium Cheat Sheets](#debezium-cheat-sheets) 22. [Kubernetes Operator Cheat Sheets](#kubernetes-operator-cheat-sheets) 23. [Kubernetes POD Cheat Sheets](#kubernetes-pod-cheat-sheets) 24. [Buildah Cheat Sheets](#buildah-cheat-sheets) @@ -111,6 +111,7 @@ - [tutorialsdojo.com: AWS Cheat Sheets ๐ŸŒŸ](https://tutorialsdojo.com/links-to-all-aws-cheat-sheets/) - [igoroseledko.com: AWS CLI Cheat Sheet](https://www.igoroseledko.com/aws-cli-cheat-sheet/) - [==docs.aws.amazon.com: Actions, resources, and condition keys for AWS services== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) There's a Reference for all ๐—œ๐—”๐—  ๐—”๐—ฐ๐˜๐—ถ๐—ผ๐—ป๐˜€, ๐—ฟ๐—ฒ๐˜€๐—ผ๐˜‚๐—ฟ๐—ฐ๐—ฒ๐˜€, ๐—ฎ๐—ป๐—ฑ ๐—ฐ๐—ผ๐—ป๐—ฑ๐—ถ๐˜๐—ถ๐—ผ๐—ป ๐—ธ๐—ฒ๐˜†๐˜€ ๐—ณ๐—ผ๐—ฟ ๐—ฎ๐—น๐—น ๐—”๐—ช๐—ฆ ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ๐˜€ ๐Ÿ” Bookmark it! ๐Ÿ”– +- [==awsgeek.com/Amazon-S3==](https://www.awsgeek.com/Amazon-S3/) ## Google Cloud Cheat Sheets @@ -201,9 +202,10 @@ - `kubectl --help` - [betterprogramming.pub: Kubectl Commands All Beginners Must Know](https://betterprogramming.pub/kubectl-commands-all-beginners-must-know-e504349fcec9) Control Kubernetes Cluster like a Pro - [medium.com/@devopsfolks8546: Kubectl Commands Cheat Sheet. List Of Kubernetes Most Useful Commands](https://medium.com/@devopsfolks8546/1-pods-c3d1a9349ba0) -- [faun.pub: Kubernetes Commands for Deployment and Management](https://faun.pub/kubernetes-commands-for-deployment-and-management-e10a74c95015) +- [faun.pub: Kubernetes Commands for Deployment and Management](https://faun.pub/kubernetes-commands-for-deployment-and-management-e10a74c95015) - [learncloudnative.com: Kubernetes CLI (kubectl) tips you didn't know about](https://learncloudnative.com/blog/2022-05-10-kubectl-tips) - [cloudtechtwitter.com: kubernetes common commands](https://www.cloudtechtwitter.com/2022/05/kubernetes-common-commands.html) +- [==thenewstack.io: K8s Resource Management: An Autoscaling Cheat Sheet== ๐ŸŒŸ](https://thenewstack.io/k8s-resource-management-an-autoscaling-cheat-sheet/) A concise but comprehensive guide to using and managing horizontal and vertical autoscaling in the Kubernetes environment. ## Kubernetes Kustomize Cheat Sheet @@ -282,6 +284,7 @@ - [==opensource.com: 10 Git tips we can't live without==](https://opensource.com/article/22/4/git-tips) Opensource.com community members share their favorite Git tips for saving time or preventing mistakes. - Terminal tip: Always use `less -R` to display colored terminal output properly: `git diff --color=always | less -R` - [betterprogramming.pub: 8 Advanced Git Commands Universities Wonโ€™t Teach You](https://betterprogramming.pub/8-advanced-git-commands-university-wont-teach-you-fe63b483d34b) Advanced tips and tricks that will save you time and headaches. +- [==intellipaat.com: GIT Cheat Sheet== ๐ŸŒŸ](https://intellipaat.com/blog/tutorial/devops-tutorial/git-cheat-sheet/) ### Git Flow Cheat Sheets @@ -384,6 +387,7 @@ ## Prometheus Cheat Sheets - [iximiuz.com: Prometheus Cheat Sheet - How to Join Multiple Metrics (Vector Matching) ๐ŸŒŸ](https://iximiuz.com/en/posts/prometheus-vector-matching/) +- [iximiuz.com: Prometheus Cheat Sheet - Moving Average, Max, Min, etc (Aggregation Over Time)](https://iximiuz.com/en/posts/prometheus-functions-agg-over-time/) Building anomaly detection with Prometheus requires the use of *_over_time function. But what do these functions do concretely? ## Helm Cheat Sheets @@ -422,6 +426,7 @@ - [Jenkins Cheat Sheet](https://miro.medium.com/max/1400/1*5tZVl-tqZwSoxH97v4u45w.png) - [medium: Jenkins Cheat Sheet](https://medium.com/edureka/jenkins-cheat-sheet-e0f7e25558a3) - [cheatography.com: Jenkins Cheat Sheet](https://cheatography.com/funthomas424242/cheat-sheets/jenkins/) +- [intellipaat.com: Jenkins Cheat Sheet ๐ŸŒŸ](https://intellipaat.com/blog/tutorial/devops-tutorial/jenkins-cheat-sheet/) ## Bitbucket Pipelines @@ -547,6 +552,8 @@ ![googling stuff](images/googling_stuff.jpg) [![url cheatsheet](images/url_cheatsheet.jfif)](https://twitter.com/_georgemoller) + + ![junit cheat sheet](images/junit_cheatsheet.jfif) ## Tweets diff --git a/docs/cicd.md b/docs/cicd.md index aff48185..2f439c79 100644 --- a/docs/cicd.md +++ b/docs/cicd.md @@ -2,19 +2,21 @@ 1. [Introduction](#introduction) 2. [CI/CD Continuous Integration and Continuous Delivery](#cicd-continuous-integration-and-continuous-delivery) -3. [Observability](#observability) -4. [Code Review](#code-review) -5. [Security in CI/CD](#security-in-cicd) -6. [Progressive Delivery](#progressive-delivery) -7. [Deployment Strategies](#deployment-strategies) -8. [Pipeline Patterns](#pipeline-patterns) -9. [CI/CD with Kubernetes](#cicd-with-kubernetes) -10. [CI/CD with OpenShift](#cicd-with-openshift) -11. [CI/CD with AWS](#cicd-with-aws) -12. [Reports on the Enterprise CI/CD Market](#reports-on-the-enterprise-cicd-market) -13. [Tools](#tools) -14. [Awesome Lists](#awesome-lists) -15. [Videos](#videos) +3. [CI/CD Pipelines With Kubernetes](#cicd-pipelines-with-kubernetes) +4. [Observability](#observability) +5. [Code Review](#code-review) +6. [Security in CI/CD](#security-in-cicd) +7. [Progressive Delivery](#progressive-delivery) +8. [Deployment Strategies](#deployment-strategies) +9. [Pipeline Patterns](#pipeline-patterns) +10. [CI/CD with Kubernetes](#cicd-with-kubernetes) +11. [CI/CD with OpenShift](#cicd-with-openshift) +12. [CI/CD with AWS](#cicd-with-aws) +13. [Reports on the Enterprise CI/CD Market](#reports-on-the-enterprise-cicd-market) +14. [Tools](#tools) +15. [Awesome Lists](#awesome-lists) +16. [Images](#images) +17. [Videos](#videos) ## Introduction @@ -100,6 +102,13 @@ - [harness.io: Modern Software Delivery Best Practices & Software Delivery Management](https://harness.io/blog/software-delivery-best-practices/) - [linkedin pulse: Enabling CI/CD to Boost DevOps | Pavan Belagatti](https://www.linkedin.com/pulse/enabling-cicd-boost-devops-pavan-belagatti/) - [about.gitlab.com: How to learn CI/CD fast](https://about.gitlab.com/blog/2022/04/13/how-to-learn-ci-cd-fast/) +- [thenewstack.io: Are Monolith CI/CD Pipelines Killing Quality in Your Software?](https://thenewstack.io/are-monolith-ci-cd-pipelines-killing-quality-in-your-software/) This creates complex challenges for developers trying to push commits with confidence and DevOps teams responsible for fine-tuning their pipelines. +- [clickittech.com: CI/CD Best Practices: Top 10 Practices for Financial Services](https://www.clickittech.com/devops/ci-cd-best-practices/) + +## CI/CD Pipelines With Kubernetes + +- [==dzone.com: An Overview of CI/CD Pipelines With Kubernetes==](https://dzone.com/articles/an-overview-of-cicd-pipelines-with-kubernetes) Take a look at CI/CD approaches in a Kubernetes ecosystem, best practices for implementing an efficient CI/CD framework, and popular open-source CI/CD tools. +- [==thenewstack.io: Kubernetes CI/CD Pipelines Explained==](https://thenewstack.io/kubernetes-ci-cd-pipelines-explained/) Building an effective CI/CD pipeline requires diligent technical analysis, a generous amount of planning and choosing the right set of tools. ## Observability @@ -108,6 +117,7 @@ ## Code Review - [developers.redhat.com: 10 tips for reviewing code you don't like](https://developers.redhat.com/blog/2019/07/08/10-tips-for-reviewing-code-you-dont-like) + ## Security in CI/CD - [CI Checks Are Not Enough: Combat Configuration Drift in Kubernetes Resources](https://thenewstack.io/ci-checks-are-not-enough-combat-configuration-drift-in-kubernetes-resources/) @@ -147,7 +157,7 @@ - [Devtron Labs: Devtron provides a 'seamless,โ€™ 'implementation agnostic uniform interface' across Kubernetes Life Cycle integrated with most Opensource and commercial tools](https://devtron.ai/) - [thenewstack.io: 7 features that make kubernetes ideal for CI/CD](https://thenewstack.io/7-features-that-make-kubernetes-ideal-for-ci-cd/) - [thenewstack.io: CI/CD with kubernetes ๐ŸŒŸ](https://thenewstack.io/ebooks/kubernetes/ci-cd-with-kubernetes/) -- [harness.io: Kubernetes CI/CD Best Practices](https://harness.io/blog/kubernetes-ci-cd-best-practices/) With all of the benefits that Kubernetes has, having good CI/CD practices is key. Kubernetes did not magically erase the discipline that your CI/CD journey has taken you on before Kubernetes. Leverage Kubernetesโ€™s strengths to further your CI/CD journey. +- [harness.io: Kubernetes CI/CD Best Practices](https://harness.io/blog/kubernetes-ci-cd-best-practices/) With all of the benefits that Kubernetes has, having good CI/CD practices is key. Kubernetes did not magically erase the discipline that your CI/CD journey has taken you on before Kubernetes. Leverage Kubernetesโ€™s strengths to further your CI/CD journey. ## CI/CD with OpenShift @@ -176,6 +186,16 @@ - [Awesome CI/CD ๐ŸŒŸ](https://github.com/cicdops/awesome-ciandcd) +## Images + +??? note "Click to expand!" + +
+ ![cicd cheatsheet](images/cicd-cheatsheet.jfif) + + ![blue green deployment strategy](images/blue-green-deployment.jfif) +
+ ## Videos
@@ -187,6 +207,3 @@
- - - diff --git a/docs/cloud-arch-diagrams.md b/docs/cloud-arch-diagrams.md index ddb8f40d..cc6e3c21 100644 --- a/docs/cloud-arch-diagrams.md +++ b/docs/cloud-arch-diagrams.md @@ -31,6 +31,7 @@ - [kubernetes.io: Diagram Guide - Mermaid JavaScript library ๐ŸŒŸ](https://kubernetes.io/docs/contribute/style/diagram-guide/) - [mingrammer/diagrams](https://github.com/mingrammer/diagrams) ๐ŸŽจ Diagram as Code for prototyping cloud system architectures - [navveenbalani.dev: Code To Custom Cloud Architecture Diagrams](https://navveenbalani.dev/index.php/articles/code-to-custom-cloud-architecture-diagrams/) +- [github.com/dcasati/kubernetes-PlantUML](https://github.com/dcasati/kubernetes-PlantUML) Kubernetes diagrams using VS Code. Kubernetes-PlantUML contains the PlantUML sprites, macros and stereotypes for creating PlantUML diagrams with the Kubernetes components. This work is based on the official Kubernetes Icons Set. ## Architecture Icons diff --git a/docs/container-managers.md b/docs/container-managers.md index 1e0e3c48..440eb0fa 100644 --- a/docs/container-managers.md +++ b/docs/container-managers.md @@ -9,7 +9,8 @@ 3. [Container Managers / Container Runtimes (CRI runtimes)](#container-managers--container-runtimes-cri-runtimes) 1. [CRI-O](#cri-o) 2. [Podman. Pod Manager tool](#podman-pod-manager-tool) - 1. [Containers In High Security Environments with Podman](#containers-in-high-security-environments-with-podman) + 1. [Podman Desktop](#podman-desktop) + 2. [Containers In High Security Environments with Podman](#containers-in-high-security-environments-with-podman) 4. [Container Images](#container-images) 1. [Red Hat Universal Base Image](#red-hat-universal-base-image) 5. [Container Tools](#container-tools) @@ -28,11 +29,13 @@ ## OCI Project - [OCI: Open Container Initiative](https://www.opencontainers.org/) + ### OCI Runtimes #### runc - [runc](https://github.com/opencontainers/runc) CLI tool for spawning and running containers according to the OCI specification + #### crun - [crun](https://github.com/containers/crun) A fast and lightweight fully featured OCI runtime and C library for running containers @@ -112,6 +115,12 @@ - Here's how I stop/remove all containers with podman: `podman stop -a; podman rm -a` - [medium.com/@raghavendraguttur: Podman Containers โ€” Beginnerโ€™s Guide](https://medium.com/@raghavendraguttur/podman-containers-beginners-guide-830b931e66f4) In this article, you will learn about Podman โ€” an open-source tool for managing containers, images, volumes, and pods (group of containers). You will also compare it to buildah and skopeo. - [nilesh93.medium.com: Replacing Docker Desktop with Podman and Kind in MacOS](https://nilesh93.medium.com/replacing-docker-desktop-with-podman-and-kind-in-macos-c750581a3fda) +- [==dev.to: Containers without Docker (podman, buildah, and skopeo)==](https://dev.to/cedricclyburn/containers-without-docker-podman-buildah-and-skopeo-1eal) In this article, you will learn how you can use Podman, Buildah, and Skopeo as replacements for the traditional Docker workflow, without the use of a daemon or root privileges + +#### Podman Desktop + +- [==Podman Desktop==](https://podman-desktop.io/) +- [developers.redhat.com: Podman expands to the Desktop](https://developers.redhat.com/articles/2022/10/24/podman-expands-desktop) #### Containers In High Security Environments with Podman diff --git a/docs/customer.md b/docs/customer.md index 2c9edb70..535669ff 100644 --- a/docs/customer.md +++ b/docs/customer.md @@ -54,6 +54,7 @@ ## Volkswagen - [redhat.com: The Volkswagen Group builds automated testing environment](https://www.redhat.com/en/success-stories/the-volkswagen-group) +- [xataka.com: El auge del coche elรฉctrico y autรณnomo se ha topado con otra barrera: el software. Volkswagen lo sabe bien](https://www.xataka.com/movilidad/auge-coche-electrico-autonomo-se-ha-topado-otra-barrera-software-volkswagen-sabe-bien) ## Mercedes Benz @@ -85,6 +86,8 @@ ## AI for Medical Imaging - [healthitanalytics.com: AI for Medical Imaging Boosts Cancer Screenings with Provider Aid](https://healthitanalytics.com/news/ai-for-medical-imaging-boosts-cancer-screenings-with-provider-aid) +- [valenciaplaza.com: El IIS La Fe liderarรก la direcciรณn cientรญfica del Nodo Central del Atlas de Imรกgenes en Cรกncer](https://valenciaplaza.com/hospital-general-castello-instala-primer-equipo-cirugia-robotica-da-vinci) Se trata de una plataforma diseรฑada para generar "conjuntos masivos de datos de calidad" centrados en la imagen mรฉdica y su informaciรณn clรญnica, molecular y genรฉtica relacionada, obtenidos en el รกmbito asistencial y de investigaciรณn. Estos datos enlazados permiten construir estudios clรญnicos observacionales controlados, como si fueran ensayos clรญnicos. Esta gran plataforma de imรกgenes y datos serรก tambiรฉn "clave" para el desarrollo y validaciรณn de modelos de inteligencia artificial que permitan un diagnรณstico temprano, predecir la evoluciรณn de la enfermedad y estimar la respuesta a un tratamiento oncolรณgico especรญfico en un paciente concreto. Los datos clรญnicos y las imรกgenes que se obtienen en el รกmbito asistencial se adquieren con el foco en un paciente individual, su aprovechamiento posterior necesita procesos que garanticen su seguridad (desidentificaciรณn) y normalizaciรณn (armonizaciรณn) para minimizar las diferencias en calidad de imagen entre diferentes equipamientos y fabricantes. +- [aws.amazon.com: Accelerating radiology imaging workflows with relevant clinical context on AWS](https://aws.amazon.com/blogs/industries/accelerating-radiology-imaging-workflows-with-relevant-clinical-context-on-aws/) ## Videos diff --git a/docs/databases.md b/docs/databases.md index 7f4ab3c3..9602b174 100644 --- a/docs/databases.md +++ b/docs/databases.md @@ -1,4 +1,5 @@ # Databases on Kubernetes. Database DevOps + 1. [Introduction](#introduction) 2. [How to choose the right database for your service](#how-to-choose-the-right-database-for-your-service) 3. [Database Load Balancer](#database-load-balancer) @@ -12,32 +13,33 @@ 10. [Database Continuous Integration](#database-continuous-integration) 11. [Databases on Kubernetes](#databases-on-kubernetes) 12. [Database DevOps](#database-devops) -13. [KubeDB Cloud Native Postgress Database](#kubedb-cloud-native-postgress-database) -14. [Cockroach Cloud Native Database](#cockroach-cloud-native-database) -15. [Operator Lifecycle Manager (OLM)](#operator-lifecycle-manager-olm) -16. [Spilo PostgreSQL Operator](#spilo-postgresql-operator) -17. [Zalando PostgreSQL Operator](#zalando-postgresql-operator) -18. [Crunchy Data PostgreSQL Operator](#crunchy-data-postgresql-operator) -19. [Oracle 12c on OpenShift Container Platform](#oracle-12c-on-openshift-container-platform) -20. [Oracle Database Operator for Kubernetes](#oracle-database-operator-for-kubernetes) -21. [SQL Server](#sql-server) -22. [MySQL](#mysql) -23. [MariaDB](#mariadb) -24. [PostgreSQL](#postgresql) -25. [Percona MySQL](#percona-mysql) -26. [Percona PostgreSQL Operator](#percona-postgresql-operator) -27. [Redis](#redis) -28. [Rockset](#rockset) -29. [PysonDB](#pysondb) -30. [Clickhouse](#clickhouse) -31. [Apache Ignite](#apache-ignite) -32. [Tools](#tools) -33. [Time-Series Database](#time-series-database) -34. [Data Analytics and Visualization Tools](#data-analytics-and-visualization-tools) -35. [Data Lakes](#data-lakes) -36. [Graph Databases](#graph-databases) -37. [Videos](#videos) -38. [Tweets](#tweets) +13. [Database Mesh](#database-mesh) +14. [KubeDB Cloud Native Postgress Database](#kubedb-cloud-native-postgress-database) +15. [Cockroach Cloud Native Database](#cockroach-cloud-native-database) +16. [Operator Lifecycle Manager (OLM)](#operator-lifecycle-manager-olm) +17. [Spilo PostgreSQL Operator](#spilo-postgresql-operator) +18. [Zalando PostgreSQL Operator](#zalando-postgresql-operator) +19. [Crunchy Data PostgreSQL Operator](#crunchy-data-postgresql-operator) +20. [Oracle 12c on OpenShift Container Platform](#oracle-12c-on-openshift-container-platform) +21. [Oracle Database Operator for Kubernetes](#oracle-database-operator-for-kubernetes) +22. [SQL Server](#sql-server) +23. [MySQL](#mysql) +24. [MariaDB](#mariadb) +25. [PostgreSQL](#postgresql) +26. [Percona MySQL](#percona-mysql) +27. [Percona PostgreSQL Operator](#percona-postgresql-operator) +28. [Redis](#redis) +29. [Rockset](#rockset) +30. [PysonDB](#pysondb) +31. [Clickhouse](#clickhouse) +32. [Apache Ignite](#apache-ignite) +33. [Tools](#tools) +34. [Time-Series Database](#time-series-database) +35. [Data Analytics and Visualization Tools](#data-analytics-and-visualization-tools) +36. [Data Lakes](#data-lakes) +37. [Graph Databases](#graph-databases) +38. [Videos](#videos) +39. [Tweets](#tweets) ## Introduction @@ -79,6 +81,12 @@ - [==architecturenotes.co: Things You Should Know About Databases==](https://architecturenotes.co/things-you-should-know-about-databases/) This is the first post in a series called Things You Should Know. Think of it as a primer to level set from base principles on various topics. Today we are discussing databases! - [vladmihalcea.com: A beginnerโ€™s guide to database multitenancy](https://vladmihalcea.com/database-multitenancy/) - [itnext.io: How to Run Databases in Kubernetes](https://itnext.io/stateful-workloads-in-kubernetes-e49b56a5959) 90% of the customers believe it is ready for stateful workloads, and a large majority (70%) are running them in production with databases topping the list. Companies report significant benefits to standardization, consistency, and management as key drivers. +- [thenewstack.io: More Database, Analytics Workloads Ran on Kubernetes in 2022](https://thenewstack.io/more-database-analytics-workloads-ran-on-kubernetes-in-2022/) More than three in four participants in the new Data on Kubernetes survey now acknowledge the use of databases on Kubernetes, up from 50% in 2021. +- [medium.com/@bijit211987: Kubernetes ready for stateful workloads and to Revolutionize Enterprise Database Management](https://medium.com/@bijit211987/kubernetes-ready-for-stateful-workloads-and-to-revolutionize-enterprise-database-management-3cd619b1a0b2) +- [==medium.com/javarevisited: Top Performance issues every developer/architect must know โ€” part 1-Database==](https://medium.com/javarevisited/top-performance-issues-every-developer-architect-must-know-part-1-fc1ad6e1644b) +- [infoq.com: Create Your Distributed Database on Kubernetes with Existing Monolithic Databases](https://www.infoq.com/articles/kubernetes-databases-apache-sharding-sphere/) +- [==dineshchandgr.medium.com: Why do we need a Database Connection Pool? -every programmer must know==](https://dineshchandgr.medium.com/why-do-we-need-a-database-connection-pool-every-programmer-must-know-9f90e7c8e5af) In this article, we looked at what is Database connection and its life cycle. Then we saw the drawbacks of creating connections on the fly and then saw the need to use a Database Connection Pool. We also looked at the design patterns on where to place the connection pool. We have then looked at the performance issues that can arise from the Database connection pool and concluded the article by looking at the common connection pool frameworks used in Java. +- [==medium.com/fintechexplained: What Is Database Sharding?==](https://medium.com/fintechexplained/what-is-database-sharding-582b36282f97) Learn How Splitting Database Across Multiple Machines Improves Performance By Processing Requests In Parallel For High Volume Applications ## How to choose the right database for your service @@ -162,6 +170,10 @@ - [informationweek.com: Can Enterprises Benefit From Adopting Database DevOps?](https://www.informationweek.com/devops/can-enterprises-benefit-from-adopting-database-devops/a/d-id/1337238) - [medium: DevOps and Databasesโ€Šโ€”โ€ŠThe forgotten automation](https://medium.com/devops-dudes/devops-and-databases-the-forgotten-automation-95325b2d3c89) +## Database Mesh + +- [medium.com/@database-mesh: Database Mesh 2.0: Database Governance in a Cloud Native Environment](https://medium.com/@database-mesh/database-mesh-2-0-database-governance-in-a-cloud-native-environment-3e41f0f2722c) This article reviews the background of Database Mesh, reexamines the value of Database Mesh 1.0, and introduces the new concepts, ideas, and features of Database Mesh 2.0. It also attempts to explore the future of Database Mesh + ## KubeDB Cloud Native Postgress Database - [kubedb.com](https://kubedb.com/) Run production-grade databases easily on Kubernetes @@ -170,6 +182,7 @@ - [Wikipedia: CockroachDB](https://en.wikipedia.org/wiki/Cockroach_Labs) is a project that is designed to store copies of data in multiple locations in order to deliver speedy access. It is described as a scalable, consistently-replicated, transactional datastore. - [==Cockroach==](https://www.cockroachlabs.com/docs/stable/orchestration.html) +- [cockroachlabs.com: Automated database operations with Terraform](https://www.cockroachlabs.com/blog/automate-database-ops-with-terraform/) ## Operator Lifecycle Manager (OLM) @@ -258,6 +271,7 @@ - [==adamtheautomator.com: How to Deploy Postgres to Kubernetes== ๐ŸŒŸ](https://adamtheautomator.com/postgres-to-kubernetes/) In this step-by-step tutorial, you will learn how to securely deploy Postgres to Kubernetes using two methods: - Helm charts - YAML configurations +- [purnapoudel.blogspot.com: How to Configure PostgreSQL with SSL/TLS support on Kubernetes](https://purnapoudel.blogspot.com/2018/09/how-to-configure-postgresql-with-ssl-tls-on-kubernetes.html) This tutorial describes detailed steps to deploy PostgreSQL on Kubernetes with SSL/TLS support using PersistentVolume, configMap, and secrets along with possible issues, troubleshooting steps and work-around. ## Percona MySQL @@ -362,5 +376,9 @@

Kubernetes Database Operator is useful for building scalable database servers as a database cluster. But migrating existing databases to k8s requires a lot of manual work due to having to create new artifacts.

At our next meetup, we'll demo an open-source tool to solve this. pic.twitter.com/o55vnyITV2

— konveyor.io (@Konveyor_io) February 4, 2022

Surprising number of devs today don't seem to know how to write their own database schemas. Is SQL really that out of fashion?

— Joyce Park (@troutgirl) April 2, 2022
+ +

It is often surprising how little is known about how databases operate at a surface level, considering they store almost all of the states in our applications. Things You Should Know About Databases. pic.twitter.com/SAX5wHaS3m

— Architecture Notes (@arcnotes) October 27, 2022
+ +

Partitioning is the process of storing a large database across multiple machines.

Here are the popular partitioning architectures with their benefits and costs: {1/8} โ†“ pic.twitter.com/85JdhcISJq

— Fernando ๐Ÿ‡ฎ๐Ÿ‡น๐Ÿ‡จ๐Ÿ‡ญ (@Franc0Fernand0) December 17, 2022
- \ No newline at end of file + diff --git a/docs/demos.md b/docs/demos.md index b9ade2b0..e0a7c5bb 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -1,4 +1,5 @@ # DevOps Demos. Boilerplates/Samples, Tutorials & Screencasts + 1. [DevOps Screencasts](#devops-screencasts) 2. [DevOps Blogs](#devops-blogs) 3. [Kubernetes Blogs](#kubernetes-blogs) @@ -56,40 +57,41 @@ 6. [Jenkins and AWS Kubernetes](#jenkins-and-aws-kubernetes) 7. [SDKMAN](#sdkman) 8. [Jenkins Scripts](#jenkins-scripts) - 9. [Postman & Newman API Automated Tests](#postman--newman-api-automated-tests) + 9. [Postman \& Newman API Automated Tests](#postman--newman-api-automated-tests) 10. [Monitoring Jenkins with Grafana](#monitoring-jenkins-with-grafana) 9. [Jenkins X](#jenkins-x) 10. [Spinnaker](#spinnaker) 11. [Nexus3 on Kubernetes](#nexus3-on-kubernetes) 12. [GitLab](#gitlab) 13. [Spring PetClinic Sample Application](#spring-petclinic-sample-application) - 1. [Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL](#modular-pipeline-library-mpl-petclinic-pipeline-example-with-mpl) - 2. [PetClinic on Kubernetes](#petclinic-on-kubernetes) - 3. [PetClinic Docker images](#petclinic-docker-images) - 4. [OpenShift.io Samples](#openshiftio-samples) + 1. [Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL](#modular-pipeline-library-mpl-petclinic-pipeline-example-with-mpl) + 2. [PetClinic on Kubernetes](#petclinic-on-kubernetes) + 3. [PetClinic Docker images](#petclinic-docker-images) + 4. [OpenShift.io Samples](#openshiftio-samples) 14. [AWS Samples (Boilerplates)](#aws-samples-boilerplates) 15. [Azure Samples](#azure-samples) - 1. [Azure DevOps Demos. Azure DevOps Pipelines](#azure-devops-demos-azure-devops-pipelines) - 2. [Azure Demos](#azure-demos) + 1. [Azure DevOps Demos. Azure DevOps Pipelines](#azure-devops-demos-azure-devops-pipelines) + 2. [Azure Demos](#azure-demos) 16. [GCP Samples](#gcp-samples) - 1. [Google DevOps Demos. Custom Samples and Cloud Code](#google-devops-demos-custom-samples-and-cloud-code) - 2. [GitOps with Anthos Config Management](#gitops-with-anthos-config-management) + 1. [Google DevOps Demos. Custom Samples and Cloud Code](#google-devops-demos-custom-samples-and-cloud-code) + 2. [GitOps with Anthos Config Management](#gitops-with-anthos-config-management) 17. [SpringBoot Demos](#springboot-demos) 18. [Quarkus Demos](#quarkus-demos) 19. [Golang Demos](#golang-demos) 20. [Kafka](#kafka) -21. [Apache Camel & ActiveMQ. Event driven integration](#apache-camel--activemq-event-driven-integration) +21. [Apache Camel \& ActiveMQ. Event driven integration](#apache-camel--activemq-event-driven-integration) 22. [Codeless](#codeless) 23. [JBoss EAP](#jboss-eap) 24. [Terraform](#terraform) 25. [Prometheus and Grafana](#prometheus-and-grafana) 26. [GitHub Actions](#github-actions) - 1. [RedHat GitHub Actions](#redhat-github-actions) + 1. [RedHat GitHub Actions](#redhat-github-actions) 27. [Red Hat Process Automation Manager](#red-hat-process-automation-manager) 28. [API Testing and Postman](#api-testing-and-postman) -29. [QR Codes](#qr-codes) -30. [Serverless](#serverless) -31. [Labs](#labs) +29. [OpenTelemetry](#opentelemetry) +30. [QR Codes](#qr-codes) +31. [Serverless](#serverless) +32. [Labs](#labs) ## DevOps Screencasts @@ -143,6 +145,7 @@ - [galaxy.ansible.com/ansible/product_demos ๐ŸŒŸ](https://galaxy.ansible.com/ansible/product_demos) - [ankush-chavan.medium.com: Creating Multi-Cloud Kubernetes Cluster on AWS, Azure, and GCP cloud](https://ankush-chavan.medium.com/creating-multi-cloud-kubernetes-cluster-on-aws-azure-and-gcp-cloud-92d64633bdfc) - [redhat.com: Build a lab in 36 seconds with Ansible](https://www.redhat.com/sysadmin/build-VM-fast-ansible) Using Ansible makes provisioning virtual machines automated, flexible, repeatable, and fast. +- [betterprogramming.pub: Clean Up Your Kubernetes Deployments Using Ansible](https://betterprogramming.pub/clean-up-your-kubernetes-deployments-using-ansible-10a000db313b) Playbooks and templates make rolling out K8s objects a breeze ### GitOps @@ -150,6 +153,7 @@ - [kubesandclouds.com: Werf: Fully customizable GitOps ๐ŸŒŸ](https://kubesandclouds.com/index.php/2020/09/01/werf-gitops/) Werf builds and publishes images, deploys applications to Kubernetes clusters, and removes unused images based on policies and rules defined in the Git repository. - [mytechramblings.com: A practical example of GitOps using Azure DevOps, Azure Container Registry, Helm, Flux and Kubernetes](https://www.mytechramblings.com/posts/gitops-with-azure-devops-helm-acr-flux-and-k8s/) - [youtube.com: Cloud Native GitOps with Anthos and JFrog Artifactory](https://www.youtube.com/watch?v=HSjm6-ACmWQ&ab_channel=JFrog) +- [todaywasawesome/oss-apps: OSS Applications](https://github.com/todaywasawesome/oss-apps) Example repo to show GitOps lifecycle from staging to production with canary and blue/green deployments. This is a GitOps repo that acts as the source of truth for the open source team at Codefresh demoing GitOps apps. ## Kubernetes Demos @@ -202,6 +206,8 @@ - [todaywasawesome/atomic-cluster: The Atomic Cluster](https://github.com/todaywasawesome/atomic-cluster) Running a k3s Kubernetes cluster homelab on the adorable and affordable Atomic Pi. - [youtube: Deploy Docker image to Kubernetes Cluster | CI-CD for Azure Kubernetes Service | Mohamed Radwan - DevOps](https://www.youtube.com/watch?v=4DUhc0MjdUc&feature=youtu.be&ab_channel=MohamedRadwan-DevOps) - [howtoforge.com: How to deploy your first pod on a Kubernetes Cluster](https://www.howtoforge.com/how-to-deploy-your-first-pod-on-a-kubernetes-cluster/) +- [==github.com/AdminTurnedDevOps/kubernetes-examples==](https://github.com/AdminTurnedDevOps/kubernetes-examples) This repo contains a bunch of Kubernetes examples +- [levelup.gitconnected.com: Deploying a Simple Golang Web App to Kubernetes](https://levelup.gitconnected.com/deploying-simple-golang-webapp-to-kubernetes-25dc1736dcc4) Part II: Deployment Using YAML Configuration ### Webhooks app @@ -218,7 +224,7 @@ - [blog.flant.com: Our experience with Postgres Operator for Kubernetes by Zalando](https://blog.flant.com/our-experience-with-postgres-operator-for-kubernetes-by-zalando/) -### CI/CD with SpringBoot for Kubernetes +### CI/CD with SpringBoot for Kubernetes - [CI/CD for Kubernetes through a Spring Boot example (Banzai Cloud CI/CD)](https://teletype.in/@sravancynixit/CcwqFANxY) - [onlineitguru.com: How to utilize Spring Boot Microservices on Kubernetes?](https://onlineitguru.com/blogger/how-to-utilize-spring-boot-microservices-on-kubernetes) @@ -297,6 +303,10 @@ - [channel9.msdn.com: Troubleshoot AKS cluster issues with AKS Diagnostics and AKS Periscope](https://channel9.msdn.com/Shows/Azure-Friday/Troubleshoot-AKS-cluster-issues-with-AKS-Diagnostics-and-AKS-Periscope) - [trstringer.com: Deploy to AKS from GitHub Actions ๐ŸŒŸ](https://trstringer.com/deploy-to-aks-from-github-actions/) - [trstringer.com: Deploy to AKS Using a Managed Identity from a GitHub Actions Self-Hosted Runner ๐ŸŒŸ](https://trstringer.com/deploy-to-aks-from-github-actions-self-hosted/) +- [medium.com/bb-tutorials-and-thoughts: How to Build and Deploy MERN Stack on Azure AKS](https://medium.com/bb-tutorials-and-thoughts/how-to-build-and-deploy-mern-stack-on-azure-aks-c25eaf27b9d0) MERN stands for MongoDB, Express, React, Node, after the four key technologies that make up the stack. Express and Node make up the middle (application) tier. + - You will dockerize the app and push that image to the Azure container registry + - You will pull the image and deploy it to AKS + - You will learn how to expose the app ### Google Kubernetes Engine GKE @@ -330,7 +340,7 @@ - [redhatdemocentral.gitlab.io](https://redhatdemocentral.gitlab.io) - [CodeReady Containers - Red Hat Decision Manager Install Demo](https://gitlab.com/redhatdemocentral/rhcs-rhdm-install-demo) - [youtube: CodeReady Containers - Easy OpenShift Container Platform 4.5 Installation](https://www.youtube.com/watch?v=CJMdSQVFVik) -- [gitlab.com/redhatdemocentral: Healthcare](https://gitlab.com/redhatdemocentral/portfolio-architecture-examples/-/blob/main/healthcare.adoc) Have you wondered what an edge medical diagnosis architecture might look like when you want to create a scaleable #opensource solutions? Here's a peak at the logical view, but you can explore all the diagrams. +- [gitlab.com/redhatdemocentral: Healthcare](https://gitlab.com/redhatdemocentral/portfolio-architecture-examples/-/blob/main/healthcare.adoc) Have you wondered what an edge medical diagnosis architecture might look like when you want to create a scaleable #opensource solutions? Here's a peak at the logical view, but you can explore all the diagrams. ### Cloud Native Development Architectural Diagrams Demos @@ -447,6 +457,7 @@ - [==piotrminkowski.com: Continuous Delivery on Kubernetes with Database using ArgoCD and Liquibase==](https://piotrminkowski.com/2021/12/13/continuous-delivery-on-kubernetes-with-database-using-argocd-and-liquibase/) - [medium.com/adaltas: GitOps in practice, deploy Kubernetes applications with ArgoCD](https://medium.com/adaltas/gitops-in-practice-deploy-kubernetes-applications-with-argocd-ca170ce8aba3) - [gokuldevops.medium.com: Argo CD-Sample app deployment](https://gokuldevops.medium.com/argo-cdsample-app-deployment-56b36601f279) Argo CD one of the most popular continues deployment tools used in Kubernetes. It is very simple to use and quite powerful. Personally, it is the first tool in my mind when I think of Kubernetes GitOps. +- [==codefresh.io: Using Argo CD and Kustomize for ConfigMap Rollouts== ๐ŸŒŸ๐ŸŒŸ](https://codefresh.io/blog/using-argo-cd-and-kustomize-for-configmap-rollouts/) In this article, you will learn how to automatically rollout ConfigMap changes in your GitOps workflows using Argo CD and Kustomize. ### GitLab Pipelines on OpenShift @@ -691,9 +702,9 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/nubenetes/a - [cloudogu.com: CD with Jenkins, Nexus and cloudogu](https://cloudogu.com/en/blog/cd-with-nexus-jenkins-ces) - [experfy.com e-learning: Effective Jenkins - Continuous Delivery and Continuous Integration](https://www.experfy.com/training/courses/effective-jenkins-continuous-delivery-and-continuous-integration) - [github.com/redhat-developer-demos/spring-petclinic ๐ŸŒŸ](https://github.com/redhat-developer-demos/spring-petclinic) -* https://github.com/Azure-Samples/spring-petclinic-microservices -* https://github.com/Azure-Samples/spring-petclinic-microservices-config -* https://github.com/Azure-Samples/java-spring-petclinic +- https://github.com/Azure-Samples/spring-petclinic-microservices +- https://github.com/Azure-Samples/spring-petclinic-microservices-config +- https://github.com/Azure-Samples/java-spring-petclinic ### Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL @@ -821,7 +832,7 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/nubenetes/a - [medium: Setting up KafkaSource to send data and displayed with Knative event-display](https://medium.com/@jweng1/setting-up-kafkasource-to-send-data-and-displayed-with-knative-event-display-33891b253442) - [towardsdatascience.com: Kafka, for your data pipeline? Why not?](https://towardsdatascience.com/kafka-for-your-data-pipeline-why-not-5a14b50efe7f) -- [dev.to: Go, Kafka and gRPC clean architecture CQRS microservices with Jaeger tracing ](https://dev.to/aleksk1ng/go-kafka-and-grpc-clean-architecture-cqrs-microservices-with-jaeger-tracing-45bj) +- [dev.to: Go, Kafka and gRPC clean architecture CQRS microservices with Jaeger tracing](https://dev.to/aleksk1ng/go-kafka-and-grpc-clean-architecture-cqrs-microservices-with-jaeger-tracing-45bj) - [ably.com: Building a realtime ticket booking solution with Kafka, FastAPI, and Ably](https://ably.com/blog/realtime-ticket-booking-solution-kafka-fastapi-ably) - [itnext.io: Event-Driven Architectures with Kafka and Java Spring-Boot โ€” Revision 1](https://itnext.io/event-driven-architectures-with-kafka-and-java-spring-boot-revision-1-c0d43d103ee7) @@ -857,11 +868,14 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/nubenetes/a - [the-tech-guy.in: Automating LAMP deployment using Terraform and Ansible](https://the-tech-guy.in/2022/03/08/automating-lamp-config-using-terraform-and-ansible/) - [betterprogramming.pub: All Hail the Monolith โ€” Celebrating the Verbosity of the Unified Architecture in Terraform](https://betterprogramming.pub/all-hail-the-monolith-celebrating-the-verbosity-of-the-unified-architecture-in-terraform-81b53e3a03ae) - [faun.pub: AWS ECS Blue/Green Deployment Setup Using Terraform](https://faun.pub/aws-ecs-blue-green-deployment-setup-using-terraform-b56bb4f656ea) +- [medium.com/@cyber-security: [DevOps] 01 - Example project with Terraform](https://medium.com/@cyber-security/devops-01-example-project-with-terraform-ade540824db1) +- [aws.plainenglish.io: Creating a custom EC2 module using Terraform](https://aws.plainenglish.io/creating-a-custom-ec2-module-using-terraform-59c9896c2df2) ## Prometheus and Grafana - [docker-compose-tpg: Telegraf + Prometheus + Grafana Local Testing Environments](https://github.com/xiaopeng163/docker-compose-tpg) Setup learning environment for Telegraf, Prometheus and Grafana with docker-compose. (include SNMP simulators). - [grafana.com: How Istio, Tempo, and Loki speed up debugging for microservices](https://grafana.com/blog/2021/08/31/how-istio-tempo-and-loki-speed-up-debugging-for-microservices/) +- [medium.com/geekculture: Monitoring your system with Docker + Grafana + Prometheus + Node](https://medium.com/geekculture/monitoring-your-system-with-docker-grafana-prometheus-node-d7fae11416f3) ## GitHub Actions @@ -889,6 +903,10 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/nubenetes/a - [developers.redhat.com: Automated API testing for the KIE Server](https://developers.redhat.com/blog/2020/05/01/automated-api-testing-for-the-kie-server/) - [github.com/microsoft/azure-digital-twins-postman-samples](https://github.com/microsoft/azure-digital-twins-postman-samples) The repo contains a single postman_collection.json file that contains a postman collection of requests to the Azure Digital Twins APIs. Currently the focus of the collection is on on the data plan and includes Models, Query, and Twins. +## OpenTelemetry + +- [blog.devgenius.io: Running the OpenTelemetry Demo App in Kubernetes](https://blog.devgenius.io/running-opentelemetry-demo-app-in-kubernetes-95dccd613e0b) + ## QR Codes - [hasura.io: A Simple, Realtime, Event Driven Architecture with QR Codes](https://hasura.io/blog/a-simple-real-time-event-driven-architecture-with-qr-codes/) diff --git a/docs/devel-sites.md b/docs/devel-sites.md index a142f835..39a234a9 100644 --- a/docs/devel-sites.md +++ b/docs/devel-sites.md @@ -9,6 +9,7 @@ 3. [Ballerina](#ballerina) 4. [Red Hat Software Collections and Red Hat Developer Toolset](#red-hat-software-collections-and-red-hat-developer-toolset) 5. [Dhall Configuration Language](#dhall-configuration-language) + 6. [DDEV](#ddev) 5. [AI Programming](#ai-programming) 6. [No code tools](#no-code-tools) 7. [Images](#images) @@ -88,6 +89,11 @@ - [dhall-lang.org: Dhall Configuration Language](https://dhall-lang.org/) - Dhall is a programmable configuration language that you can think of as: JSON + functions + types + imports - https://github.com/dhall-lang/dhall-kubernetes Typecheck, template and modularize your Kubernetes definitions with Dhall +### DDEV + +- [==ddev.com==](https://ddev.com/) Meet your new local development environment. DDEV simplifies integrating the power and consistency of containerization into your workflows. Set up environments in minutes; switch contexts and projects quickly and easily; speed your time to deployment. We handle the complexity. You get on with the valuable part of your job. +- [==opensource.com: 16 reasons DDEV will be your new favorite web development environment==](https://opensource.com/article/22/12/ddev) What's so different about DDEV? It's a container-based local web development environment. An open source tool for launching local PHP, Node.js, and HTML/JS development environments in minutes. + ## AI Programming - [GitHub Copilot](https://copilot.github.com/) @@ -133,5 +139,9 @@

๐Ÿงต The Ultimate TypeScript Thread ๐Ÿงต

Here's everything I've learned from leading TS dev teams and working on XState's core team.

My goal is to turn you into a TypeScript wizard.

And yes, this thread is EVERGREEN - I'll add at least 3 more tips a week ๐Ÿš€

Let's get started.

— Matt Pocock (@mpocock1) April 1, 2022

100+ data structure algorithms problems
1. Array - https://t.co/tXqrvpJO3S
2. String - https://t.co/tXqrvpJO3S
3. Binary tree - https://t.co/fsi40ENQRL
4. Linked List - https://t.co/iuItMZrvTA
5. Dynamic Programming - https://t.co/qYKjmZseXr
6. Recursion - https://t.co/4R3eODO4iL pic.twitter.com/G8QLbYF2Y0

— javinpaul (@javinpaul) August 7, 2022
+ +

5 GitHub repositories will make you feel like an expert developer:

— Pratham (@Prathkum) October 22, 2022
+ +

Data structures and algorithms are important for any software developer.

Sometimes loved, more often dreaded, but at the core of our craft.

Here is an introduction to the most important data structures, including learning resources:

— Oliver Jumpertz (@oliverjumpertz) December 16, 2022
diff --git a/docs/developerportals.md b/docs/developerportals.md index 8ce77037..b640c9c1 100644 --- a/docs/developerportals.md +++ b/docs/developerportals.md @@ -1,11 +1,12 @@ -# API Marketplaces. API Management with API Gateways & Developer Portals +# API Marketplaces. API Management with API Gateways & Developer Portals + 1. [Introduction](#introduction) 2. [HTTPs for Developers](#https-for-developers) 3. [API Landscape and API Marketplaces](#api-landscape-and-api-marketplaces) 1. [API Marketplaces](#api-marketplaces) - 2. [Rapid API Marketplace. Free Public & Open REST APIs](#rapid-api-marketplace-free-public--open-rest-apis) + 2. [Rapid API Marketplace. Free Public \& Open REST APIs](#rapid-api-marketplace-free-public--open-rest-apis) 3. [Apis.guru Large Archive of Sample OpenAPI Descriptions](#apisguru-large-archive-of-sample-openapi-descriptions) -4. [API Managers with API Gateways & Developer Portals](#api-managers-with-api-gateways--developer-portals) +4. [API Managers with API Gateways \& Developer Portals](#api-managers-with-api-gateways--developer-portals) 1. [API Management vs API Gateway vs Developer Portals](#api-management-vs-api-gateway-vs-developer-portals) 2. [3scale API Manager](#3scale-api-manager) 3. [Google Apigee API Manager](#google-apigee-api-manager) @@ -37,7 +38,9 @@ - [ajay-yadav109458.medium.com: Concepts of API Gateway](https://ajay-yadav109458.medium.com/concepts-of-api-gateway-ac4993a0af44) - [blog.oliverjumpertz.dev: The 10 Most Valuable Lessons I Learned As A Developer](https://blog.oliverjumpertz.dev/the-10-most-valuable-lessons-i-learned-as-a-developer) - [genbeta.com: 32.000 desarrolladores responden sobre plataformas y lenguajes de programaciรณn: JavaScript, AWS, GitHub y Windows, los mรกs usados](https://www.genbeta.com/desarrollo/32-000-desarrolladores-responden-plataformas-lenguajes-programacion-javascript-aws-github-windows-usados) -- [github.com/readme/guides: Functional Programming 101](https://github.com/readme/guides/functional-programming-basics) +- [github.com/readme/guides: Functional Programming 101](https://github.com/readme/guides/functional-programming-basics) +- [==medium.com/apache-apisix: 10 most common use cases of an API Gateway==](https://medium.com/apache-apisix/10-most-use-cases-of-an-api-gateway-in-api-led-architecture-f4d7fa160dcf) +- [siliconrepublic.com: 10 dev tools recommended by start-up founders](https://www.siliconrepublic.com/advice/dev-tools-recommended-by-irish-start-up-founders) ## HTTPs for Developers @@ -104,6 +107,10 @@ - [WSO2 API Manager](https://wso2.com/api-management/) - [WSO2 @Youtube](https://www.youtube.com/user/WSO2TechFlicks) +- [chakray.com: Why API Lifecycle Management is a MUST for Your Organisation APIs](https://www.chakray.com/why-api-lifecycle-management-is-must-organisation-apis/) +- [chakray.com: 11 Steps to achieving a successful API Management Strategy](https://www.chakray.com/11-steps-achieving-successful-api-management-strategy/) +- [chakray.com: Por quรฉ API LIFECYCLE MANAGEMENT es imprescindible para la organizaciรณn de APIs](https://www.chakray.com/es/por-que-api-lifecycle-management-imprescindible-api-organizacion/) +- [chakray.com: 11 Pasos para lograr una estrategia API Management exitosa](https://www.chakray.com/es/11-pasos-lograr-estrategia-api-management-exitosa/) ### Kong API Manager @@ -114,6 +121,7 @@ - [medium: KONG โ€” The Microservice API Gateway](https://medium.com/@far3ns/kong-the-microservice-api-gateway-526c4ca0cfa6) - [medium: Running services with Knative & Kong](https://medium.com/nerd-for-tech/running-services-with-knative-kong-3135c0d94dfa) - [==dzone: Breaking Up a Monolithic Database with Kong==](https://dzone.com/articles/breaking-up-a-monolithic-database-with-kong) If your microservice design results in a very large API or multiple services accessing a single database, check out why Kong Gateway should be part of your project. +- [konghq.com: Kong and Red Hat: Delivering Seamless Customer Experience](https://konghq.com/blog/kong-and-red-hat-collaboration) ### Tyk API Manager @@ -126,7 +134,7 @@ - [Axway API Management @Youtube](https://www.youtube.com/channel/UCsRNLDnXvgtz6qsleSlVcqQ) - [axway.com/digitize](https://axway.com/digitize) -### MuleSoft API Manager +### MuleSoft API Manager - [MuleSoft API Manager](https://www.mulesoft.com/platform/api/manager) - [MuleSoft @Youtube](https://www.youtube.com/user/mulesoftvids) @@ -136,7 +144,7 @@ - [Introducing Gloo Federation for Multi-Cluster API Gateway Management](https://www.solo.io/blog/introducing-gloo-federation-for-multi-cluster-management/) - [solo.io: [Tutorial] Securing APIs with OIDC Using Keycloak](https://www.solo.io/blog/tutorial-gloo-integration-with-keycloak/) In this tutorial, you will learn how to integrate the Gloo API gateway with Keycloack in Kubernetes -### Backstage Developer Portal +### Backstage Developer Portal - [Backstage Developer Portal:](https://backstage.io/) Spotify has now open-sourced Backstage (under Apache-2.0), the platform of platforms to create a great developer experience across hundreds of squads at Spotify - [Backstage @Youtube](https://www.youtube.com/channel/UCHBvqSwbfAf5Vx1jrwkG43Q) @@ -160,6 +168,8 @@ - [Spring Cloud Gateway](https://spring.io/projects/spring-cloud-gateway) - [dzone: Custom Rate Limiting for Microservices ๐ŸŒŸ](https://dzone.com/articles/rate-limiting-for-microservices) Enforcing rate limits on microservices is a common requirement in the API economy. In this article, we are going to build a custom rate limiting solution. +- [cloudtechtwitter.com: Pattern: API Gateway / Backends for Frontends](https://www.cloudtechtwitter.com/2022/05/pattern-api-gateway-backends-for.html) Spring Cloud Gateway provides a library to build an API Gateway. This is the preferred gateway implementation provided by Spring Cloud. It's built with Spring 5, Spring Boot 2, and Project Reactor. To understand the offerings of Spring Cloud Gateway we must understand the API Gateway pattern in detail. +- [medium.com/@jeevansathisocial: High-performance API gateway](https://medium.com/@jeevansathisocial/high-performance-api-gateway-3661d5a2fee0s-3661d5a2fee0) ## Mobile Developer Portals @@ -236,5 +246,11 @@

Top 8 Things I Learned as a Software Engineer (Developer)...

A Thread... pic.twitter.com/P4AMGlzYA9

— Ankur๐Ÿ’ป๐ŸŽง๐Ÿ’ช (@TheAnkurTyagi) May 23, 2021

To be fullstack doesn't mean you know every part of the modern technology landscape. It means that you've made a decision to be open to picking up the parts you need as you need them.

— Chris Ford (@ctford) June 20, 2021
+ +

If you want to be successful in programming, open this:

— Nikki Siapno (@NikkiSiapno) November 1, 2022
+ +

Computer Networking For Developers ๐Ÿงต

Need to get into networking but all materials you find feel like they are written for bearded networking gurus?

I've got a bunch of "different" articles for you! Written by a developer for fellow developers ๐Ÿ‘‡ pic.twitter.com/HdgrG7yNys

— Ivan Velichko (@iximiuz) November 3, 2022
+ +

Do we need "software architecture?" Some thoughts that might help you in our busy software development world ๐Ÿงต

— Markus Harrer (@feststelltaste) November 16, 2022
- \ No newline at end of file + diff --git a/docs/devops-tools.md b/docs/devops-tools.md index c7609194..e3f60ca8 100644 --- a/docs/devops-tools.md +++ b/docs/devops-tools.md @@ -36,6 +36,8 @@ - [zigiwave.medium.com: Top 10 Tools your DevOps Teams Should Use in 2022](https://zigiwave.medium.com/top-10-tools-your-devops-teams-should-use-in-2022-569700f40426) - [faun.pub: Top 10 uncommon DevOps tools you should know](https://faun.pub/top-10-uncommon-devops-tools-you-should-know-f4f4464ec7f3) - [medium.com/leapp-cloud: Top 10 uncommon DevOps tools you should know](https://medium.com/leapp-cloud/top-10-uncommon-devops-tools-you-should-know-91dadde9777e) +- [medium.com/4th-coffee: 10 New DevOps Tools to Watch in 2023 ๐ŸŒŸ](https://medium.com/4th-coffee/10-new-devops-tools-to-watch-in-2023-e974dbb1f1bb) +- [medium.com/4th-coffee: 10 Best DevOps Tools for Start-ups](https://medium.com/4th-coffee/10-best-devops-tools-for-start-ups-91eb69bc3128) ## Keptn @@ -53,3 +55,4 @@ - It leverages popular DevOps tools to provide a No-Code, ***Unified Heroku-like*** Experience for Kubernetes. - Integrations happen with existing Open-source systems like argocd, Argo workflow, Clair, hibernator, grafana, Prometheus, envoy, and many others and add capabilities on top of them to enable self serve for developers and DevOps. - [blog.searce.com: Devtron: One-stop shop for all Kubernetes deployments](https://blog.searce.com/devtron-one-stop-shop-for-all-kubernetes-deployments-6f1c111a7ba1) +- [medium.com/cp-massive-programming: Deploying Devtron in a Local K8s Kind Cluster using Terraform](https://medium.com/cp-massive-programming/deploying-devtron-in-a-local-k8s-kind-cluster-using-terraform-cea9d4d9636) Short Hands-On guide on how to deploy Devtron in a local Kubernetes cluster created with kind and Terraform \ No newline at end of file diff --git a/docs/devops.md b/docs/devops.md index aec7a444..cabc8f07 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -12,27 +12,30 @@ 9. [Configuration Drift](#configuration-drift) 1. [Drift Detection Tools](#drift-detection-tools) 10. [DevOps Docs](#devops-docs) -11. [Serverless DevOps](#serverless-devops) -12. [DevOps as a Service (DaaS)](#devops-as-a-service-daas) -13. [IaC Infrastructure as Code](#iac-infrastructure-as-code) -14. [Xebia Labs and DevOps](#xebia-labs-and-devops) -15. [DevOps Tools](#devops-tools) -16. [Netflix and DevOps](#netflix-and-devops) -17. [Public Cloud DevOps](#public-cloud-devops) - 1. [AWS DevOps](#aws-devops) - 2. [Azure DevOps](#azure-devops) - 3. [Google Cloud Platform](#google-cloud-platform) -18. [NoOps](#noops) -19. [NetOps](#netops) -20. [PlatformOps](#platformops) -21. [GPT 3 Tools](#gpt-3-tools) -22. [Data as Code](#data-as-code) -23. [DevOps for SAP](#devops-for-sap) -24. [Youtube Playlists](#youtube-playlists) -25. [Bunch of Images](#bunch-of-images) -26. [Slides](#slides) -27. [Videos](#videos) -28. [Tweets](#tweets) +11. [DORA metrics](#dora-metrics) +12. [DevOps Roadmap](#devops-roadmap) +13. [Serverless DevOps](#serverless-devops) +14. [DevOps as a Service (DaaS)](#devops-as-a-service-daas) +15. [IaC Infrastructure as Code](#iac-infrastructure-as-code) +16. [Xebia Labs and DevOps](#xebia-labs-and-devops) +17. [DevOps Tools](#devops-tools) +18. [Netflix and DevOps](#netflix-and-devops) +19. [Public Cloud DevOps](#public-cloud-devops) + 1. [AWS DevOps](#aws-devops) + 2. [Azure DevOps](#azure-devops) + 3. [Google Cloud Platform](#google-cloud-platform) +20. [NoOps](#noops) +21. [NetOps](#netops) +22. [PlatformOps](#platformops) +23. [GPT 3 Tools](#gpt-3-tools) +24. [Data as Code](#data-as-code) +25. [DevOps for SAP](#devops-for-sap) +26. [Youtube Playlists](#youtube-playlists) +27. [Platform Engineering](#platform-engineering) +28. [Bunch of Images](#bunch-of-images) +29. [Slides](#slides) +30. [Videos](#videos) +31. [Tweets](#tweets)
Jimmy Sax ยท Una Matina Jimmy Sax
@@ -52,12 +55,15 @@ - [devblogs.microsoft.com: DevOps Dojo โ€“ Culture and Mindset](https://devblogs.microsoft.com/devops/devops-dojo-culture-and-mindset/) - [devops.com: The DevOps Journey: Continuous Mindset Starts With Cultural Change](https://devops.com/the-evolving-devops-journey-continuous-mindset-starts-with-cultural-change/) - [==dzone.com/trendreports/devops-3: DevOps==](https://dzone.com/trendreports/devops-3) CI/CD and Application Release Orchestration. With the need for companies to deliver capabilities faster, it has become increasingly clear that DevOps is a practice that many enterprises must adopt (if they havenโ€™t already). A strong CI/CD pipeline leads to a smoother release process, and a smoother release process decreases time to market. In DZoneโ€™s "DevOps: CI/CD and Application Release Orchestration" Trend Report, we provide insight into how CI/CD has revolutionized automated testing, offer advice on why an SRE is important to CI/CD, explore the differences between managed and self-hosted CI/CD, and much more. The goal of this Trend Report is to offer guidance to our global audience of DevOps Engineers, Automation Architects, and all those in between on how to best adopt DevOps practices to help scale the productivity of their teams. -- [thenewstack.io: Automation Is No Silver Bullet: 3 Keys for Scaling Success](https://thenewstack.io/automation-is-no-silver-bullet-3-keys-for-scaling-success/) +- [thenewstack.io: Automation Is No Silver Bullet: 3 Keys for Scaling Success](https://thenewstack.io/automation-is-no-silver-bullet-3-keys-for-scaling-success/) - [yourdevopsmentor.com: How to become a DevOps engineer โ€“ 5 easy steps](https://yourdevopsmentor.com/blog/how-to-become-a-devops-engineer/) - [devops.com: Why MTTR is a Vital Metric for DevOps Teams](https://devops.com/why-mttr-is-a-vital-metric-for-devops-teams/) - [umbrellainfocare.com: Cloud and DevOps are Made for Each Other](https://www.umbrellainfocare.com/blogs/cloud-and-devops-are-made-for-each-other) - [guru99.com: DevOps Lifecycle: Different Phases Explained with Examples ๐ŸŒŸ](https://www.guru99.com/devops-lifecycle.html) - [linkedin.com/pulse: Is DevOps just system administration repackaged?](https://www.linkedin.com/pulse/devops-just-system-administration-repackaged-gianluca-mascolo/) +- [devops.com: Home ยป Blogs ยป A DevOps Reset for a Multi-Cloud World](https://devops.com/a-devops-reset-for-a-multi-cloud-world/) +- [medium.com/@polatatc: Terraform; the most demanded DevOps skill!](https://medium.com/@polatatc/terraform-the-most-demanded-devops-skill-88c461641e7b) +- [dev.to: DevOps Trends for Developers in 2023 | Pavan Belagatti](https://dev.to/pavanbelagatti/devops-trends-for-developers-in-2023-345b) ## Automation Glossary @@ -116,6 +122,7 @@ - [apmdigest.com: What Can AIOps Do For IT Ops? - Part 5](https://www.apmdigest.com/aiops-itops-5) - [thenewstack.io: The Urgency Driving AIOps into Your Enterprise](https://thenewstack.io/the-urgency-driving-aiops-into-your-enterprise/) - [thenewstack.io: Intelligent Automation: Whatโ€™s the Missing Piece of AIOps?](https://thenewstack.io/intelligent-automation-whats-the-missing-piece-of-aiops/) +- [infoworld.com: 5 best practices for securing CI/CD pipelines](https://www.infoworld.com/article/3673891/5-best-practices-for-securing-cicd-pipelines.html) Build in security from the beginning with continuous testing, automation, zero trust, and AIops. ## Configuration Drift @@ -175,7 +182,6 @@ - [cloudsavvyit.com: A Beginnerโ€™s Introduction To DevOps Principles](https://www.cloudsavvyit.com/3233/a-beginners-introduction-to-devops-principles/) - [learnsteps.com: DevOps Interview Question: How will you set up a CI/CD pipeline? ๐ŸŒŸ](https://www.learnsteps.com/devops-interview-question-how-will-you-set-up-a-ci-cd-pipeline/) - [devops.com: Survey Surfaces High Reliance on DevOps to Build and Deploy APIs](https://devops.com/survey-surfaces-high-reliance-on-devops-to-build-and-deploy-apis/) -- [medium: The Complete DevOps RoadMap ๐ŸŒŸ](https://medium.com/hackernoon/the-2018-devops-roadmap-31588d8670cb) An illustrated guide to becoming a DevOps Engineer with links to relevant courses - [computing.co.uk: CloudBees gets busy with security, visibility and control as DevOps evolves](https://www.computing.co.uk/news/4020521/cloudbees-busy-security-visibility-control-devops-evolves) CEO Sacha Labourey: 'DevOps is a pretty good proxy for what needs to happen in any organisation' - [devopscurry.com: DevOps vs Agile โ€“ understanding the difference ๐ŸŒŸ](https://devopscurry.com/devops-vs-agile-understanding-the-difference/) - [acloudguru.com: 5 Reasons to NOT Move to DevOps ๐ŸŒŸ](https://acloudguru.com/blog/engineering/5-reasons-to-not-move-to-devops) @@ -221,7 +227,6 @@ - [thenewstack.io: Maximizing the Value of Containerization for DevOps](https://thenewstack.io/maximizing-the-value-of-containerization-for-devops/) - [opensource.com: A DevOps guide to documentation](https://opensource.com/article/21/3/devops-documentation) Bring your documentation writing into the DevOps lifecycle. - [infoq.com: DevOps is Not Enough for Scaling and Evolving Tech-Driven Organizations: a Q&A with Eduardo da Silva](https://www.infoq.com/articles/devops-not-enough-scaling-tech-driven-organizations/) -- [dev.to: Your Roadmap to Become a DevOps Engineer in 2021](https://dev.to/kodekloud/your-roadmap-to-become-a-devops-engineer-in-2020-i1n) - [infoworld.com: 5 devops practices to improve application reliability](https://www.infoworld.com/article/3613155/5-devops-practices-to-improve-application-reliability.html) - [devops.com: Languages and DevOps: Recommendations](https://devops.com/languages-and-devops-recommendations/) - [devops.com: Survey Shows Mounting DevOps Frustration and Costs](https://devops.com/survey-shows-mounting-devops-frustration-and-costs/) @@ -277,6 +282,11 @@ - [==dev.to: How I learn new technologies as a DevOps Engineer (without being overwhelmed ๐Ÿ‘) | TechWorld with Nana==](https://dev.to/techworld_with_nana/how-i-learn-new-technologies-as-a-devops-engineer-without-being-overwhelmed--495e) - [medium.com/@hunkarbozkurt: What is DevOps? How Was DevOps Derived?](https://medium.com/@hunkarbozkurt/what-is-devops-how-was-devops-derived-660ef47d42d6) - [blog.devops.dev: Devops Best Practices for Continuous Delivery ๐ŸŒŸ](https://blog.devops.dev/devops-best-practices-for-continuous-delivery-2f0ebbae65c6) +- [devops.com: he Real Pipeline](https://devops.com/the-real-pipeline/) Your toolchains need to include stability and security tools. +- [information-age.com: DevOps vs Agile: distinguishing and combining the two](https://www.information-age.com/devops-vs-agile-distinguishing-and-combining-the-two-20117/) +- [medium.com/@devfire: How To Become a DevOps Engineer In Six Months or Less, Part 6: Observe](https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-part-7-monitor-47c61aea0bf7) +- [rcls.medium.com: Stop calling yourselves DevOps engineers](https://rcls.medium.com/stop-calling-yourselves-devops-engineers-f9dfec382d0d) +- [enterprisersproject.com: DevOps: Why shift left goes wrong](https://enterprisersproject.com/article/2020/5/devops-shift-left-why-goes-wrong) The shift-left approach helps development teams make software better and faster. So why hasn't it caught on - and how can you beat the barriers to success?
@@ -285,6 +295,21 @@ [![devops tools dzone](images/devops_tools_dzone.png)](https://dzone.com/articles/the-10-minute-read-to-understanding-devops-tools)
+## DORA metrics + +- [dynatrace.com: 9 key DevOps metrics for success - What are the four main DevOps metrics? DORAโ€™s Four Keys](https://www.dynatrace.com/news/blog/devops-metrics-for-success/) + 1. Deployment frequency + 2. Lead time for changes + 3. Change failure rate + 4. Mean time to restore service +- [medium.com/keptn: DORA metrics: automatically, for all your Kubernetes workloads](https://medium.com/keptn/dora-metrics-automatically-for-all-your-kubernetes-workloads-42225f4b8515) DORAโ€™s Four Key DevOps metrics have gained much attention as they provide critical insights into an organizationโ€™s maturity in automating the delivery of high-quality software. And rightfully so: According to the previous State of DevOps reports, organizations with higher successful deployment frequency have more business success in their market and tend to retain technical talent longer. But getting those insights can sometimes be tricky and cause even more manual work. How can you extract DORA metrics more efficiently? + +## DevOps Roadmap + +- [medium: The Complete DevOps RoadMap ๐ŸŒŸ](https://medium.com/hackernoon/the-2018-devops-roadmap-31588d8670cb) An illustrated guide to becoming a DevOps Engineer with links to relevant courses +- [dev.to: Your Roadmap to Become a DevOps Engineer in 2021](https://dev.to/kodekloud/your-roadmap-to-become-a-devops-engineer-in-2020-i1n) +- [techworld-with-nana.com: DevOps Roadmap ๐ŸŒŸ](https://www.techworld-with-nana.com/devops-roadmap) A step by step guide outlining the most efficient path to become a DevOps engineer + ## Serverless DevOps - [dzone: The Serverless Path to DevOps](https://dzone.com/articles/the-serverless-path-to-devops) Serverless and DevOps combine in this article the uses AWS services as examples of how serverless technologies benefit DevOps processes. @@ -325,7 +350,7 @@ - [Azure DevOps ๐ŸŒŸ](https://azure.microsoft.com/services/devops/) -### Google Cloud Platform +### Google Cloud Platform - [cloud.google.com: DevOps](https://cloud.google.com/devops) - [Cloud Developer Tools](https://cloud.google.com/products/tools) @@ -368,7 +393,16 @@ Resolve your software incidents 10x faster - [youtube playlist: DevOps - SonarQube, Artifactory, JFrog, Jenkins, Maven, etc ๐ŸŒŸ](https://www.youtube.com/playlist?list=PLVx1qovxj-akoYTAboxT1AbHlPmrvRYYZ) - [youtube playlist: Docker ๐ŸŒŸ](https://www.youtube.com/playlist?list=PLVx1qovxj-amqyqHceAhkcsopzi4PFcKc) - [youtube playlist: Ansible ๐ŸŒŸ](https://www.youtube.com/playlist?list=PLVx1qovxj-al0Knm1A0eEXfGyd5kCi16p) -- [youtube playlist: Kubernetes ๐ŸŒŸ](https://www.youtube.com/playlist?list=PLVx1qovxj-akr_3XqQQgpqRyQw4GYuS4h) +- [youtube playlist: Kubernetes ๐ŸŒŸ](https://www.youtube.com/playlist?list=PLVx1qovxj-akr_3XqQQgpqRyQw4GYuS4h) + +## Platform Engineering + +- [==honeycomb.io: The Future of Ops Is Platform Engineering== ๐ŸŒŸ](https://www.honeycomb.io/blog/future-ops-platform-engineering) Platform engineers vs. DevOps engineers +- [thenewstack.io: DevOps Burnout? Try Platform Engineering](https://thenewstack.io/devops-burnout-try-platform-engineering/) Internal developer platforms might be part of the solution by reducing repetitive and manual work and cognitive load. +- [softwareengineeringdaily.com: The Rise of Platform Engineering ๐ŸŒŸ](https://softwareengineeringdaily.com/2020/02/13/setting-the-stage-for-platform-engineering/) +- [thenewstack.io: How Is Platform Engineering Different from DevOps and SRE?](https://thenewstack.io/how-is-platform-engineering-different-from-devops-and-sre/) Platform engineering is the next stage of evolution. Like DevOps, it enables developer self-service. Like SRE, it reduces errors and increases reliability. +- [salaboy.com: The Challenges of Platform Building on Top of Kubernetes 4/4](https://salaboy.com/2022/11/28/the-challenges-of-platform-building-on-top-of-kubernetes-4-4/) TLTR: We have reached a point where the adoption and understanding of Kubernetes and Kubernetes tools are mature enough to start hiding them away from the teams consuming them. This blog post explores some of the approaches different development tools take to provide a better and simplified experience for developers while allowing platform teams to curate the resources these tools use and how they behave. +- [thenewstack.io: Platform Engineering in 2023: Dev First, Collaboration and APIs](https://thenewstack.io/platform-engineering-in-2023-dev-first-collaboration-and-apis/) Developer platforms won't eliminate DevOps but will prioritize developer experience. ## Bunch of Images @@ -469,6 +503,8 @@ Resolve your software incidents 10x faster

Few things you must absolutely know about DevOps
1โƒฃ DevOps is a software development lifecycle (SDLC) approach which involves
๐ŸงฉContinuous integration
๐ŸงชContinuous testing
๐ŸššContinuous Delivery
๐Ÿ›ซContinuous deployment
๐Ÿ”ŽContinuous monitoring
throughout its development phase.
๐Ÿงต pic.twitter.com/I38Ntqryeq

— Satyen Kumar (@SatyenKumar) February 23, 2022

Interview on Austrian TV ๐Ÿ˜Š Talked about how we started our YouTube channel, as a temporary side project, which turned into this amazing and fulfilling job of educating people in DevOps engineering ๐Ÿ’™
.
Full interview on @4Gamechanger: https://t.co/3jViGROFTP๐Ÿ˜Š#devops #youtube pic.twitter.com/FIb8DubPup

— TechWorld with Nana | DevOps ๐Ÿš€ (@Njuchi_) March 19, 2022
+ +

If you want to master DevOps, watch these YouTube videos:

— Simon (@simonholdorf) November 10, 2022
diff --git a/docs/devsecops.md b/docs/devsecops.md index e764eb62..3d1ed71e 100644 --- a/docs/devsecops.md +++ b/docs/devsecops.md @@ -22,34 +22,34 @@ 18. [Source Code Audit](#source-code-audit) 19. [StackRox](#stackrox) 20. [Secure Container Based CI/CD Workflows. Vulnerability Scanner for Container Images](#secure-container-based-cicd-workflows-vulnerability-scanner-for-container-images) - 1. [Securing Kubernetes With Anchore](#securing-kubernetes-with-anchore) - 2. [Container Signing. Secure Containers with Notary or Cosign](#container-signing-secure-containers-with-notary-or-cosign) + 1. [Securing Kubernetes With Anchore](#securing-kubernetes-with-anchore) + 2. [Container Signing. Secure Containers with Notary or Cosign](#container-signing-secure-containers-with-notary-or-cosign) 21. [GitHub security](#github-security) 22. [Databases in DMZ and Intranet](#databases-in-dmz-and-intranet) 23. [Removing Credentials From Git Repo](#removing-credentials-from-git-repo) 24. [Pentesting](#pentesting) 25. [SQL Injection](#sql-injection) 26. [Credential Managers](#credential-managers) - 1. [keycloak](#keycloak) - 2. [Git Credential Manager Core](#git-credential-manager-core) + 1. [keycloak](#keycloak) + 2. [Git Credential Manager Core](#git-credential-manager-core) 27. [Secrets Management](#secrets-management) - 1. [Anti Patterns. Wrong Secrets](#anti-patterns-wrong-secrets) - 2. [AWS Secret Manager](#aws-secret-manager) - 3. [Password Hashing](#password-hashing) - 4. [Store private data in git repo](#store-private-data-in-git-repo) - 5. [HashiCorp Vault](#hashicorp-vault) - 1. [HashiCorp Vault Agent](#hashicorp-vault-agent) - 6. [Azure Key Vault](#azure-key-vault) - 7. [CyberArk and Ansible](#cyberark-and-ansible) - 8. [CyberArk Conjur](#cyberark-conjur) - 9. [SOPS for Kubernetes](#sops-for-kubernetes) - 10. [AKS Secrets](#aks-secrets) - 11. [Kapitan](#kapitan) - 12. [Alternatives with Kubernetes External Secrets](#alternatives-with-kubernetes-external-secrets) + 1. [Anti Patterns. Wrong Secrets](#anti-patterns-wrong-secrets) + 2. [AWS Secret Manager](#aws-secret-manager) + 3. [Password Hashing](#password-hashing) + 4. [Store private data in git repo](#store-private-data-in-git-repo) + 5. [HashiCorp Vault](#hashicorp-vault) + 1. [HashiCorp Vault Agent](#hashicorp-vault-agent) + 6. [Azure Key Vault](#azure-key-vault) + 7. [CyberArk and Ansible](#cyberark-and-ansible) + 8. [CyberArk Conjur](#cyberark-conjur) + 9. [SOPS for Kubernetes](#sops-for-kubernetes) + 10. [AKS Secrets](#aks-secrets) + 11. [Kapitan](#kapitan) + 12. [Alternatives with Kubernetes External Secrets](#alternatives-with-kubernetes-external-secrets) 28. [Serverless Security Best Practices](#serverless-security-best-practices) -29. [Docker Images & Container Security](#docker-images--container-security) - 1. [Sigstore](#sigstore) - 2. [Container security best practices](#container-security-best-practices) +29. [Docker Images \& Container Security](#docker-images--container-security) + 1. [Sigstore](#sigstore) + 2. [Container security best practices](#container-security-best-practices) 30. [Pod Security Policies](#pod-security-policies) 31. [Kubernetes Network Policies](#kubernetes-network-policies) 32. [Static Analysis SAST](#static-analysis-sast) @@ -60,10 +60,11 @@ 37. [PKI](#pki) 38. [Network Intrusion Tools](#network-intrusion-tools) 39. [Other Security Tools](#other-security-tools) - 1. [Torq. No code Security Automation](#torq-no-code-security-automation) + 1. [Torq. No code Security Automation](#torq-no-code-security-automation) + 2. [Security-Guard](#security-guard) 40. [Books](#books) 41. [CVEs](#cves) - 1. [Log4j Log4Shell](#log4j-log4shell) + 1. [Log4j Log4Shell](#log4j-log4shell) 42. [Powershell](#powershell) 43. [Nmap scripts](#nmap-scripts) 44. [Let's Encrypt SSL certificates](#lets-encrypt-ssl-certificates) @@ -121,6 +122,7 @@ - [thenewstack.io: The DevSecOps Skillsets Required for Cloud Deployments](https://thenewstack.io/the-devsecops-skillsets-required-for-cloud-deployments/) - [devblogs.microsoft.com: You canโ€™t have security for DevOps until you have DevOps for security](https://devblogs.microsoft.com/engineering-at-microsoft/you-cant-have-security-for-devops-until-you-have-devops-for-security/) - [goteleport.com: Anatomy of a Cloud Infrastructure Attack via a Pull Request](https://goteleport.com/blog/hack-via-pull-request/) + - [==edidiongasikpo.com: How to Give Developers Secure Access to Kubernetes Clusters== ๐ŸŒŸ](https://edidiongasikpo.com/how-to-give-developers-secure-access-to-kubernetes-clusters) - [cncf/tag-security: CNCF Security Technical Advisory Group ๐ŸŒŸ](https://github.com/cncf/tag-security) CNCF Security Technical Advisory Group -- secure access, policy control, privacy, auditing, explainability and more! - [enterprisersproject.com: 5 DevSecOps open source projects to know](https://enterprisersproject.com/article/2021/8/5-devsecops-open-source-projects-know) Teams that embrace the DevSecOps approach make security an integral part of the entire application life cycle. These open source projects aim to help - [Clair](https://github.com/quay/clair) @@ -189,6 +191,12 @@ - Additionally, depending on the configuration, intruders could sometimes escalate their privileges from containers to break isolation and pivot to host processes, granting them intial access to internal corporate networks for futher attacks. - [sysdig.com: How to apply security at the source using GitOps | Eduardo Mรญnguez ๐ŸŒŸ](https://sysdig.com/blog/gitops-iac-security-source/) - [==medium.com/technology-hits: Incomplete Guide for Securing Containerized Environment== ๐ŸŒŸ](https://medium.com/technology-hits/incomplete-guide-for-securing-containerized-environment-78b57fc3238) And Understanding How Containers Present Unique Security Challenges. This article contains a collection of best practices and tips regarding securing containerized environments. +- [medium.com/@jonathan_37674: How to Keep your CI/CD Pipelines Secure? | ARMO](https://medium.com/@jonathan_37674/how-to-keep-your-ci-cd-pipelines-secure-armo-8e962bc51fb6) CI/CD sits at the core of DevOps. The main aim of CICD is to automate & streamline app development process by making small changes & adding incrementally. It helps in pushing features faster with fewer errors. +- [freecodecamp.org: Authentication vs Authorization โ€“ What's the Difference?](https://www.freecodecamp.org/news/whats-the-difference-between-authentication-and-authorisation/) +- [==betanews.com: Cloud security is complex -- but most vulnerabilities fall into three key categories==](https://betanews.com/2022/10/22/cloud-security-is-complex-but-most-vulnerabilities-fall-into-three-key-categories/) +- [==medium.com/@pbijjala: Container security, an eco system view==](https://medium.com/@pbijjala/container-security-an-eco-system-183dbffdf2d8) +- [containerjournal.com: Kubernetes Security in Your CI/CD Pipeline](https://containerjournal.com/features/kubernetes-security-in-your-ci-cd-pipeline/) +- [acloudguru.com: Cloud security risks: Why you should make apps Secure by Design](https://acloudguru.com/blog/engineering/cloud-apps-secure-by-design) ## Kubernetes Security Compliance Frameworks @@ -213,6 +221,10 @@ - [dzone.com: What Is Zero Trust Security? ๐ŸŒŸ](https://dzone.com/articles/what-is-zero-trust-security) Zero Trust security is an IT security framework that treats everyone and everything to be hostile (in a good way!). - [thenewstack.io: Secured Access to Kubernetes from Anywhere with Zero Trust | Tenry Fu ๐ŸŒŸ](https://thenewstack.io/secured-access-to-kubernetes-from-anywhere-with-zero-trust/) - [rafay.co: Securing Access to Kubernetes Environments with Zero Trust | Kyle Hunter ๐ŸŒŸ](https://rafay.co/the-kubernetes-current/securing-access-to-kubernetes-environments-with-zero-trust/) +- [securityboulevard.com: Implementing Zero-Trust Security With Service Mesh and Kubernetes](https://securityboulevard.com/2022/10/implementing-zero-trust-security-with-service-mesh-and-kubernetes/) +- [cncf.io: Seven zero trust rules for Kubernetes](https://www.cncf.io/blog/2022/11/04/seven-zero-trust-rules-for-kubernetes/) +- [rtinsights.com: Implementing Zero Trust for Kubernetes](https://www.rtinsights.com/implementing-zero-trust-for-kubernetes/) +- [cisecurity.org: Where Does Zero Trust Begin and Why is it Important?](https://www.cisecurity.org/insights/blog/where-does-zero-trust-begin-and-why-is-it-important) ## Authentication and Authorization @@ -326,6 +338,7 @@ - [cequence.ai: The OWASP API Security Top 10 From a Real-World Perspective](https://www.cequence.ai/blog/owasp-api-security-top-10-from-a-real-world-perspective/) - [securityonline.info: VAmPI: Vulnerable REST API with OWASP top 10 vulnerabilities](https://securityonline.info/vampi-vulnerable-rest-api-with-owasp-top-10-vulnerabilities/) +- [==github.com/OWASP: OWASP Kubernetes Top 10== ๐ŸŒŸ](https://github.com/OWASP/www-project-kubernetes-top-ten) ## Source Code Audit @@ -346,6 +359,7 @@ - [gkovan.medium.com: A Zero Trust Approach for Securing the Supply Chain of Microservices Packaged as Container Images (sigstore, kyverno, openshift tekton, quarkus) ๐ŸŒŸ](https://gkovan.medium.com/a-zero-trust-approach-for-securing-the-supply-chain-of-microservices-packaged-as-container-images-89d2f5b7293b) - [thenewstack.io: Find Vulnerabilities in Container Images with Docker Scan](https://thenewstack.io/find-vulnerabilities-in-container-images-with-docker-scan/) - [medium.com/@nanditasahu031: DevSecOps โ€” Implementing Secure CI/CD Pipelines ๐ŸŒŸ](https://medium.com/@nanditasahu031/devsecops-implementing-secure-ci-cd-pipelines-9653726b4916) +- [deepfence/YaraHunter](https://github.com/deepfence/YaraHunter) Malware scanner for cloud-native, as part of CI/CD and at Runtime. Deepfence YaraHunter scans container images, running Docker containers, and filesystems to find indicators of malware. It uses a YARA ruleset to identify resources that match known malware signatures, and may indicate that the container or filesystem has been compromised. - https://deepfence.io/ ### Securing Kubernetes With Anchore @@ -369,6 +383,8 @@ - [chrisns/cosign-keyless-demo: Cosign Keyless GitHub Action Demo](https://github.com/chrisns/cosign-keyless-demo) Proof of concept that uses cosign and GitHub's in built OIDC for actions to sign container images, providing a proof that what is in the registry came from your GitHub action. - [blog.chainguard.dev: How To Verify Cosigned Container Images In Amazon ECS](https://blog.chainguard.dev/cosign-verify-ecs/) - [justinpolidori.it: Secure Your Docker Images With Cosign (and OPA Gatekeeper)](https://www.justinpolidori.it/posts/20220116_sign_images_with_cosign_and_verify_with_gatekeeper/) Learn how combining Gatekeeper + Cosign for image signature validation with the new external_data feature lets you stop untrusted docker images from being deployed on your Kubernetes cluster. +- [sysdig.com: How to secure Kubernetes deployment with signature verification](https://sysdig.com/blog/secure-kubernetes-deployment-signature-verification/) Cosign and Connaisseur allow us to secure the Kubernetes deployment with signature verification, ensuring that our images do not change +- [medium.com/@slimm609: Secure image signing with Cosign and AWS KMS](https://medium.com/@slimm609/secure-image-signing-with-cosign-and-aws-kms-82bc25d7fdae) ## GitHub security @@ -408,6 +424,7 @@ - [blog.flant.com: Running fault-tolerant Keycloak with Infinispan in Kubernetes](https://blog.flant.com/ha-keycloak-infinispan-kubernetes/) - [baeldung.com: A Quick Guide to Using Keycloak with Spring Boot](https://www.baeldung.com/spring-boot-keycloak) - [==medium.com/@charled.breteche: Securing Grafana with Keycloak SSO==](https://medium.com/@charled.breteche/securing-grafana-with-keycloak-sso-d01fec05d984) In this article you will learn how to deploy and configure Keycloak in a local Kubernetes cluster, then deploy Grafana and use the Keycloak instance for authentication and authorization +- [dev.to: KeyCloak with Nginx Ingress](https://dev.to/aws-builders/keycloak-with-nginx-ingress-6fo) ### Git Credential Manager Core @@ -436,6 +453,7 @@ - [developers.redhat.com: Protect secrets in Git with the clean/smudge filter](https://developers.redhat.com/articles/2022/02/02/protect-secrets-git-cleansmudge-filter) - [kubeopsskills/cloud-secret-resolvers: Cloud Secret Resolvers (CSR)](https://github.com/kubeopsskills/cloud-secret-resolvers) Cloud Secret Resolvers is a set of tools to help your applications (on Kubernetes) to retrieve any credentials from cloud managed vaults without the needed to write additional boilerplate code in your applications!. - [thenewstack.io: Managing Secrets in Your DevOps Pipeline](https://thenewstack.io/managing-secrets-in-your-devops-pipeline/) +- [==thenewstack.io: Kubernetes Secrets Management: 3 Approaches, 9 Best Practices==](https://thenewstack.io/kubernetes-secrets-management-3-approaches-9-best-practices/) Developers must make early design choices about where to store secrets, how to retrieve them and how to make them available in an application. ### Anti Patterns. Wrong Secrets @@ -506,11 +524,12 @@ - [==hashicorp.com: How to Integrate Your Application with Vault: Static Secrets==](https://www.hashicorp.com/blog/how-to-integrate-your-application-with-vault-static-secrets) Learn how to retrieve static secrets from HashiCorp Vault in a real-world setting using a new sample application. - [blog.devops.dev: Using Vault in Kubernetes Production for Security Engineers](https://blog.devops.dev/using-vault-in-kubernetes-production-for-security-engineers-54d2f0aca4d1) - [hashicorp.com: HashiCorp Vault 1.11 Adds Kubernetes Secrets Engine, PKI Updates, and More ๐ŸŒŸ](https://www.hashicorp.com/blog/vault-1-11) - - Favorite OSS feature is the K8S secrets engine that can generate K8S service accounts as dynamic secrets. - - Favorite Ent feature is that Autopilot can now perform safe, automated upgrades. + - Favorite OSS feature is the K8S secrets engine that can generate K8S service accounts as dynamic secrets. + - Favorite Ent feature is that Autopilot can now perform safe, automated upgrades. - Plus a dozen other improvements... - [medium.com/@nikhil.purva: Securing Kubernetes Secrets with HashiCorp Vault](https://medium.com/@nikhil.purva/securing-kubernetes-secrets-with-hashicorp-vault-a9555728e095) +- [hashicorp.com: The State of Vault and Kubernetes, and Future Plans](https://www.hashicorp.com/blog/the-state-of-vault-and-kubernetes-and-future-plans) Get an overview of the most common ways to use HashiCorp Vault and Kubernetes together, and get a preview of a new method we're considering. #### HashiCorp Vault Agent @@ -588,6 +607,7 @@ - [about.gitlab.com: How to secure your container images with GitLab and Grype](https://about.gitlab.com/blog/2021/07/28/secure-container-images-with-gitlab-and-grype/) - [grype: a vulnerability scanner for container images and filesystems](https://github.com/anchore/grype) - [GoogleContainerTools/container-structure-test](https://github.com/GoogleContainerTools/container-structure-test) validate the structure of your container images - [dynatrace.com: Container security: What it is, why itโ€™s tricky, and how to do it right](https://www.dynatrace.com/news/blog/what-is-container-security/) +- [betterprogramming.pub: Secure Your Kubernetes Cluster With Seccomp](https://betterprogramming.pub/secure-your-kubernetes-cluster-with-seccomp-9403ecf831b2) A hands-on guide to applying the principle of least-privilege on containerโ€™s syscalls ### Sigstore @@ -652,6 +672,11 @@ - https://torq.io No-code Security Automation - [sentinelone.com: Reducing Human Effort in Cybersecurity | Why We Are Investing in Torqโ€™s Automation Platform](https://www.sentinelone.com/blog/reducing-human-effort-in-cybersecurity-why-we-are-investing-in-torqs-automation-platform/) +### Security-Guard + +- [pkg.go.dev/knative.dev/security-guard](https://pkg.go.dev/knative.dev/security-guard) +- [developer.ibm.com: Secure microservices by monitoring behavior](https://developer.ibm.com/articles/secure-microservices-by-monitoring-behavior/) An open source Kubernetes-native extension to secure containerized applications. + ## Books - [Microservices Security in Action](https://medium.facilelogin.com/microservices-security-in-action-933072043ad7) diff --git a/docs/docker.md b/docs/docker.md index 1cd1039f..a332267a 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -1,29 +1,31 @@ # Docker 1. [Introduction and Tutorials](#introduction-and-tutorials) -2. [Docker CLI](#docker-cli) -3. [Docker Swarm](#docker-swarm) -4. [Awesome Lists](#awesome-lists) -5. [Docker VS Kubernetes](#docker-vs-kubernetes) -6. [Docker Patterns and Antipatterns](#docker-patterns-and-antipatterns) -7. [Docker Security](#docker-security) -8. [How To Build a Smaller Docker Image](#how-to-build-a-smaller-docker-image) -9. [Reducing Build Time](#reducing-build-time) -10. [Modify containers without rebuilding](#modify-containers-without-rebuilding) -11. [Docker Tools](#docker-tools) -12. [Docker and WSL2](#docker-and-wsl2) -13. [Docker and Docker Swarm Cheat sheets](#docker-and-docker-swarm-cheat-sheets) -14. [Docker Compose](#docker-compose) -15. [Moving Linux Services Into Containers](#moving-linux-services-into-containers) -16. [Windows Containers](#windows-containers) -17. [Portainer](#portainer) -18. [DockStation](#dockstation) -19. [Linux Container Base Images](#linux-container-base-images) -20. [Blogs](#blogs) -21. [Cloud Native Buildpacks](#cloud-native-buildpacks) -22. [Alternatives to Docker. Available alternatives to Docker for OCI compliant container image building](#alternatives-to-docker-available-alternatives-to-docker-for-oci-compliant-container-image-building) -23. [Videos and Podcasts](#videos-and-podcasts) -24. [Tweets](#tweets) +2. [Debugging](#debugging) +3. [Docker CLI](#docker-cli) +4. [Docker Extensions](#docker-extensions) +5. [Docker Swarm](#docker-swarm) +6. [Awesome Lists](#awesome-lists) +7. [Docker VS Kubernetes](#docker-vs-kubernetes) +8. [Docker Patterns and Antipatterns](#docker-patterns-and-antipatterns) +9. [Docker Security](#docker-security) +10. [How To Build a Smaller Docker Image](#how-to-build-a-smaller-docker-image) +11. [Reducing Build Time](#reducing-build-time) +12. [Modify containers without rebuilding](#modify-containers-without-rebuilding) +13. [Docker Tools](#docker-tools) +14. [Docker and WSL2](#docker-and-wsl2) +15. [Docker and Docker Swarm Cheat sheets](#docker-and-docker-swarm-cheat-sheets) +16. [Docker Compose](#docker-compose) +17. [Moving Linux Services Into Containers](#moving-linux-services-into-containers) +18. [Windows Containers](#windows-containers) +19. [Portainer](#portainer) +20. [DockStation](#dockstation) +21. [Linux Container Base Images](#linux-container-base-images) +22. [Blogs](#blogs) +23. [Cloud Native Buildpacks](#cloud-native-buildpacks) +24. [Alternatives to Docker. Available alternatives to Docker for OCI compliant container image building](#alternatives-to-docker-available-alternatives-to-docker-for-oci-compliant-container-image-building) +25. [Videos and Podcasts](#videos-and-podcasts) +26. [Tweets](#tweets) ## Introduction and Tutorials @@ -81,6 +83,7 @@ - [pythonspeed.com: Docker can slow down your code and distort your benchmarks](https://pythonspeed.com/articles/docker-performance-overhead/) - [turbofuture.com: A Beginners Guide to Containers and Docker](https://turbofuture.com/computers/introductiontodocker) - [releasehub.com: Cutting Build Time In Half with Dockerโ€™s Buildx Kubernetes Driver](https://releasehub.com/blog/cutting-build-time-in-half-docker-buildx-kubernetes) +- [medium.com/nttlabs: Kubernetes driver for Docker BuildX](https://medium.com/nttlabs/buildx-kubernetes-ad0fe59b0c64) In this article, you will learn how Docker BuildX supports building images using BuildKit pods on a Kubernetes cluster. Docker BuildX, the extended version of docker build CLI, now supports distributed image building using Kubernetes! - [linuxadictos.com: Docker presenta nuevas capacidades para desarrolladores](https://www.linuxadictos.com/docker-presenta-nuevas-capacidades-para-desarrolladores.html) - [grafana.com: Docker Integration for Grafana Cloud](https://grafana.com/docs/grafana-cloud/reference/integrations/integration-docker/) Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. - [dev.to: Docker CMD vs ENTRYPOINT: explaining the difference](https://dev.to/hood/docker-cmd-vs-entrypoint-explaining-the-difference-55g7) @@ -125,7 +128,7 @@ - [==clavinjune.dev: Working With Remote Docker Using Docker Context==](https://clavinjune.dev/en/blogs/working-with-remote-docker-using-docker-context/) This is a cheatsheet for working with docker context to connect remote docker locally. Might help you to work with remote docker without manually SSH to the remote server. - [cloudsavvyit.com: How to Add a Volume to an Existing Docker Container](https://www.cloudsavvyit.com/14973/how-to-add-a-volume-to-an-existing-docker-container/) - [cloudsavvyit.com: How to Manage Docker Engine Plugins](https://www.cloudsavvyit.com/15066/how-to-manage-docker-engine-plugins) -- [==iximiuz.com: Learning Containers From The Bottom Up== | Ivan Velichko ๐ŸŒŸ](https://iximiuz.com/en/posts/container-learning-path/) Efficient Learning Path to Grasp Containers Fundamentals +- [==iximiuz.com: Learning Containers From The Bottom Up== | Ivan Velichko ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://iximiuz.com/en/posts/container-learning-path/) Efficient Learning Path to Grasp Containers Fundamentals - [thenewstack.io: The Time to Decide on Docker Desktop Has Arrived](https://thenewstack.io/the-time-to-decide-on-docker-desktop-has-arrived/) - [codeproject.com: How to Create an Image in Docker using Python](https://www.codeproject.com/Tips/5323808/How-To-Create-An-Image-In-Docker-Using-Python) - [dev.to: Top 5 Docker Best Practices](https://dev.to/karanpratapsingh/top-5-docker-best-practices-57oh) @@ -139,7 +142,6 @@ - [==stevelasker.blog: Docker Tagging: Best practices for tagging and versioning docker images==](https://stevelasker.blog/2018/03/01/docker-tagging-best-practices-for-tagging-and-versioning-docker-images/) - [freecodecamp.org: Docker Cache โ€“ How to Do a Clean Image Rebuild and Clear Docker's Cache](https://www.freecodecamp.org/news/docker-cache-tutorial/) - [==dev.to: Docker 101: Introduction to Docker==](https://dev.to/signoz/docker-101-introduction-to-docker-1kbm) -- [betterprogramming.pub: 5 Simple Tips For Debugging Docker Containers ๐ŸŒŸ](https://betterprogramming.pub/5-simple-tips-for-debugging-docker-containers-271cb3dee77a) Smoke out annoying container problems with minimal insanity - [blog.devgenius.io: K8s โ€” Advanced Container Knowledge](https://blog.devgenius.io/k8s-advanced-container-knowledge-fcc45a2f6db8) - [medium.com/@joelbelton: Optimising Docker Performance โ€” The Key 4 Techniques You Need](https://medium.com/@joelbelton/optimising-docker-performance-the-key-4-techniques-you-need-6440cfebb650) - [kubesimplify.com: The secret gems behind building container images, Enter: BuildKit & Docker Buildx](https://kubesimplify.com/the-secret-gems-behind-building-container-images-enter-buildkit-and-docker-buildx) @@ -147,10 +149,38 @@ - [devtron.ai: Understand CMD and ENTRYPOINT Differences in Docker](https://devtron.ai/blog/cmd-and-entrypoint-differences/) - [fatehmuhammad.medium.com: Introduction to Docker | part 1](https://fatehmuhammad.medium.com/introduction-to-docker-part-1-3cff7559e372) - [cloudnativeislamabad.hashnode.dev: Introduction to Docker | part 1 ๐ŸŒŸ](https://cloudnativeislamabad.hashnode.dev/introduction-to-docker-part-1) +- [faun.pub: Dockerfile Best Practices for Developers | Pavan Belagatti](https://faun.pub/dockerfile-best-practices-for-developers-87a2c19b4abe) +- [==docker-curriculum.com: A Docker Tutorial for Beginners ๐ŸŒŸ==](https://docker-curriculum.com/) +- [hostinger.in: What Is Docker and How Does It Work? โ€“ Docker Explained](https://www.hostinger.in/tutorials/what-is-docker) +- [blog.devgenius.io: Container โ€” Namespace Introduction](https://blog.devgenius.io/container-namespace-introduction-6a1e26f8707a) Introduction to common container namespaces +- [viblo.asia: How to prevent out-of-disk space when using Docker?](https://viblo.asia/p/how-to-prevent-out-of-disk-space-when-using-docker-english-WR5JRDBrVGv) +- [iximiuz.com: What Actually Happens When You Publish a Container Port ๐ŸŒŸ](https://iximiuz.com/en/posts/docker-publish-container-ports/) "Port publishing" seems to be a term coined by Docker. But "port forwarding" aka "port mapping - as a form of socket redirection - was a well-known trick well before the invention of containers. How are the two different? +- [iximiuz.com: How To Publish a Port of a Running Container ๐ŸŒŸ](https://iximiuz.com/en/posts/docker-publish-port-of-running-container/) +- [medium.com/@BeNitinAgarwal: Lifecycle of Docker Container](https://medium.com/@BeNitinAgarwal/lifecycle-of-docker-container-d2da9f85959) + +## Debugging + +- [betterprogramming.pub: 5 Simple Tips For Debugging Docker Containers ๐ŸŒŸ](https://betterprogramming.pub/5-simple-tips-for-debugging-docker-containers-271cb3dee77a) Smoke out annoying container problems with minimal insanity +- [iximiuz.com: Docker: How To Debug Distroless And Slim Containers ๐ŸŒŸ](https://iximiuz.com/en/posts/docker-debug-slim-containers/) A handy way to troubleshoot containers lacking a shell and/or debugging tools (e.g, scratch, slim, or distroless) ## Docker CLI - [docs.docker.com: docker buildx imagetools](https://docs.docker.com/engine/reference/commandline/buildx_imagetools/) Commands to work on images in registry +- Who is still copying images between registries with: + - docker cli: + - docker pull + - docker tag + - docker push + - Use: + - crane cp + - Or even: + - cosign cp + + - It's faster, and supports multi-arch (and cosign copies signatures/sboms/attestations) + +## Docker Extensions + +- [==dev.to: 9 Docker Extensions Every Developer Must Try==](https://dev.to/docker/9-docker-extensions-every-developer-must-try-1no2) ## Docker Swarm @@ -199,11 +229,12 @@ - [==slim.ai==](https://www.slim.ai/) Build secure containers, faster. Secure your software supply chain. - [slim.ai: Automatically reduce Docker container size using DockerSlim](https://www.slim.ai/blog/automatically-reduce-docker-container-size-using-dockerslim.html) - [youtube: The need for Slim Docker Container Images with @DockerSlim & Slim.AI](https://www.youtube.com/watch?v=1o14tIEhZL0) - - [==slim.ai: Slim Docker Extension== ๐ŸŒŸ](https://www.slim.ai/docs/docker-desktop-extension.html) + - [==slim.ai: Slim Docker Extension== ๐ŸŒŸ](https://www.slim.ai/docs/docker-desktop-extension.html) - [learnk8s.io: 3 simple tricks for smaller Docker images ๐ŸŒŸ](https://learnk8s.io/blog/smaller-docker-images) When it comes to building Docker containers, you should always strive for smaller images. **Images that share layers and are smaller in size are quicker to transfer and deploy.** - [contains.dev: Optimizing Docker image size and why it matters](https://contains.dev/blog/optimizing-docker-image-size) - [==jpetazzo.github.io: Anti-Patterns When Building Container Images==](http://jpetazzo.github.io/2021/11/30/docker-build-container-images-antipatterns/) - [developers.redhat.com: Reduce the size of container images with DockerSlim](https://developers.redhat.com/articles/2022/01/17/reduce-size-container-images-dockerslim) +- [docker.com: Reduce Your Image Size with the Dive-In Docker Extension](https://www.docker.com/blog/reduce-your-image-size-with-the-dive-in-docker-extension/) ## Reducing Build Time @@ -237,6 +268,10 @@ PHP Docker Image for Cloud Native Deployments (and Kubernetes) - [==ory/dockertest==](https://github.com/ory/dockertest) Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work. Use Docker to run your Golang integration tests against third party services on Microsoft Windows, Mac OSX and Linux! - [==hadolint/hadolint: Haskell Dockerfile Linter==](https://github.com/hadolint/hadolint) Dockerfile linter, validate inline bash, written in Haskell - [==ttl.sh: Anonymous & ephemeral Docker image registry ๐ŸŒŸ==](https://ttl.sh/) Free to use. No need to sign-up. Open source. +- [==buildg: Interactive debugger for Dockerfile== ๐ŸŒŸ](https://github.com/ktock/buildg) Interactive debugger for Dockerfile, with support for IDEs (VS Code, Emacs, Neovim, etc.) + - [infoq.com: Debugging Large and Complex Dockerfiles Gets Easier with Buildg](https://www.infoq.com/news/2022/09/debug-dockerfiles-buildg/) +- [==github.com/google/go-containerregistry== ๐ŸŒŸ](https://github.com/google/go-containerregistry) Go library and CLIs for working with container registries +- [==jesseduffield/lazydocker==](https://github.com/jesseduffield/lazydocker) The lazier way to manage everything docker ## Docker and WSL2 @@ -355,5 +390,9 @@ PHP Docker Image for Cloud Native Deployments (and Kubernetes) + + + + - \ No newline at end of file + diff --git a/docs/dom.md b/docs/dom.md index b1ee568f..cf1713ab 100644 --- a/docs/dom.md +++ b/docs/dom.md @@ -1,4 +1,5 @@ # Document Object Model (DOM) - [Getting Started with the DOM](https://edidiongasikpo.com/getting-started-with-the-dom-ck9u4u82503or6es16p2rx7c1) -- [digitalocean.com: Understanding the DOM โ€” Document Object Model eBook](https://www.digitalocean.com/community/books/understanding-the-dom-document-object-model-ebook) \ No newline at end of file +- [digitalocean.com: Understanding the DOM โ€” Document Object Model eBook](https://www.digitalocean.com/community/books/understanding-the-dom-document-object-model-ebook) +- [freecodecamp.org: JavaScript DOM Tutorial โ€“ How to Build a Calculator App in JS](https://www.freecodecamp.org/news/javascript-dom-build-a-calculator-app/) diff --git a/docs/elearning.md b/docs/elearning.md index 1c7b4bc6..c189dbe8 100644 --- a/docs/elearning.md +++ b/docs/elearning.md @@ -1,8 +1,9 @@ # E-learning 1. [List](#list) -2. [Spanish E-learning](#spanish-e-learning) -3. [Opinions](#opinions) +2. [Best Microservice Architecture Courses](#best-microservice-architecture-courses) +3. [Spanish E-learning](#spanish-e-learning) +4. [Opinions](#opinions) ## List @@ -41,6 +42,14 @@ - [harvard.edu: CS50: Introduction to Computer Science (free)](https://pll.harvard.edu/course/cs50-introduction-computer-science) An introduction to the intellectual enterprises of computer science and the art of programming. - [==Techworld with Nana: Learn DevOps topics easily==](https://www.techworld-with-nana.com) +## Best Microservice Architecture Courses + +- [medium.com/javarevisited: 11 Best Java Microservices Courses with Spring Boot and Spring Cloud in 2022](https://medium.com/javarevisited/10-best-java-microservices-courses-with-spring-boot-and-spring-cloud-6d04556bdfed) + - [udemy.com: Microservices Architecture - The Complete Guide](https://www.udemy.com/course/microservices-architecture-the-complete-guide/) + - [udemy.com: Master Microservices with Spring Boot and Spring Cloud](https://www.udemy.com/course/microservices-with-spring-boot-and-spring-cloud/) + - [educative.io: An Introduction to Microservice Principles and Concepts](https://www.educative.io/courses/introduction-microservice-principles-concepts) + - [coursera.org: Building Scalable Java Microservices with Spring Boot and Spring Cloud](https://www.coursera.org/learn/google-cloud-java-spring) + ## Spanish E-learning - [open-bootcamp.com](http://open-bootcamp.com) diff --git a/docs/finops.md b/docs/finops.md index db41a907..db9dfd93 100644 --- a/docs/finops.md +++ b/docs/finops.md @@ -39,6 +39,9 @@ - get familiar with ๐—”๐—ช๐—ฆ ๐—–๐—ผ๐˜€๐˜ ๐—ฒ๐˜…๐—ฝ๐—น๐—ผ๐—ฟ๐—ฒ๐—ฟ - set up ๐—ฏ๐—ถ๐—น๐—น๐—ถ๐—ป๐—ด ๐—ฎ๐—น๐—ฒ๐—ฟ๐˜๐˜€ - understand your cost ๐˜€๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ: which services contribute significantly to your costs? +- [hystax.com: The difference between cloud cost management and FinOps](https://hystax.com/the-difference-between-cloud-cost-management-and-finops/) +- [infoworld.com: Are we experiencing cloudflation?](https://www.infoworld.com/article/3674048/are-we-experiencing-cloudflation.html) The sticker shock of cloud computing bills has many in the C-suite looking for answers. A solid finops program can close the budget holes and pay for itself. +- [edgebricks.com: Why Public Clouds Get So Expensive Over Time ๐ŸŒŸ](https://edgebricks.com/why-public-clouds-get-so-expensive-over-time/) ## Compute Cost Calculator @@ -53,6 +56,9 @@ ## Kubernetes Cost Optimization - [medium.com/armory: Continuous Cost Optimization for Kubernetes](https://medium.com/armory/continuous-cost-optimization-for-kubernetes-4361045f0215) +- [==learnk8s/xlskubectl==](https://github.com/learnk8s/xlskubectl) A spreadsheet to control your Kubernetes cluster. xlskubectl integrates Google Spreadsheet with Kubernetes. You can finally administer your cluster from the same spreadsheet that you use to track your expenses. +- [==medium.com/empathyco: Cloud FinOps โ€” Part 4: Kubernetes Cost Report==](https://medium.com/empathyco/cloud-finops-part-4-kubernetes-cost-report-b4964be02dc3) In this article, you will learn how to build your own Kubernetes cost explorer dashboard using Prometheus and Grafana. +- [medium.com/@danielepolencic: In Kubernetes, are there hidden costs to running many cluster nodes?](https://medium.com/@danielepolencic/reserved-cpu-and-memory-in-kubernetes-nodes-65aee1946afd) Yes, since not all CPU and memory in your Kubernetes nodes can be used to run Pods. ## Licence Managers @@ -68,6 +74,8 @@ ## Kubernetes Governance and Cost Management for the Cloud-Native Enterprise +- [medium.com/compass-true-north: Halving Kubernetes Compute Costs With Vertical Pod Autoscaler](https://medium.com/compass-true-north/halving-kubernetes-compute-costs-with-vertical-pod-autoscaler-df658c043301) In this article, you'll learn how the team at Compass managed to reduce the need for over 50 per cent of the total nodes in each cluster (halving their compute costs) by using the vertical pod autoscaler + ### Replex - [replex.io](https://www.replex.io/) @@ -88,4 +96,6 @@ - \ No newline at end of file + + + diff --git a/docs/flux.md b/docs/flux.md index 24e76b17..9d50317d 100644 --- a/docs/flux.md +++ b/docs/flux.md @@ -1,6 +1,7 @@ # Flux. The GitOps operator for Kubernetes 1. [Introduction](#introduction) + 1. [Flux Terraform Controller](#flux-terraform-controller) 2. [Templates](#templates) ## Introduction @@ -38,6 +39,15 @@ - [==flux-subsystem-argo.github.io: GitOps Terraform Resources with Argo CD and Flux Subsystem for Argo==](https://flux-subsystem-argo.github.io/website/tutorials/terraform/) This is a tutorial to show how could we use Flux Subsystem for Argo (FSA) to bring the Terraform management feature from the Flux world to your Argo CD UI. In order to do so, we need Weave GitOps Terraform Controller to help us reconcile our Terraform resources. - [blog.ediri.io: Flux With Buckets: Is This Still GitOps?](https://blog.ediri.io/flux-with-buckets-is-this-still-gitops) How to use the Flux Bucket component with AWS S3 with Civo and Pulumi. Flux Bucket is a simple way to deploy your kubernetes manifests to a S3 bucket and then use Flux to deploy them - [dirien/pulumi-civo-flux-bucket](https://github.com/dirien/pulumi-civo-flux-bucket) +- [fluxcd.io: GitOps Without Leaving your IDE](https://fluxcd.io/blog/2022/09/gitops-without-leaving-your-ide/) +- [fluxcd.io: How to GitOps Your Terraform](https://fluxcd.io/blog/2022/09/how-to-gitops-your-terraform/) +- [thenewstack.io: Deploy Stateful Workloads on Kubernetes with Ondat and FluxCD](https://thenewstack.io/deploy-stateful-workloads-on-kubernetes-with-ondat-and-fluxcd/) GitOps provides a single source of truth for Kubernetes manifests, preventing configuration drift, allowing easy rollbacks and changes to production safely. +- [==gist.github.com: GitOps for Helm Users== ๐ŸŒŸ](https://gist.github.com/scottrigby/a1a42c3292ec7899837c578ffdaaf92a) In this step-by-step tutorial, you will learn how to convert a Helm chart into declarative Custom Resources for Flux and gradually migrate your workloads to be GitOps-friendly. + +### Flux Terraform Controller + +- [weaveworks.github.io: Weave GitOps Terraform Controller](https://weaveworks.github.io/tf-controller/) +- [cncf.io: How to GitOps your Terraform](https://www.cncf.io/blog/2022/09/30/how-to-gitops-your-terraform/) ## Templates diff --git a/docs/git.md b/docs/git.md index 3f5b37ae..56e404ca 100644 --- a/docs/git.md +++ b/docs/git.md @@ -1,56 +1,60 @@ # Git and Patterns for Managing Source Code Branches. Merge BOTs 1. [Git Distributed Version-Control System](#git-distributed-version-control-system) -2. [Git Branches](#git-branches) -3. [Git Aliases](#git-aliases) -4. [Git and GitHub Backup](#git-and-github-backup) -5. [Cherry-picking](#cherry-picking) -6. [Git Submodules](#git-submodules) -7. [Shields](#shields) -8. [Design By Contract](#design-by-contract) -9. [Git Cheat Sheets](#git-cheat-sheets) -10. [Monorepo VS Polyrepo](#monorepo-vs-polyrepo) -11. [Patterns for Managing Source Code Branches (Branching Models/Workflows)](#patterns-for-managing-source-code-branches-branching-modelsworkflows) - 1. [Git Workflows](#git-workflows) - 2. [Trunk Based Development](#trunk-based-development) - 3. [Feature Branch Development (aka GitFlow)](#feature-branch-development-aka-gitflow) - 1. [Git Flow](#git-flow) - 2. [Git Flow is a bad idea](#git-flow-is-a-bad-idea) - 4. [Trunk-based Development vs. Git Flow](#trunk-based-development-vs-git-flow) - 5. [Alternative Branching Models](#alternative-branching-models) - 1. [Feature Flags (Feature Toggles)](#feature-flags-feature-toggles) - 1. [Keystone Interface and Keystone Flags](#keystone-interface-and-keystone-flags) -12. [Git Commands](#git-commands) -13. [BitBucket](#bitbucket) -14. [GitLab](#gitlab) - 1. [GitLab Collective](#gitlab-collective) -15. [GitHub](#github) - 1. [GitHub Lab](#github-lab) - 2. [GitHub Code Scanner](#github-code-scanner) - 3. [GitHub Actions](#github-actions) - 1. [GitHub Actions Marketplace](#github-actions-marketplace) - 4. [GitHub Actions and OpenShift](#github-actions-and-openshift) - 5. [GitHub Copilot](#github-copilot) - 1. [GitHub CoPilot VS GPT-3](#github-copilot-vs-gpt-3) -16. [Gitea](#gitea) -17. [Git Tools](#git-tools) - 1. [Git Credential Manager](#git-credential-manager) - 2. [Semantic-release. CI/CD semantic release workflow (semantic Versioning, commit format and releases)](#semantic-release-cicd-semantic-release-workflow-semantic-versioning-commit-format-and-releases) -18. [Azure DevOps (formerly known as VSTS)](#azure-devops-formerly-known-as-vsts) -19. [Pre Commit Hooks](#pre-commit-hooks) -20. [Merge BOTs](#merge-bots) - 1. [Tips](#tips) - 2. [Jenkins for git merges](#jenkins-for-git-merges) - 3. [Bitbucket for git merges](#bitbucket-for-git-merges) - 4. [GitLab for git merges](#gitlab-for-git-merges) - 1. [Marge GitLab bot](#marge-gitlab-bot) - 5. [Jenkins-X bots](#jenkins-x-bots) - 6. [Plastic SCM bot](#plastic-scm-bot) - 7. [Mergify bot](#mergify-bot) - 8. [GitHub bots](#github-bots) - 1. [Bors GitHub bot](#bors-github-bot) -21. [Videos](#videos) -22. [Tweets](#tweets) +2. [Git stash](#git-stash) +3. [Git Branches](#git-branches) +4. [Git Aliases](#git-aliases) +5. [Git and GitHub Backup](#git-and-github-backup) +6. [Cherry-picking](#cherry-picking) +7. [Git Submodules](#git-submodules) +8. [Shields](#shields) +9. [Design By Contract](#design-by-contract) +10. [Git Cheat Sheets](#git-cheat-sheets) +11. [Monorepo VS Polyrepo](#monorepo-vs-polyrepo) +12. [Patterns for Managing Source Code Branches (Branching Models/Workflows)](#patterns-for-managing-source-code-branches-branching-modelsworkflows) + 1. [Git Workflows](#git-workflows) + 2. [Trunk Based Development](#trunk-based-development) + 3. [Feature Branch Development (aka GitFlow)](#feature-branch-development-aka-gitflow) + 1. [Git Flow](#git-flow) + 2. [Git Flow is a bad idea](#git-flow-is-a-bad-idea) + 4. [Trunk-based Development vs. Git Flow](#trunk-based-development-vs-git-flow) + 5. [Alternative Branching Models](#alternative-branching-models) + 1. [Feature Flags (Feature Toggles)](#feature-flags-feature-toggles) + 1. [Keystone Interface and Keystone Flags](#keystone-interface-and-keystone-flags) +13. [Git Commands](#git-commands) +14. [BitBucket](#bitbucket) +15. [GitLab](#gitlab) + 1. [GitLab Collective](#gitlab-collective) +16. [GitHub](#github) + 1. [GitHub Lab](#github-lab) + 2. [GitHub Code Scanner](#github-code-scanner) + 3. [GitHub Actions](#github-actions) + 1. [GitHub Actions Marketplace](#github-actions-marketplace) + 4. [GitHub Actions and OpenShift](#github-actions-and-openshift) + 5. [GitHub Copilot](#github-copilot) + 1. [GitHub CoPilot VS GPT-3](#github-copilot-vs-gpt-3) + 2. [Alternatives](#alternatives) +17. [Gitea](#gitea) +18. [Sapling](#sapling) +19. [Git Tools](#git-tools) + 1. [Git Credential Manager](#git-credential-manager) + 2. [Semantic-release. CI/CD semantic release workflow (semantic Versioning, commit format and releases)](#semantic-release-cicd-semantic-release-workflow-semantic-versioning-commit-format-and-releases) +20. [Azure DevOps (formerly known as VSTS)](#azure-devops-formerly-known-as-vsts) +21. [Pre Commit Hooks](#pre-commit-hooks) +22. [Merge BOTs](#merge-bots) + 1. [Tips](#tips) + 2. [Jenkins for git merges](#jenkins-for-git-merges) + 3. [Bitbucket for git merges](#bitbucket-for-git-merges) + 4. [GitLab for git merges](#gitlab-for-git-merges) + 1. [Marge GitLab bot](#marge-gitlab-bot) + 5. [Jenkins-X bots](#jenkins-x-bots) + 6. [Plastic SCM bot](#plastic-scm-bot) + 7. [Mergify bot](#mergify-bot) + 8. [GitHub bots](#github-bots) + 1. [Bors GitHub bot](#bors-github-bot) +23. [Videos](#videos) +24. [Slides](#slides) +25. [Tweets](#tweets) ## Git Distributed Version-Control System @@ -106,7 +110,6 @@ - [c-sharpcorner.com: 0 Git Commands You Should Know](https://www.c-sharpcorner.com/article/20-git-commands-you-should-know/) - [opensource.com: Find what changed in a Git commit](https://opensource.com/article/21/4/git-whatchanged) Git offers several ways you can quickly see which files changed in a commit. - [freecodecamp.org: How to Use Git and Git Workflows โ€“ a Practical Guide](https://www.freecodecamp.org/news/practical-git-and-git-workflows/) -- [opensource.com: A practical guide to using the git stash command](https://opensource.com/article/21/4/git-stash) Learn how to use the git stash command and when you should use it. - [about.gitlab.com: Why small merge requests are key to a great review ๐ŸŒŸ](https://about.gitlab.com/blog/2021/03/18/iteration-and-code-review/) - [dzone: GitOps: How to Ops Your Git the Right Way ๐ŸŒŸ](https://dzone.com/articles/gitops-how-to-ops-your-git-the-right-way) In this article weโ€™ll look into the specifics of creating Git repositories structures โ€Šโ€” โ€Šthe very core of the GitOps approach. - [honeybadger.io: Top Ten Git Tips & Tricks](https://www.honeybadger.io/blog/git-tricks/) @@ -130,7 +133,7 @@ - [blog.argoproj.io: 5 new Git commands and 1 tip youโ€™ll use every day](https://blog.argoproj.io/5-new-git-commands-and-1-tip-youll-use-every-day-3c28e97c9321) - [dev.to: Open Source: My first Pull Request](https://dev.to/okimotomizuho/open-source-my-first-pull-request-1356) - [blog.testproject.io: Git 101 From Scratch: The Ultimate Guide for QAs ๐ŸŒŸ](https://blog.testproject.io/2021/09/23/git-101-from-scratch-the-ultimate-guide-for-qas) -- [freecodecamp.org: Git for Professionals โ€“ Free Version Control Course](https://www.freecodecamp.org/news/git-for-professionals/) +- [==freecodecamp.org: Git for Professionals โ€“ Free Version Control Course== ๐ŸŒŸ](https://www.freecodecamp.org/news/git-for-professionals/) - [towardsdatascience.com: A Git cheatsheet that all coders need](https://towardsdatascience.com/a-git-cheatsheet-that-all-coders-need-bf8ad4d91576) Ever accidentally deleted files or necessary code? Or do you wish to look back at an older version of your code? - [r-bloggers.com: Git: Moving from Master to Main](https://www.r-bloggers.com/2021/10/git-moving-from-master-to-main/) - [css-tricks.com: Advanced Git series. 1 Creating the Perfect Commit in Git](https://css-tricks.com/creating-the-perfect-commit-in-git/) @@ -166,10 +169,18 @@ - [==betterprogramming.pub: Recovering From Common Git Errors==](https://betterprogramming.pub/recovering-from-common-git-errors-eccda7ec6180) - [github.blog: Improve Git monorepo performance with a file system monitor ๐ŸŒŸ](https://github.blog/2022-06-29-improve-git-monorepo-performance-with-a-file-system-monitor/) **Monorepo performance can suffer due to the sheer number of files in your working directory. Gitโ€™s new builtin file system monitor makes it easy to speed up monorepo performance.** - [java67.com: Top 10 Free Git Courses and Tutorials for Beginners in 2022 - Best of Lot](https://www.java67.com/2022/07/10-best-free-git-courses-and-tutorials.html) +- [==medium.com/@ladoui.bilal: 10 Git commands every DevOps should know== ๐ŸŒŸ](https://medium.com/@ladoui.bilal/10-git-commands-should-every-devops-should-know-6ae07f5e1989) +- [polarsquad.com: Stop doing pull requests](https://polarsquad.com/blog/stop-doing-pull-requests) + +## Git stash + +- [opensource.com: A practical guide to using the git stash command](https://opensource.com/article/21/4/git-stash) Learn how to use the git stash command and when you should use it. +- [medium.com/featurepreneur: Donโ€™t trash your changes but stash โ€˜em!](https://medium.com/featurepreneur/dont-trash-your-changes-but-stash-em-2091a191f7db) +- [dev.to: How to Use Git Stash Command](https://dev.to/mwafrika/how-to-use-git-stash-command-22bk) ## Git Branches -- [learngitbranching.js.org: Learn Git Branching ๐ŸŒŸ](https://learngitbranching.js.org/) An interactive Git visualization tool to educate and challenge! +- [==learngitbranching.js.org: Learn Git Branching== ๐ŸŒŸ](https://learngitbranching.js.org/) An interactive Git visualization tool to educate and challenge! - [gitkraken.com: How do you rename a Git branch?](https://www.gitkraken.com/learn/git/problems/rename-git-branch) - [freecodecamp.org: Git Checkout Remote Branch Tutorial](https://www.freecodecamp.org/news/git-checkout-remote-branch-tutorial/) - [freecodecamp.org: How to Use Branches in Git โ€“ the Ultimate Cheatsheet ๐ŸŒŸ](https://www.freecodecamp.org/news/how-to-use-branches-in-git/) @@ -184,6 +195,7 @@ - [betterprogramming.pub: Leave Aside Git Checkout. Consider Git Switch for a Change](https://betterprogramming.pub/leave-aside-git-checkout-consider-git-switch-for-a-change-7849df8714b0) Switch between branches without checking out - [freecodecamp.org: Git List Branches โ€“ How to Show All Remote and Local Branch Names](https://www.freecodecamp.org/news/git-list-branches-how-to-show-all-remote-and-local-branch-names/) - [opensource.com: Explaining Git branches with a LEGO analogy](https://opensource.com/article/22/4/git-branches) +- [blog.devops.dev: Stop messing up with Git. Follow this simple and effective strategy to maintain Git branches](https://blog.devops.dev/stop-messing-up-with-git-follow-this-simple-and-effective-strategy-to-maintain-git-branches-cc378468cde6) ## Git Aliases @@ -352,6 +364,41 @@ git reset --hard HEAD^ git push origin -f ``` +- Undoing commits. In case you pushed a wrong change and you want to remove it totally the following commands explain how to do it in soft, mixed and hard mode: + +```bash +git reset --soft HEAD^ # Removes the last commit, keeps changed staged +git reset --mixed HEAD^ # Unstages the changes as well +git reset --hard HEAD^ # Discards local changes +``` + +- Reverting commits: + +```bash +git revert 72856ea # Reverts the given commit +git revert HEAD~3.. # Reverts the last three commits +git revert --no-commit HEAD~3.. +``` + +- Recovering lost commits. We can list all last changes and recover back any commit we would like to get again: + +```bash +git reflog # Shows the history of HEAD +git reflog show bugfix # Shows the history of bugfix pointer +``` + +- Amending the last commit. Letโ€™s suppose that you commit a wrong log message and you would like to fix it without changing the commit. โ€” amend flag will allow us to do it: + +```bash +git commit --amend +``` + +- Interactive rebasing. Interactive rebasing can be used for changing commits in many ways such as editing, deleting, and squashing: + +```bash +git rebase -i HEAD~5 +``` + ## BitBucket - [bitbucket.org](https://bitbucket.org/) @@ -392,17 +439,19 @@ git push origin -f - [freecodecamp.org: DevOps with GitLab CI Course ๐ŸŒŸ](https://www.freecodecamp.org/news/devops-with-gitlab-ci-course/) - [testmo.com: GitLab CI/CD Test Automation Pipeline & Reporting](https://www.testmo.com/guides/gitlab-ci-test-automation) - [community.ops.io: CI CD 101 with GitLab](https://community.ops.io/jatin/ci-cd-101-with-gitlab-4pol) +- [about.gitlab.com: Simple Kubernetes management with GitLab](https://about.gitlab.com/blog/2022/11/15/simple-kubernetes-management-with-gitlab/) ### GitLab Collective - [GitLab Collective ๐ŸŒŸ](https://stackoverflow.com/collectives/gitlab) Discover and share knowledge about version control, CI/CD, DevSecOps, and all-remote workflows -- [stackoverflow.blog: GitLab launches Collective on Stack Overflow](https://stackoverflow.blog/2021/09/22/gitlab-launches-collective-on-stack-overflow/) +- [stackoverflow.blog: GitLab launches Collective on Stack Overflow](https://stackoverflow.blog/2021/09/22/gitlab-launches-collective-on-stack-overflow/) ## GitHub - [githubstatus.com ๐ŸŒŸ](https://www.githubstatus.com/) - [GitHub Codespaces](https://github.com/features/codespaces) Get the full Visual Studio Code experience without leaving GitHub. - [infoq.com: GitHub Codespaces Can Now Be Templated to Improve Performance](https://www.infoq.com/news/2022/02/github-codespaces-templates/) + - [infoworld.com: GitHub Codespaces freely available to all GitHub users](https://www.infoworld.com/article/3679948/github-codespaces-freely-available-to-all-github-users.html) All GitHub users can use the GitHub-hosted development environments free for up to 60 hours per month. Codespaces also added JetBrains IDE, JupyterLab, and GPU support. - [GitHub CLI](https://cli.github.com/) - [github.com/cli/cli](https://github.com/cli/cli) - [github.blog: GitHub CLI allows you to close, reopen, and add metadata to issues and pull requests](https://github.blog/changelog/2020-05-11-github-cli-allows-you-to-close-reopen-and-add-metadata-to-issues-and-pull-requests/) @@ -472,6 +521,9 @@ git push origin -f - [==github.com/Lightning-AI/engineering-class: Lightning Bits: Engineering for Researchers== ๐ŸŒŸ](https://github.com/Lightning-AI/engineering-class) **This repository contains additional materials and show notes for the Lightning Bits: Engineering for Researchers video series.** - [github.com/Lightning-AI/engineering-class: Episode 8: Creating a Pull Request on GitHub](https://github.com/Lightning-AI/engineering-class/blob/main/ep08-github-pr/Ep08-ShowNotes.md) - [github.com/Lightning-AI/engineering-class: Episode 9: Collaborating with Pull Requests using GitHub](https://github.com/Lightning-AI/engineering-class/blob/main/ep09-github-collab/Ep09-ShowNotes.md#syncing-forks-with-upstream) +- [github.com/marketplace: Use AWS Secrets Manager secrets in GitHub jobs ๐ŸŒŸ](https://github.com/marketplace/actions/aws-secrets-manager-github-action) +- [tylercipriani.com: GitHub's Missing Merge Option](https://tylercipriani.com/blog/2022/09/30/githubs-missing-merge-option/) +- [==steampipe.io: Top 3 ways to improve GitHub org security==](https://steampipe.io/blog/github-security-tips) Gain some practical tips for securing your GitHub organizations based on findings from common security incidents. ### GitHub Lab @@ -549,16 +601,29 @@ git push origin -f - [GitHub Copilot is generally available to all developers](https://github.blog/2022-06-21-github-copilot-is-generally-available-to-all-developers/) **Weโ€™re making GitHub Copilot, an AI pair programmer that suggests code in your editor, generally available to all developers for $10 USD/month or $100 USD/year. It will also be free to use for verified students and maintainers of popular open source projects.** - [xataka.com: GitHub Copilot, el asistente para programar basado en IA, ya estรก disponible para todos: cuรกnto cuesta y quienes lo pueden usar gratis](https://www.xataka.com/aplicaciones/github-copilot-asistente-para-escribir-codigo-basado-ia-esta-disponible-para-todos-esto-que-costara) - [genbeta.com: Ya hay organizaciones pro-software libre abandonando GitHub por su uso comercial de proyectos open source en Copilot](https://www.genbeta.com/desarrollo/hay-organizaciones-pro-software-libre-abandonando-github-su-uso-comercial-proyectos-open-source-copilot) +- [xataka.com: Copilot ya escribe el 40% del cรณdigo de lenguajes como Java o Python que llega a GitHub. En cinco aรฑos llegarรก al 80%](https://www.xataka.com/aplicaciones/copilot-escribe-40-codigo-lenguajes-como-java-python-que-llega-a-github-cinco-anos-llegara-al-80) +- [xataka.com: Copilot es una revoluciรณn para programadores (pero tambiรฉn un potencial problema legal para Microsoft)](https://www.xataka.com/robotica-e-ia/copilot-revolucion-para-programadores-tambien-potencial-problema-legal-para-microsoft) #### GitHub CoPilot VS GPT-3 - [python.plainenglish.io: Who Writes Better Code: GitHub CoPilot or GPT-3?](https://python.plainenglish.io/who-writes-better-code-github-copilot-or-gpt-3-9e7441650c9b) +#### Alternatives + +- [medium.com/geekculture: Hey ChatGPT, Automate These Tasks Using Python](https://medium.com/geekculture/hey-chatgpt-solve-these-coding-tasks-using-python-b2e7482f2c18) Using AI to plot graphs, send emails/messages, and do web scraping in a few seconds. +- [xataka.com: Los programadores ya alucinaban con CoPilot y ChatGPT, pero ahora DeepMind va mรกs allรก con AplhaCode](https://www.xataka.com/robotica-e-ia/programadores-alucinaban-copilot-chatgpt-ahora-deepmind-va-alla-aplhacode) +- [lucidrains/PaLM-rlhf-pytorch](https://github.com/lucidrains/PaLM-rlhf-pytorch) The first open source equivalent of ChatGPT. Implementation of RLHF (Reinforcement Learning with Human Feedback) on top of the PaLM architecture. Basically ChatGPT but with PaLM + ## Gitea - [Gitea](https://gitea.com/) - [itnext.io: Setup a Private Git-Repository in Kubernetes with Gitea](https://itnext.io/setup-a-private-git-repository-in-kubernetes-with-gitea-64f5ea1e5070) +## Sapling + +- [sapling-scm.com](https://sapling-scm.com/docs/introduction/) +- [betterprogramming.pub: My First Impressions of Sapling โ€” Metaโ€™s New Git Client](https://betterprogramming.pub/four-ways-you-can-experiment-with-sapling-709eec0ffcb1) + ## Git Tools - [Atlassian Sourcetree](https://www.sourcetreeapp.com/) @@ -700,6 +765,15 @@ Automate them. + + + +## Slides + +??? note "Click to expand!" + +
+
## Tweets @@ -727,5 +801,11 @@ Automate them. + + + + + + - \ No newline at end of file + diff --git a/docs/gitops.md b/docs/gitops.md index 0e8174bc..6ba8ca85 100644 --- a/docs/gitops.md +++ b/docs/gitops.md @@ -17,6 +17,7 @@ 10. [OpenShift Applier](#openshift-applier) 11. [HashiCorp Waypoint](#hashicorp-waypoint) 12. [Weave GitOps](#weave-gitops) + 13. [Octopilot](#octopilot) 6. [GitOps Frameworks](#gitops-frameworks) 7. [Kubernetes Platforms and GitOps](#kubernetes-platforms-and-gitops) 1. [OpenShift GitOps](#openshift-gitops) @@ -34,8 +35,8 @@ ## Introduction -- [gitops.tech ๐ŸŒŸ](https://www.gitops.tech/) -- [OpenGitOps ๐ŸŒŸ](https://opengitops.dev) OpenGitOps is a set of open-source standards, best practices, and community-focused education to help organizations adopt a structured, standardized approach to implementing GitOps. +- [==gitops.tech== ๐ŸŒŸ](https://www.gitops.tech/) +- [==OpenGitOps.dev== ๐ŸŒŸ](https://opengitops.dev) OpenGitOps is a set of open-source standards, best practices, and community-focused education to help organizations adopt a structured, standardized approach to implementing GitOps. - [weave.works: Guide to GitOps](https://www.weave.works/technologies/gitops/) - [weave.works: What Is GitOps?](https://www.weave.works/blog/what-is-gitops-really) - [atlassian.com: Is GitOps the next big thing in DevOps?](https://www.atlassian.com/git/tutorials/gitops) @@ -160,7 +161,13 @@ - Separate Infrastructure Repository, Directory-Based - Multiple Infrastructure Repositories, One per Environment -- [medium.com/codex: Points to Consider for Structuring Infrastructure as Code Repositories](https://medium.com/codex/points-to-consider-for-structuring-infrastructure-as-code-repositories-886ff58404b8) +- [medium.com/codex: Points to Consider for Structuring Infrastructure as Code Repositories](https://medium.com/codex/points-to-consider-for-structuring-infrastructure-as-code-repositories-886ff58404b8) +- [medium.com/jumia-tech: Immutable Infrastructure & GitOps ๐ŸŒŸ](https://medium.com/jumia-tech/immutable-infrastructure-gitops-18d644f9c7cb) +- [medium.com/@alamdar.hussain0007: GitOps with Kubernetes](https://medium.com/@alamdar.hussain0007/gitops-with-kubernetes-f0912b644925) +- [thenewstack.io: KubeCon: 14,000 More Engineers Have Their GitOps Basics Down](https://thenewstack.io/kubecon-14000-more-engineers-have-their-gitops-basics-down/) As GitOps grows in its ability to leverage DevOps practices via Infrastructure as Code, thousands get up to speed with GitOps Fundamentals. +- [containerjournal.com: GitOps Workflows Expanding Beyond Kubernetes Clusters](https://containerjournal.com/features/gitops-workflows-expanding-beyond-kubernetes-clusters/) GitOps is an opinionated instance of a DevOps workflow that unifies both software deployment and the provisioning of infrastructure using code to create reusable templates. +- [==developers.redhat.com: GitOps Cookbook: Kubernetes automation in practice==](https://developers.redhat.com/articles/2022/12/20/gitops-cookbook-kubernetes-automation-practice) +- [containerjournal.com: Best of 2022: GitOps: The Missing Link for CI/CD for Kubernetes](https://containerjournal.com/features/gitops-the-missing-link-for-ci-cd-for-kubernetes/)
[![gitops in a nutshell](images/GitOps-in-a-nutshell.png)](https://www.unifiedguru.com/gitops-and-the-cloud-operating-model-vmware-cloud-community/) @@ -236,6 +243,7 @@ - [pauldally.medium.com: Kustomize Best Practices (Part 2)](https://pauldally.medium.com/kustomize-best-practices-part-2-c560f1fa1409) - [notmattlucas.com: Kubernetes Configuration with Kustomize](https://notmattlucas.com/kubernetes-configuration-with-kustomize-f4dbba250f3) - [medium.com/@nanditasahu031: How to Start with Kustomize โ€” itโ€™s Features](https://medium.com/@nanditasahu031/how-to-start-with-kustomize-its-features-dd541c3d2fa8) +- [harness.io: Comparing Helm vs Kustomize](https://harness.io/blog/helm-vs-kustomize) ### Flagger @@ -294,6 +302,10 @@ - [thenewstack.io: Weave GitOps Core Integrates Git with Kubernetes](https://thenewstack.io/weave-gitops-core-integrates-git-with-kubernetes/) - [thenewstack.io: Weave GitOps Trusted Delivery: A Road to Kubernetes Sanity?](https://thenewstack.io/weave-gitops-trusted-delivery-a-road-to-kubernetes-sanity/) +### Octopilot + +- [dailymotion-oss.github.io/octopilot: Octopilot](https://dailymotion-oss.github.io/octopilot/) Automate your Gitops workflow, by automatically creating/merging GitHub PRs. + ## GitOps Frameworks - [dzone: Why Now Is the Time for the Spring Boot of Infrastructure Automation ๐ŸŒŸ](https://dzone.com/articles/why-now-is-the-time-for-the-spring-boot-of-infrast) Application teams move fast using frameworks built to boost developer productivity. Learn how a productivity framework can help your DevOps initiative succeed. @@ -312,6 +324,7 @@ - [medium: GitOps with Istio, Tekton and Argo CD โ€” on OpenShift 4](https://medium.com/@joelkaplan1/gitops-with-istio-tekton-and-argo-cd-on-openshift-4-5e42d22994e3) - [thenewstack.io: Red Hat Delivers Full GitOps CI/CD Built on Tekton and Argo](https://thenewstack.io/red-hat-delivers-full-gitops-ci-cd-built-on-tekton-and-argo/) - [redhat.com: Red Hat Makes DevOps a Reality with OpenShift GitOps and OpenShift Pipelines ๐ŸŒŸ](https://www.redhat.com/en/about/press-releases/red-hat-makes-devops-reality-openshift-gitops-and-openshift-pipelines) New Red Hat OpenShift features provide fully-integrated CI/CD pipeline for organizations to deliver applications more consistently and with greater predictability across the open hybrid cloud. +- [==piotrminkowski.com: GitOps with Advanced Cluster Management for Kubernetes== ๐ŸŒŸ](https://piotrminkowski.com/2022/10/24/gitops-with-advanced-cluster-management-for-kubernetes/) In this article, you will learn how to manage multiple clusters with Argo CD and Advanced Cluster Management for Kubernetes. Advanced Cluster Management (ACM) for Kubernetes is a tool provided by Red Hat based on a community-driven project [Open Cluster Management](https://open-cluster-management.io/). Iโ€™ll show you how to use it with OpenShift to implement gitops approach for running apps across multiple clusters. However, you can as well deploy a community-driven version on Kubernetes. ### AWS Kubernetes diff --git a/docs/golang.md b/docs/golang.md index 9a140279..4fb5d444 100644 --- a/docs/golang.md +++ b/docs/golang.md @@ -52,6 +52,9 @@ - [blog.logrocket.com: Building a simple app with Go and PostgreSQL](https://blog.logrocket.com/building-simple-app-go-postgresql/) - [datastation.multiprocess.io: Speeding up Go's builtin JSON encoder up to 55% for large arrays of objects](https://datastation.multiprocess.io/blog/2022-03-03-improving-go-json-encoding-performance-for-large-arrays-of-objects.html) - [betterprogramming.pub: Writing My First Microservice Using Go](https://betterprogramming.pub/my-first-microservice-using-golang-c5cf69f1376d) +- [dev.to/mavensingh: Advantages and Disadvantages of Go](https://dev.to/mavensingh/advantages-and-disadvantages-of-go-5gha) +- [levelup.gitconnected.com: Concurrency in Go: shared memory](https://levelup.gitconnected.com/concurrency-in-go-shared-memory-a2ef201b396b) +- [luk4z7/go-concurrency-guide: Go Concurrency Guide ๐ŸŒŸ](https://github.com/luk4z7/go-concurrency-guide) Practical concurrency guide in Go, communication by channels, patterns ## Design Patterns @@ -109,6 +112,10 @@ - [curl-to-go](https://mholt.github.io/curl-to-go/) Instantly convert curl commands to Go code - [kkdai/youtube](https://github.com/kkdai/youtube) Download Youtube Video in Golang - [==github.com/iawia002/lux== ๐ŸŒŸ](https://github.com/iawia002/lux) ๐Ÿ‘พ **Fast and simple video download library and CLI tool written in Go** +- [github.com/Email-Dashboard:](https://github.com/Email-Dashboard/Email-Dashboard) An interactive emailing management service with scheduling, templating, tracking and A/B testing. +- [==gobrew== ๐ŸŒŸ](https://github.com/kevincobain2000/gobrew) Go version manager. Super simple tool to install and manage Go versions. Install go without root. Gobrew doesn't require shell rehash. +- [github.com/groundcover-com: Container Restarts Watcher](https://github.com/groundcover-com/blog/tree/main/blog_k8s_containers_restarts) +- [create-go-app/cli](https://github.com/create-go-app/cli) Create a new production-ready project with backend, frontend and deploy automation by running one CLI command! ## Go Books @@ -127,6 +134,7 @@ ## Dockerfile for go - [==dev.to: Dockerfile for Go==](https://dev.to/youngyoshie/dockerfile-for-go-4jjp) +- [dev.to: Dockerize a GoLang HTTP server and deploy it on Kubernetes](https://dev.to/aksrao1998/dockerize-a-golang-http-server-and-deploy-it-on-kubernetes-592j) ## Videos diff --git a/docs/grafana.md b/docs/grafana.md index 0f9bb3e9..fa9a9e71 100644 --- a/docs/grafana.md +++ b/docs/grafana.md @@ -2,9 +2,11 @@ 1. [Introduction](#introduction) 2. [Grafana Agent](#grafana-agent) -3. [Grafana Dashboards](#grafana-dashboards) -4. [Grafana Releases](#grafana-releases) -5. [Grafana Loki](#grafana-loki) +3. [Grafana Faro](#grafana-faro) +4. [Grafana Dashboards](#grafana-dashboards) +5. [Grafana Releases](#grafana-releases) +6. [Grafana Loki](#grafana-loki) +7. [Grafana as Code](#grafana-as-code) ## Introduction @@ -42,6 +44,11 @@ - [grafana/agent: Grafana Agent](https://github.com/grafana/agent) Prometheus Metrics, Loki Logs, and Tempo Traces, optimized for Grafana Cloud. +## Grafana Faro + +- [Grafana Faro ๐ŸŒŸ](https://grafana.com/oss/faro/) A project for frontend application observability, Grafana Faro includes a highly configurable web SDK for real user monitoring (RUM) that instruments browser frontend applications to capture observability signals. The frontend telemetry can then be correlated with backend and infrastructure data for seamless, full-stack observability. +- [grafana.com: Introducing Grafana Faro, an open source project for frontend application observability](https://grafana.com/blog/2022/11/02/introducing-grafana-faro-oss-application-observability/) + ## Grafana Dashboards - [Grafana Dashboards](https://grafana.com/grafana/dashboards) @@ -57,6 +64,8 @@ - [github.com/kubevirt/monitoring](https://github.com/kubevirt/monitoring) KubeVirt monitoring dashboards. This repository collects Grafana dashboards for KubeVirt and Prometheus runbooks for alerts shipped with the KubeVirt stack. - [medium.com/@dotdc: A set of modern Grafana dashboards for Kubernetes ๐ŸŒŸ](https://medium.com/@dotdc/a-set-of-modern-grafana-dashboards-for-kubernetes-4b989c72a4b2) In this article, I will present a set of modern Grafana dashboards I made for Kubernetes, explain why I decided to create them and how they work. - [grafana.com: Grafana dashboards: A complete guide to all the different types you can build](https://grafana.com/blog/2022/06/06/grafana-dashboards-a-complete-guide-to-all-the-different-types-you-can-build/) +- [blog.bespinian.io: Creating Grafana Dashboards for Node.js Apps on Kubernetes](https://blog.bespinian.io/posts/creating-grafana-dashboards-for-nodejs-on-kubernetes/) While Grafana and Prometheus are relatively easy to understand, creating useful dashboards requires familiarity with PromQL and Prometheusโ€™ data model. In this article, you'll learn how to create a dashboard for a Node.js app deployed on Kubernetes. +- [medium.com/how-tos: How To Provisioning Dashboards In Grafana via Kubernetes](https://medium.com/how-tos/how-to-provisioning-dashboards-in-grafana-via-kubernetes-5d261508658d) Create a nice Dashboard that matches your needs Monitored Component|Collector|Dashboard Number|URL :------------------|:-------|:---------------|------------ @@ -71,6 +80,7 @@ Message Streams like Kafka/Red Hat AMQ Streams|Other|[9777](https://grafana.com/ - [grafana.com: Grafana 8.1 released: New Geomap and Annotations panels, updated plugin management, and more](https://grafana.com/blog/2021/08/05/grafana-8.1-released-new-geomap-and-annotations-panels-updated-plugin-management-and-more/) - [thenewstack.io: Grafana 8.2 Wants to โ€˜Democratizeโ€™ Cloud Native Metrics](https://thenewstack.io/grafana-wants-to-democratize-cloud-native-metrics/) - [grafana.com: Grafana Labs and Microsoft partner to deliver new first party Microsoft Azure service](https://grafana.com/about/press/2021/11/10/grafana-labs-and-microsoft-partner-to-deliver-new-first-party-microsoft-azure-service) Today we announced a partnership with Microsoft that lets customers run Grafana natively within their Azure cloud platform. +- [grafana.com: Grafana 9.3 feature: Grafana OAuth token improvements](https://grafana.com/blog/2022/12/08/grafana-9.3-feature-grafana-oauth-token-improvements/?mdm=social) ## Grafana Loki @@ -78,4 +88,9 @@ Message Streams like Kafka/Red Hat AMQ Streams|Other|[9777](https://grafana.com/ - [itnext.io: Logging in Kubernetes with Loki and the PLG Stack](https://itnext.io/logging-in-kubernetes-with-loki-and-the-plg-stack-93b27c90ec34) Loki is a new log aggregation system from Grafana Labs. It is designed to be cost-effective and easy to operate. In this article, you learn more about Loki and how to use the PLG Stack (Promtail, Loki, Grafana) for logging in Kubernetes. - [medium.com/devopsturkiye: Deploy Grafana Loki and Promtail using ArgoCD](https://medium.com/devopsturkiye/deploy-grafana-loki-and-promtail-using-argocd-416b2fd4539f) - [faun.pub: Manage Grafana Loki alerting and recording rules using GitOps](https://faun.pub/manage-grafana-lokis-alerting-and-recording-rules-using-gitops-c26d06d772c6) -- [cleancloud-k8s.com: Handling Multiline Logs with Loki and Fluent Bit on Kubernetes](https://cleancloud-k8s.com/2022/01/19/handling-multiline-logging-with-loki-and-fluent-bit-on-kubernetes/) In this blog post, you will learn how to handle multiline logs such as Java stack traces with Loki and Fluent Bit on Kubernetes. \ No newline at end of file +- [cleancloud-k8s.com: Handling Multiline Logs with Loki and Fluent Bit on Kubernetes](https://cleancloud-k8s.com/2022/01/19/handling-multiline-logging-with-loki-and-fluent-bit-on-kubernetes/) In this blog post, you will learn how to handle multiline logs such as Java stack traces with Loki and Fluent Bit on Kubernetes. +- [faun.pub: Grafana, Prometheus, and Loki: Exploring Metrics and Logs](https://faun.pub/grafana-prometheus-and-loki-exploring-metrics-and-logs-f198637784fc) + +## Grafana as Code + +- [grafana.com: A complete guide to managing Grafana as code: tools, tips, and tricks](https://grafana.com/blog/2022/12/06/a-complete-guide-to-managing-grafana-as-code-tools-tips-and-tricks/) \ No newline at end of file diff --git a/docs/helm.md b/docs/helm.md index 4da9d6f8..28ecc0e4 100644 --- a/docs/helm.md +++ b/docs/helm.md @@ -1,18 +1,20 @@ # Helm Kubernetes Tool + 1. [Helm](#helm) 2. [Helm Plugins](#helm-plugins) 3. [Helm Chart Documentation](#helm-chart-documentation) -4. [Kubecrt](#kubecrt) -5. [Datree](#datree) -6. [Helm Charts repositories](#helm-charts-repositories) -7. [Helm Charts](#helm-charts) -8. [Shalm. Scriptable helm charts](#shalm-scriptable-helm-charts) -9. [Helmfile](#helmfile) -10. [Database Migrations](#database-migrations) -11. [Helm Tools](#helm-tools) -12. [Helm Books](#helm-books) -13. [Videos](#videos) -14. [Tweets](#tweets) +4. [Helm Dashboard](#helm-dashboard) +5. [Kubecrt](#kubecrt) +6. [Datree](#datree) +7. [Helm Charts repositories](#helm-charts-repositories) +8. [Helm Charts](#helm-charts) +9. [Shalm. Scriptable helm charts](#shalm-scriptable-helm-charts) +10. [Helmfile](#helmfile) +11. [Database Migrations](#database-migrations) +12. [Helm Tools](#helm-tools) +13. [Helm Books](#helm-books) +14. [Videos](#videos) +15. [Tweets](#tweets) ## Helm @@ -105,12 +107,21 @@ - [dev.to: HULL Tutorial 01: Introducing HULL, the Helm Universal Layer Library](https://dev.to/gre9ory/hull-tutorial-01-introducing-hull-the-helm-universal-layer-library-4njb) - [medium.com/@lasithih927: Helm on Kubernetes - Zero to Hero in 5 Minutes ๐ŸŒŸ](https://medium.com/@lasithih927/helm-zero-to-hero-4cab17fac38e) A Helm cheat sheet for getting your desired application installed on a Kubernetes cluster with the config you need in no time. Even if you havenโ€™t heard of Helm before! This will take you from zero to hero. - [==medium.com/codex: Simplifying Kubernetes Deployments With Helm Package Manager== ๐ŸŒŸ](https://medium.com/codex/simplifying-kubernetes-deployments-with-helm-package-manager-bf834c51818d) +- [==medium.com/geekculture: Helm โ€” Advanced Commands== ๐ŸŒŸ](https://medium.com/geekculture/helm-advanced-commands-9365097475b) +- [levelup.gitconnected.com: Helmโ€”Named Templates](https://levelup.gitconnected.com/helm-named-templates-de2efc3875d0) A deep dive into partial or subtemplates +- [faun.pub: Helm โ€” Template Actions, Functions, and Pipelines ๐ŸŒŸ](https://faun.pub/helm-template-actions-functions-and-pipelines-16ed23ed336f) Overview of helm template actions, functions, and pipelines +- [shipmight.com: Understanding Helm upgrade flags](https://shipmight.com/blog/understanding-helm-upgrade-reset-reuse-values) Every now and then youโ€™ll need to use the `--reset-values` and `--reuse-values` flags when running a Helm upgrade. Let's dive into how they actually work and also look at a gotcha when the values of a chart have changed in-between upgrades +- [==blog.devops.dev: Stop cloning helm charts! Enough!== ๐ŸŒŸ](https://blog.devops.dev/stop-cloning-helm-charts-enough-b40fb5d67ac7) +- [medium.com/kubeshop-i: Monokle, Helm & Quality Kubernetes Deployments](https://medium.com/kubeshop-i/monokle-helm-quality-kubernetes-deployments-af050fcc91db) +- [blog.devops.dev: Hosting Your Own Helm Chart on GitHub with Chart Releaser](https://blog.devops.dev/hosting-your-own-helm-chart-on-github-with-chart-releaser-a356ac10ce5c) +- [faun.pub: Package and Deploy Your Application Using Helm Chart](https://faun.pub/package-and-deploy-your-application-using-helm-chart-21f0c568e65c) In this tutorial, you will learn the end-to-end process of creating a spring boot application and deploying it as a Helm chart on a minikube cluster ## Helm Plugins - [Helm Diff Plugin ๐ŸŒŸ](https://github.com/databus23/helm-diff) A helm plugin that shows a diff explaining what a helm upgrade would change - [Helm mapkubeapis Plugin](https://github.com/helm/helm-mapkubeapis) This is a Helm plugin which map deprecated or removed Kubernetes APIs in a release to supported APIs. __With kubernetes 1.22 dropping support for more beta APIs, you might be in need of a helmpack plugin to help you with that..__ - [medium.com/@marc.khouzam: Shell completion for plugins with Helm 3.8](https://medium.com/@marc.khouzam/shell-completion-for-plugins-with-helm-3-8-7cb001012a54) (This post is mostly targeted towards helm plugin developers) +- [JovianX/helm-release-plugin](https://github.com/JovianX/helm-release-plugin) Helm3 plugin that pulls(re-creates) helm Charts from deployed releases, and updates values of deployed releases without the chart. ## Helm Chart Documentation @@ -122,6 +133,10 @@ - [thenewstack.io: Applying Kubernetes Security Best Practices to Helm Charts ๐ŸŒŸ](https://thenewstack.io/applying-kubernetes-security-best-practices-to-helm-charts/) - [medium: Highway to Helm: How to efficiently manage chart sources](https://medium.com/adevinta-tech-blog/highway-to-helm-how-to-efficiently-manage-chart-sources-f5749ba8031e) In this post, weโ€™ll go through two ways to manage the source files of Helm charts, weโ€™ll discuss the different factors that make one more suitable than the other, depending on your organisational structure, and weโ€™ll provide guidance on choosing the right way to go by sharing what conditions are in favour of each of the two methods. +## Helm Dashboard + +- [medium.com/geekculture: K8s โ€” Helm Dashboard](https://medium.com/geekculture/k8s-helm-dashboard-d7509c5fee88) The missing UI of Helm + ## Kubecrt - [Kubecrt](https://github.com/blendle/kubecrt) @@ -132,6 +147,7 @@ - https://github.com/datreeio/datree Prevent Kubernetes misconfigurations from reaching production (again ๐Ÿ˜ค )! __Datree__ is a CLI tool to ensure K8s manifests and Helm charts follow best practices as well as your organizationโ€™s policies. See our docs: https://hub.datree.io/ - [datree.io: How to build a Helm plugin in minutes](https://www.datree.io/resources/how-to-build-a-helm-plugin-in-minutes) - [opensource.com: What Kubernetes taught me about development](https://opensource.com/article/21/12/kubernetes-developer) Why policy management was the key to understanding Kubernetes and the DevOps pipeline. +- [aws.amazon.com: Preventing Kubernetes misconfigurations using Datree](https://aws.amazon.com/blogs/containers/preventing-kubernetes-misconfigurations-using-datree/) ## Helm Charts repositories @@ -189,9 +205,13 @@ Kubernetes packages - [helm-changelog: Create changelogs for Helm Charts, based on git history](https://github.com/mogensen/helm-changelog) - [helm-scanner](https://github.com/bridgecrewio/helm-scanner/) Open source IaC security scanner for public Helm charts. Helm-scanner is a tool designed to automate discovering, templating, security scanning, then recording and providing easy access to the results for publicly available Helm charts - [helm-diff: Helm Diff Plugin](https://github.com/databus23/helm-diff) -- [Helmsman: Helm Charts as Code](https://github.com/Praqma/helmsman) Helmsman is a Helm Charts (k8s applications) as Code tool which allows you to automate the deployment/management of your Helm charts from version controlled code. +- [Helmsman: Helm Charts as Code ๐ŸŒŸ](https://github.com/Praqma/helmsman) Helmsman is a Helm Charts (k8s applications) as Code tool which allows you to automate the deployment/management of your Helm charts from version controlled code. - [medium: Gitops using Helmsman to apply Helm Charts to k8s](https://medium.com/@marco.franssen/gitops-using-helmsman-to-apply-helm-charts-to-k8s-1a7217ced411) - [tellerops/helm-teller](https://github.com/tellerops/helm-teller) Helm Teller allows you to inject configuration and secrets from multiple providers into your chart while masking the secrets at the deployment +- [sstarcher/helm-exporter](https://github.com/sstarcher/helm-exporter) Exports helm release, chart, and version statistics in the prometheus format. +- [github.com/mumoshu/helm-x: Helm X Plugin](https://github.com/mumoshu/helm-x) Treat any Kustomization or K8s manifests directory as a Helm chart. No more "Kustomize vs Helm". Helm-x is a helm plugin that makes Helm better integrate with vanilla Kubernetes manifests, kustomize, and manual sidecar injections. With helm-x, you can install and sidecar-inject helm charts, manifests, kustomize apps in the same way. +- [maorfr/helm-backup: Helm Backup Plugin](https://github.com/maorfr/helm-backup) Helm plugin which performs backup/restore of releases in a namespace to/from a file +- [helmwave/helmwave](https://github.com/helmwave/helmwave) Helmwave is helm3-native tool for deploy your Helm Charts. HelmWave is like docker-compose for helm. ## Helm Books diff --git a/docs/iac.md b/docs/iac.md index edf282b7..dd657f0e 100644 --- a/docs/iac.md +++ b/docs/iac.md @@ -3,8 +3,9 @@ 1. [Introduction](#introduction) 2. [Local Environment as Code](#local-environment-as-code) 3. [Comparing the Tools](#comparing-the-tools) -4. [Videos](#videos) -5. [Tweets](#tweets) +4. [Tools](#tools) +5. [Videos](#videos) +6. [Tweets](#tweets) ## Introduction @@ -25,6 +26,9 @@ - [devops.com: Updating and Managing Infrastructure-as-Code (IaC)](https://devops.com/updating-and-managing-infrastructure-as-code-iac/) - [thenewstack.io: GUIs, CLI, APIs: Learn Basic Terms of Infrastructure-as-Code](https://thenewstack.io/guis-cli-apis-learn-basic-terms-of-infrastructure-as-code/) - [thenewstack.io: Infrastructure-as-Code: Increase Security, Scale Development](https://thenewstack.io/infrastructure-as-code-increase-security-scale-development/) +- [==thenewstack.io: Struggling with IT Staff Leaving? Try Infrastructure as Code== ๐ŸŒŸ](https://thenewstack.io/struggling-with-it-staff-leaving-try-infrastructure-as-code/) With IaC, the organization retains critical knowledge of deployment and updates in code repositories, lessening the impact of any one expert leaving +- [devopscube.com: Immutable Infrastructure Explained For Beginners](https://devopscube.com/immutable-infrastructure/) +- [medium.com/@bunnyshell: How to Overcome Infrastructure as Code (IaC) Challenges](https://medium.com/@bunnyshell/how-to-overcome-infrastructure-as-code-iac-challenges-f4947be7cde2) ## Local Environment as Code @@ -40,6 +44,11 @@ - [cloudify.co: Ansible Vs Terraform ๐ŸŒŸ](https://cloudify.co/blog/ansible-vs-terraform/) - [techcommunity.microsoft.com: Infrastructure as Code (IaC): Comparing the Tools](https://techcommunity.microsoft.com/t5/itops-talk-blog/infrastructure-as-code-iac-comparing-the-tools/ba-p/3205045) +## Tools + +- [==Checkmarx/kics==](https://github.com/Checkmarx/kics) Find security vulnerabilities, compliance issues, and infrastructure misconfigurations early in the development cycle of your infrastructure-as-code with KICS by Checkmarx. KICS stands for Keeping Infrastructure as Code Secure, it is open source and is a must-have for any cloud native project. +- [==gofireflyio/aiac== ๐ŸŒŸ](https://github.com/gofireflyio/aiac) **Artificial Intelligence Infrastructure-as-Code Generator.** + ## Videos ??? note "Click to expand!" diff --git a/docs/images/blue-green-deployment.jfif b/docs/images/blue-green-deployment.jfif new file mode 100644 index 00000000..158efe1a Binary files /dev/null and b/docs/images/blue-green-deployment.jfif differ diff --git a/docs/images/bytebytego_microservice_techstack.png b/docs/images/bytebytego_microservice_techstack.png new file mode 100644 index 00000000..9747a554 Binary files /dev/null and b/docs/images/bytebytego_microservice_techstack.png differ diff --git a/docs/images/cicd-cheatsheet.jfif b/docs/images/cicd-cheatsheet.jfif new file mode 100644 index 00000000..b07b0672 Binary files /dev/null and b/docs/images/cicd-cheatsheet.jfif differ diff --git a/docs/images/cloud_advantages.png b/docs/images/cloud_advantages.png new file mode 100644 index 00000000..6e5620d4 Binary files /dev/null and b/docs/images/cloud_advantages.png differ diff --git a/docs/images/google_cloud_devops_flow.jfif b/docs/images/google_cloud_devops_flow.jfif new file mode 100644 index 00000000..af524c72 Binary files /dev/null and b/docs/images/google_cloud_devops_flow.jfif differ diff --git a/docs/images/how_does_https_work.png b/docs/images/how_does_https_work.png new file mode 100644 index 00000000..c1d713da Binary files /dev/null and b/docs/images/how_does_https_work.png differ diff --git a/docs/images/junit_cheatsheet.jfif b/docs/images/junit_cheatsheet.jfif new file mode 100644 index 00000000..d698deec Binary files /dev/null and b/docs/images/junit_cheatsheet.jfif differ diff --git a/docs/images/rest_vs_graphql.jfif b/docs/images/rest_vs_graphql.jfif new file mode 100644 index 00000000..78e16a7b Binary files /dev/null and b/docs/images/rest_vs_graphql.jfif differ diff --git a/docs/images/spring_annotations_cheat_sheet.jfif b/docs/images/spring_annotations_cheat_sheet.jfif new file mode 100644 index 00000000..94439da7 Binary files /dev/null and b/docs/images/spring_annotations_cheat_sheet.jfif differ diff --git a/docs/index.md b/docs/index.md index cc1be1c8..a688ce33 100644 --- a/docs/index.md +++ b/docs/index.md @@ -38,6 +38,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [Go Collective](https://stackoverflow.com/collectives/go) - [GitLab Collective](https://stackoverflow.com/collectives/gitlab) - [Google Cloud Collective](https://stackoverflow.com/collectives/google-cloud) + - [AWS Collective](https://stackoverflow.com/collectives/aws) - etc - [Open Source Guides](https://opensource.guide/) - [The Open Group: Making Standards Work](https://www.opengroup.org/) - [publications.opengroup.org](http://publications.opengroup.org/) - [The TOGAFยฎ Standard, a standard of The Open Group](https://www.opengroup.org/togaf) @@ -71,6 +72,14 @@ A curated list of awesome references collected since 2018. Microservices archite - Job opportunities - K3s - Events +- [thenewstack.io: What We Learned from Enabling Developer Self-Service ๐ŸŒŸ](https://thenewstack.io/what-we-learned-from-enabling-developer-self-service/) +- [dzone: Kubernetes in the Enterprise - Trend Report](https://dzone.com/trendreports/kubernetes-in-the-enterprise-1) +- [Struggling with IT Staff Leaving? Try Infrastructure as Code ๐ŸŒŸ](https://thenewstack.io/struggling-with-it-staff-leaving-try-infrastructure-as-code/) +- [learnk8s.io/learn-kubernetes-weekly ๐ŸŒŸ](https://learnk8s.io/learn-kubernetes-weekly) +- [infoworld.com: Cloud architects are afraid of automation](https://www.infoworld.com/article/3679250/cloud-architects-are-afraid-of-automation.html) Automation is one of the greatest gifts to cloud architecture, operations, security, and finops. Yet, many architects still are reluctant to use it. What's so scary? +- [infoworld.com: The biggest obstacle to cloud is people](https://www.infoworld.com/article/3653371/the-biggest-obstacle-to-cloud-is-people.html) People and culture prevent many businesses from capturing the true value of cloud computing. Transforming organizational culture and revamping KPIs can help. +- [Droogans/How To Write Unmaintainable Code](https://github.com/Droogans/unmaintainable-code) Ensure a job for life ;-) +- [dzone.com: DevOps vs. SRE vs. Platform Engineer vs. Cloud Engineer](https://dzone.com/articles/devops-vs-sre-vs-platform-engineer-vs-cloud-engine) ## Introduction - [Microservice Architecture. From Java EE To Cloud Native. Openshift VS Kubernetes](introduction.md) diff --git a/docs/interview-questions.md b/docs/interview-questions.md index 3993c19b..b0b30eba 100644 --- a/docs/interview-questions.md +++ b/docs/interview-questions.md @@ -19,7 +19,9 @@ 17. [Rest Assured Interview Questions](#rest-assured-interview-questions) 18. [QA Interview Questions](#qa-interview-questions) 19. [Python Interview Questions](#python-interview-questions) - +20. [System Design Interview](#system-design-interview) +21. [JSON Interview Questions](#json-interview-questions) + ## Introduction - [grow.google: interview warmup](https://grow.google/certificates/interview-warmup/) A quick way to prepare for your next interview. Practice key questions, get insights about your answers, and get more comfortable interviewing. @@ -88,7 +90,7 @@ - [java-success.com: 9 Java Garbage Collection interview questions & answers](https://www.java-success.com/java-garbage-collection-interview-questions-and-answers/) - [50+ Java Collections Interview Questions for Beginners and Experienced Programmers](https://medium.com/javarevisited/50-java-collections-interview-questions-for-beginners-and-experienced-programmers-4d2c224cc5ab) -## Jenkins Interview Questions +## Jenkins Interview Questions - [intellipaat.com: Top Jenkins Interview Questions and Answers](https://intellipaat.com/blog/interview-question/jenkins-interview-questions-answers/) - [automationreinvented.blogspot.com: Top 10 Jenkins Interview Question for SDET - DevOps - Automation QA?](https://automationreinvented.blogspot.com/2021/09/top-10-jenkins-interview-question-for.html) @@ -128,3 +130,11 @@ - [15 Essential Python Interview Questions](https://www.codementor.io/python/tutorial/essential-python-interview-questions) - [Python mini-quiz](http://www.mypythonquiz.com/) - [learnsteps.com: DevOps Interview Questions: Important Python questions](https://www.learnsteps.com/devops-interview-questions-important-python-questions/) + +## System Design Interview + +- [vahid.blog: System Design Interview Cheat Sheet](https://vahid.blog/post/2022-05-05-system-design-interview-cheat-sheet/) Helpful overview to nail the system design interview + +## JSON Interview Questions + +- [javarevisited.blogspot.com: Top 20 JSON Interview Questions with Answers for Beginners and Experienced Developers](https://javarevisited.blogspot.com/2022/08/json-interview-questions-with-answers.html) diff --git a/docs/introduction.md b/docs/introduction.md index 68e22d28..bb7f6102 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -15,21 +15,22 @@ 13. [SaaS](#saas) 14. [Multi Cloud](#multi-cloud) 15. [Cloud Automation](#cloud-automation) - 1. [Automation Glossary](#automation-glossary) + 1. [Automation Glossary](#automation-glossary) 16. [Microservices Best Practices](#microservices-best-practices) 17. [Microservice Patterns](#microservice-patterns) + 1. [CQRS Pattern](#cqrs-pattern) 18. [Microservices Anti Patterns](#microservices-anti-patterns) -19. [Backends for Frontends](#backends-for-frontends) -20. [Data Engineering](#data-engineering) -21. [Cloud Migration Checklist](#cloud-migration-checklist) -22. [Microservices Failures](#microservices-failures) -23. [Top Microservices Frameworks](#top-microservices-frameworks) -24. [Transform Legacy Java Apps to Microservices with automation tools](#transform-legacy-java-apps-to-microservices-with-automation-tools) -25. [Namespaces for Data Structuring](#namespaces-for-data-structuring) -26. [From SysAdmin to Architect](#from-sysadmin-to-architect) -27. [Raft Consensus Algorithm](#raft-consensus-algorithm) -28. [PaaS](#paas) -29. [Micro Frontend Architecture](#micro-frontend-architecture) +19. [Micro Frontend Architecture. Microservices for the Frontend](#micro-frontend-architecture-microservices-for-the-frontend) +20. [Backends for Frontends](#backends-for-frontends) +21. [Data Engineering](#data-engineering) +22. [Cloud Migration Checklist](#cloud-migration-checklist) +23. [Microservices Failures](#microservices-failures) +24. [Top Microservices Frameworks](#top-microservices-frameworks) +25. [Transform Legacy Java Apps to Microservices with automation tools](#transform-legacy-java-apps-to-microservices-with-automation-tools) +26. [Namespaces for Data Structuring](#namespaces-for-data-structuring) +27. [From SysAdmin to Architect](#from-sysadmin-to-architect) +28. [Raft Consensus Algorithm](#raft-consensus-algorithm) +29. [PaaS](#paas) 30. [Modular Monolith](#modular-monolith) 31. [From Java EE To Cloud Native](#from-java-ee-to-cloud-native) 32. [Monolith to Microservices Using the Strangler Pattern](#monolith-to-microservices-using-the-strangler-pattern) @@ -221,6 +222,13 @@ - [alibabacloud.com: Getting Started with Kubernetes | Deep Dive into Kubernetes Core Concepts](https://www.alibabacloud.com/blog/getting-started-with-kubernetes-%7C-deep-dive-into-kubernetes-core-concepts_595896) - [micahlerner.com: Automatic Reliability Testing For Cluster Management Controllers](https://www.micahlerner.com/2022/07/24/automatic-reliability-testing-for-cluster-management-controllers.html) - [cloudnativeislamabad.hashnode.dev: Virtualization vs Containerization](https://cloudnativeislamabad.hashnode.dev/virtualization-vs-containerization) Virtual Machines vs Docker +- [medium.com/javarevisited: Distributed Transaction Management in Microservices โ€” Part 1 ๐ŸŒŸ](https://medium.com/javarevisited/distributed-transaction-management-in-microservices-part-1-bb7dc1fbee9f) +- [==betterprogramming.pub: How to Transform a Monolith Application Into a Microservices Architecture==](https://betterprogramming.pub/how-to-transform-a-monolith-application-into-a-microservices-architecture-1e00363a03ba) A step-by-step guide to migrating your monolith application to a microservices architecture +- [==medium.com/javarevisited: Microservices communication using gRPC Protocol==](https://medium.com/javarevisited/microservices-communication-using-grpc-protocol-dc3a2f8b648d) +- [medium.com/codex: MicroServices Architecture to Solve Distributed Transaction Management Problem](https://medium.com/codex/solving-distributed-transaction-management-problem-in-microservices-architecture-586ab3087efe) +- [==betterprogramming.pub: How I Split a Monolith Into Microservices Without Refactoring== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://betterprogramming.pub/how-i-split-a-monolith-into-microservices-without-refactoring-5d76924c34c2) My journey to becoming more agile with a just-in-time architectural style +- [towardsdatascience.com: 3 High Availability Cloud Concepts You Should Know](https://towardsdatascience.com/3-high-availability-cloud-concepts-you-should-know-93f3bab2cb4a) From scaling to VM placement strategies +- [ust.com: Do we really need Kubernetes and containers?](https://www.ust.com/en/insights/do-we-really-need-kubernetes-and-containers) ## Solution Architect. IT Architecture Frameworks @@ -272,6 +280,14 @@ - [deeptimittalblogger.medium.com: Event driven architecture](https://deeptimittalblogger.medium.com/event-driven-architecture-111f504a8cbc) - [medium.com/mcdonalds-technical-blog: Behind the scenes: McDonaldโ€™s event-driven architecture](https://medium.com/mcdonalds-technical-blog/behind-the-scenes-mcdonalds-event-driven-architecture-51a6542c0d86) We explore our journey of developing a unified platform enabling real-time, event-driven architectures. - [medium.com/mcdonalds-technical-blog: McDonaldโ€™s event-driven architecture: The data journey and how it works](https://medium.com/mcdonalds-technical-blog/mcdonalds-event-driven-architecture-the-data-journey-and-how-it-works-4591d108821f) +- [==nordicapis.com: 5 Protocols For Event-Driven API Architectures== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://nordicapis.com/5-protocols-for-event-driven-api-architectures/) + - What is an Event-Driven Architecture? Event-driven architectures establish an event that can be consumed and reacted to. But what is an event? An event is essentially any significant change from one state to another, such as the change from having no messages in your inbox to have a new message in your inbox. This state can be reacted to internally (such as when the email program in question realizes a new message has been received), externally (when a user sees a notification for a new message), or used to generate another event (for instance, the message tally increases by one). Event-driven architectures are appealing to API developers because they function very well in asynchronous environments. By crafting APIs that trigger certain functions on new event delivery, API systems donโ€™t have to inherently wait for synchronous delivery or real time communication. This is hugely beneficial, as eliminating the need to constantly poll endpoints frees resources from otherwise wasteful purposes, reducing both general hardware requirements and call-specific overhead. For this reason, event-driven architectures are very, very popular, and lead to improved power, bandwidth, and co-processing than other solutions and architectures such as polling and other poll-centric derivatives. + - 5 Types of Event-Driven Protocols for APIs: + - WebSockets + - WebHooks + - REST Hooks + - Pub-Sub + - Server Sent Events ## Multi-Tenancy Architecture @@ -285,6 +301,7 @@ ## Self service developer platform - [weave.works: What is a self-service developer platform and why does it matter?](https://www.weave.works/blog/what-is-a-self-service-developer-platform) +- [==thenewstack.io: What We Learned from Enabling Developer Self-Service==](https://thenewstack.io/what-we-learned-from-enabling-developer-self-service/) Letโ€™s simplify the developer experience and scale DevOps workflows without compromising the security of multi-Kubernetes environments. ## Disaster Recovery @@ -302,6 +319,7 @@ - [softwebsolutions.com: Why enterprises need to adopt a multi-cloud strategy](https://www.softwebsolutions.com/resources/multi-cloud-adoption-strategy.html) - [medium: Multi Cloud Enterprise Deployment Pattern](https://medium.com/solutions-architecture-patterns/multi-cloud-enterprise-deployment-pattern-19571604e64b) - [redhat.com: 5 essential tools for managing hybrid cloud infrastructure](https://www.redhat.com/architect/hybrid-cloud-management-tools) It's not just a matter of having the right tools; you must also use them correctly. +- [devops.com: Infrastructure Abstraction Will Be Key to Managing Multi-Cloud](https://devops.com/infrastructure-abstraction-will-be-key-to-managing-multi-cloud/) ## Cloud Automation @@ -347,10 +365,27 @@ 9. Externalized Configuration 10. Consumer-Driven Contract Tracing +- [medium.com/@sandeepsharmaster: Design your Cloud Microservices Apps the DDD way (Hexagonal Architecture)](https://medium.com/@sandeepsharmaster/modernize-your-cloud-microservices-apps-hexagonal-architecture-769696494c0) +- [medium.com/@denhox: Sharing Data Between Microservices](https://medium.com/@denhox/sharing-data-between-microservices-fe7fb9471208) +- [medium.com/@maneesha649nirman: Design Patterns For Microservices](https://medium.com/@maneesha649nirman/design-patterns-for-microservices-30bed0d215f5) Design patterns are very important to any development architecture. In this article, I am going to discuss a few design patterns which are most important for microservices. + +### CQRS Pattern + +- [medium.com/@mbarkin.narin: Problem Solving Strategies for Microservice Architecture Part III](https://medium.com/@mbarkin.narin/problem-solving-strategies-for-microservice-architecture-part-iii-c15830151890) Distributed Complex Query in Multiple Services + ## Microservices Anti Patterns - [developer.com: Overcoming the Common Microservices Anti-Patterns](https://www.developer.com/design/solving-microservices-anti-patterns/) +## Micro Frontend Architecture. Microservices for the Frontend + +- [dzone: Micro Frontends With Example ๐ŸŒŸ](https://dzone.com/articles/micro-frontends-by-example-8) Monolithic frontends are difficult to maintain, develop, test, and deploy. The solution is micro frontends. It is a type of architecture that can increase effectiveness and efficiency across teams. +- [levelup.gitconnected.com: Micro Frontend Architecture](https://levelup.gitconnected.com/micro-frontend-architecture-794442e9b325) +- [==dzone: Micro-Frontend Architecture==](https://dzone.com/articles/micro-frontend-architecture) The goal of this architecture is to see web applications as a composition of functionalities where each one is worked by independent teams. +- [semaphoreci.com: Microfrontends: Microservices for the Frontend](https://semaphoreci.com/blog/microfrontends) + - Microservices are a popular way to build small, autonomous teams that can work independently. Unfortunately, by their very nature, microservices only work in the backend. Even with the best microservice architecture, frontend development still requires a high degree of interdependence, and this introduces coupling and communication overhead that can slow down everyone. + - Can we take microservice architecture patterns and apply them to the frontend? It turns out we can. Companies such as Netflix, Zalando, and Capital One have pushed the pattern to the front, laying the groundwork for microfrontends. This article will explore microfrontends, their benefits and disadvantages, and how they differ from traditional microservices. + ## Backends for Frontends - [developers.soundcloud.com: Service Architecture at SoundCloud โ€” Part 1: Backends for Frontends](https://developers.soundcloud.com/blog/service-architecture-1) @@ -378,6 +413,7 @@ - [forbes.com: 3 Approaches To A Better Cloud Migration](https://www.forbes.com/sites/googlecloud/2021/10/27/3-approaches-to-a-better-cloud-migration/) - [==acloudguru.com: 3 ways to practice migrating workloads to the cloud==](https://acloudguru.com/blog/engineering/3-ways-to-practice-migrating-workloads-to-the-cloud) Rehosting, Replatforming & Refactoring. - [==blog.pragmaticengineer.com: Migrations Done Well: Typical Migration Approaches==](https://blog.pragmaticengineer.com/typical-migration-approaches/) + ## Microservices Failures - [world.hey.com: Disasters I've seen in a microservices world ๐ŸŒŸ๐ŸŒŸ](https://world.hey.com/joaoqalves/disasters-i-ve-seen-in-a-microservices-world-a9137a51) @@ -411,12 +447,6 @@ - [What is Platform as a Service Software?](https://www.trustradius.com/platform-as-a-service-paas) - [==ramansharma.substack.com: Containers are not just for Kubernetes==](https://ramansharma.substack.com/p/containers-are-not-just-for-kubernetes-fa330653cbbd) Why cloud based PaaS and Containers make a solid combination for most developers -## Micro Frontend Architecture - -- [dzone: Micro Frontends With Example ๐ŸŒŸ](https://dzone.com/articles/micro-frontends-by-example-8) Monolithic frontends are difficult to maintain, develop, test, and deploy. The solution is micro frontends. It is a type of architecture that can increase effectiveness and efficiency across teams. -- [levelup.gitconnected.com: Micro Frontend Architecture](https://levelup.gitconnected.com/micro-frontend-architecture-794442e9b325) -- [==dzone: Micro-Frontend Architecture==](https://dzone.com/articles/micro-frontend-architecture) The goal of this architecture is to see web applications as a composition of functionalities where each one is worked by independent teams. - ## Modular Monolith - [kamilgrzybek.com: Modular Monolith: A Primer ๐ŸŒŸ](https://www.kamilgrzybek.com/design/modular-monolith-primer/) @@ -452,6 +482,7 @@ - [awstip.com: OpenShift vs Kubernetes: Whatโ€™s the Difference?](https://awstip.com/openshift-vs-kubernetes-whats-the-difference-428af9db2c7b) - [simplilearn.com: Understanding The Difference Between Kubernetes Vs. Openshift](https://www.simplilearn.com/kubernetes-vs-openshift-article) - [imaginarycloud.com: OPENSHIFT VS KUBERNETES: WHAT ARE THE DIFFERENCES](https://www.imaginarycloud.com/blog/openshift-vs-kubernetes-differences/) +- [thenewstack.io: Whatโ€™s the Difference Between Kubernetes and OpenShift?](https://thenewstack.io/kubernetes/whats-the-difference-between-kubernetes-and-openshift/) Itโ€™s almost a trick question, but Red Hatโ€™s managed Kubernetes platform does things a little differently. ## Career Path @@ -514,6 +545,8 @@ [![Kubernetes on its own is not enough](images/k8s-not-enough.jpg)](https://twitter.com/brendandburns) [![how mature is your microservices architecture](images/MicroservicesMaturityMatrix.jpg)](https://blog.container-solutions.com/how-mature-is-your-microservices-architecture) + + [![bytebytego microservice tech stack](images/bytebytego_microservice_techstack.png)](https://bytebytego.com/)
## Videos @@ -527,6 +560,7 @@ + @@ -557,5 +591,7 @@ + + - \ No newline at end of file + diff --git a/docs/istio.md b/docs/istio.md index bdeb8f37..c85535f8 100644 --- a/docs/istio.md +++ b/docs/istio.md @@ -8,6 +8,7 @@ 6. [Kiali project, observability for the Istio service mesh](#kiali-project-observability-for-the-istio-service-mesh) 7. [Jaeger tracing. Open source, end-to-end distributed tracing](#jaeger-tracing-open-source-end-to-end-distributed-tracing) 8. [Envoy micro proxy](#envoy-micro-proxy) + 1. [Envoy Gateway](#envoy-gateway) 9. [Kibana](#kibana) 10. [AWS App Mesh](#aws-app-mesh) 11. [Istio and AWS EKS](#istio-and-aws-eks) @@ -99,6 +100,18 @@ IstioMesh, PrometheusIO, Flux v2 & Flagger. - [istio.io: Merbridge - Accelerate your mesh with eBPF](https://istio.io/latest/blog/2022/merbridge/) Replacing iptables rules with eBPF allows transporting data directly from inbound sockets to outbound sockets, shortening the datapath between sidecars and services. - [==freecodecamp.org: Learn Istio โ€“ How to Manage, Monitor, and Secure Microservices== ๐ŸŒŸ](https://www.freecodecamp.org/news/learn-istio-manage-microservices) - [useanvil.com: Load balancing gRPC in Kubernetes with Istio](https://www.useanvil.com/blog/engineering/load-balancing-grpc-in-kubernetes-with-istio/) +- [jimmysong.io: Understanding the Sidecar Injection, Traffic Intercepting & Routing Process in Istio](https://jimmysong.io/en/blog/sidecar-injection-iptables-and-traffic-routing/) This article will cover Istio and: + - What is the sidecar pattern and what advantages does it have? + - How are the sidecar injections done in Istio? + - How does the sidecar proxy do transparent traffic hijacking? + - How is the traffic routed upstream? +- [blog.getambassador.io: Kubernetes Canary Testing and Release with Istio](https://blog.getambassador.io/kubernetes-canary-testing-and-release-with-istio-4cbdedcc9914?gi=816ffb457b0d) In this article, you'll learn about Canary testing in Kubernetes and how Istio can help perform seamless Canary upgrades +- [medium.com/globant: Istio JWT Authentication & Authorization at the edge](https://medium.com/globant/istio-jwt-authentication-authorization-at-the-edge-b35b612acd97) This article covers: + - What is a JWT, and why should you care? + - Dissecting Istio's JWT edge authentication & authorization + - How to build an external authz service for Istio +- [medium.com/codex: Egress Traffic Control for Nginx Ingress Controller with Istio Proxy Sidecar](https://medium.com/codex/egress-traffic-control-for-nginx-ingress-controller-with-istio-proxy-sidecar-ef8f19902b43) +- [medium.com/marionete: How to expose Kubernetes services to external traffic using Istio Gateway](https://medium.com/marionete/how-to-expose-kubernetes-services-to-external-traffic-using-istio-gateway-1a1e6ebd8805) In this article, you'll walk through the necessary configurations to expose services inside a Service Mesh to external traffic. The first scenario covers an HTTP endpoint, while the second examines the HTTPS configurations. ## API Access Control @@ -142,6 +155,10 @@ IstioMesh, PrometheusIO, Flux v2 & Flagger. - [Controlling outbound traffic from Kubernetes](https://monzo.com/blog/controlling-outbound-traffic-from-kubernetes) - [medium: Troubleshooting Envoy with Kiali](https://medium.com/kialiproject/troubleshooting-envoy-with-kiali-7f78a57b16ad) Inspect and debug your Envoy configuration +### Envoy Gateway + +- [Envoy Gateway](https://github.com/envoyproxy/gateway) Envoy Gateway is an open source project for managing Envoy Proxy as a standalone or Kubernetes-based application gateway. + ## Kibana - [kibana](https://www.elastic.co/products/kibana) diff --git a/docs/java-and-java-performance-optimization.md b/docs/java-and-java-performance-optimization.md index 5c1b8de9..5909bab2 100644 --- a/docs/java-and-java-performance-optimization.md +++ b/docs/java-and-java-performance-optimization.md @@ -18,6 +18,7 @@ 8. [Tweets](#tweets) ## Introduction + - [javarevisited.blogspot.com: 10 Things Java Programmers Should Learn in 2022](https://javarevisited.blogspot.com/2017/12/10-things-java-programmers-should-learn.html) ## Java Performance Optimization @@ -39,6 +40,8 @@ - [==kstefanj.github.io: GC progress from JDK 8 to JDK 17==](https://kstefanj.github.io/2021/11/24/gc-progress-8-17.html) JVM with <5ms GC pauses (ZGC). JDK17 is a huge leap forward in benchmark after benchmark. Upgrade as fast as you can. Amazonโ€™s Corretto builds are available for a huge number of platforms and distribution channels. The JRE disappeared with jdk9: use jlink to assemble exactly the JRE you need. - [==developers.redhat.com: How to choose the best Java garbage collector==](https://developers.redhat.com/articles/2021/11/02/how-choose-best-java-garbage-collector) - [linkedin.com/pulse: Difference between Executor, ExecutorService, and Executors class in Java!](https://www.linkedin.com/pulse/difference-between-executor-executorservice-executors-omar-ismail) - [original article - javarevisited.blogspot.com](https://javarevisited.blogspot.com/2017/02/difference-between-executor-executorservice-and-executors-in-java.html#axzz7e91Wjl6y) +- [vladmihalcea.com: Caching best practices](https://vladmihalcea.com/caching-best-practices/) +- [vladmihalcea.com: 14 High-Performance Java Persistence Tips](https://vladmihalcea.com/14-high-performance-java-persistence-tips/) ### Java on Kubernetes. Java Memory Arguments for Containers @@ -124,6 +127,9 @@ etc| - [developers.redhat.com: Collect JDK Flight Recorder events at runtime with JMC Agent ๐ŸŒŸ](https://developers.redhat.com/blog/2020/10/29/collect-jdk-flight-recorder-events-at-runtime-with-jmc-agent/) - [developers.redhat.com: Checkpointing Java from outside of Java](https://developers.redhat.com/blog/2020/10/15/checkpointing-java-from-outside-of-java/) - [developers.redhat.com: A faster way to access JDK Flight Recorder data](https://developers.redhat.com/articles/2021/11/23/faster-way-access-jdk-flight-recorder-data) +- Detect JPA and Hibernate performance issues with Hypersistence Optimizer: + - https://vladmihalcea.com/hypersistence-optimizer + - [vladmihalcea.com: How to tunnel localhost to the public Internet](https://vladmihalcea.com/tunnel-localhost-public-internet) ## Cambios importantes en la gestiรณn de memoria de Java 8 de Oracle (2014) diff --git a/docs/java_frameworks.md b/docs/java_frameworks.md index 67de8b4e..8960ac1e 100644 --- a/docs/java_frameworks.md +++ b/docs/java_frameworks.md @@ -8,11 +8,13 @@ 3. [Use Java 11](#use-java-11) 4. [Java 17](#java-17) 5. [Java 18](#java-18) + 6. [Java 19](#java-19) 2. [Java Programming Models (Frameworks)](#java-programming-models-frameworks) 3. [Jakarta EE](#jakarta-ee) 4. [Eclipse MicroProfile](#eclipse-microprofile) 1. [Server Vendors providing MicroProfile runtimes](#server-vendors-providing-microprofile-runtimes) -5. [Spring](#spring) +5. [Hibernate](#hibernate) +6. [Spring](#spring) 1. [SpringBoot](#springboot) 1. [SpringBoot with Docker](#springboot-with-docker) 2. [SpringBoot Tools](#springboot-tools) @@ -21,20 +23,22 @@ 1. [Spring Cloud Kubernetes](#spring-cloud-kubernetes) 2. [Spring Cloud Config and Spring Cloud Config Server](#spring-cloud-config-and-spring-cloud-config-server) 3. [Secure Secrets with Spring Cloud Vault and alternatives](#secure-secrets-with-spring-cloud-vault-and-alternatives) -6. [Quarkus](#quarkus) -7. [Kogito cloud-native business automation framework](#kogito-cloud-native-business-automation-framework) -8. [Thorntail (aka WildFly Swarm)](#thorntail-aka-wildfly-swarm) -9. [Spring Boot VS MicroProfile](#spring-boot-vs-microprofile) -10. [Quarkus vs Spring Boot](#quarkus-vs-spring-boot) -11. [More Java Frameworks or Libraries](#more-java-frameworks-or-libraries) -12. [Logging in Java](#logging-in-java) -13. [Java Logger Implementations](#java-logger-implementations) -14. [Java Testing Frameworks](#java-testing-frameworks) -15. [Debugging Java Threads](#debugging-java-threads) -16. [Lombok](#lombok) -17. [Project Helidon](#project-helidon) -18. [Videos](#videos) -19. [Tweets](#tweets) +7. [Quarkus](#quarkus) +8. [Kogito cloud-native business automation framework](#kogito-cloud-native-business-automation-framework) +9. [Thorntail (aka WildFly Swarm)](#thorntail-aka-wildfly-swarm) +10. [Spring Boot VS MicroProfile](#spring-boot-vs-microprofile) +11. [Quarkus vs Spring Boot](#quarkus-vs-spring-boot) +12. [More Java Frameworks or Libraries](#more-java-frameworks-or-libraries) +13. [Logging in Java](#logging-in-java) +14. [Java Logger Implementations](#java-logger-implementations) +15. [Java Testing Frameworks](#java-testing-frameworks) +16. [Debugging Java Threads](#debugging-java-threads) +17. [Lombok](#lombok) +18. [Project Helidon](#project-helidon) +19. [Videos](#videos) +20. [Images](#images) +21. [Tweets](#tweets) + ## Introduction - [reddit.com/r/java](https://www.reddit.com/r/java) @@ -65,6 +69,8 @@ - [foojay.io: Top 10 Java Language Features](https://foojay.io/today/top-10-java-language-features/) - [==geeksforgeeks.org: 5 Best Java Frameworks For Microservices==](https://www.geeksforgeeks.org/5-best-java-frameworks-for-microservices/) - [medium.com/@aritra.chatterjee_: Hexagonal architecture in java](https://medium.com/@aritra.chatterjee_/hexagonal-architecture-in-java-7ac8f4bea753) This article will implement the basic concepts of Hexagonal Architecture in Java. +- [betterprogramming.pub: Learn SOLID Design Principles in Java by Coding It](https://betterprogramming.pub/learn-solid-design-principles-in-java-by-coding-it-dcbf64a17b53) An in-depth explanation of all SOLID Design Principles with real-world use cases and code examples +- [analyticsinsight.net: Why is Java the Most Unsuitable Programming Language for Startups?](https://www.analyticsinsight.net/why-is-java-the-most-unsuitable-programming-language-for-startups/) ### How to migrate Java workloads to containers @@ -105,6 +111,10 @@ - [openjdk.java.net: JEP 413: Code Snippets in Java API Documentation](https://openjdk.java.net/jeps/413) +### Java 19 + +- [infoq.com: Virtual Threads: New Foundations for High-Scale Java Applications](https://www.infoq.com/articles/java-virtual-threads/) + ## Java Programming Models (Frameworks) - [Best Java Frameworks Solutions](https://www.itcentralstation.com/categories/java-frameworks) The best Java Frameworks vendors are __Apache Spark__, __Spring Boot__, __Oracle Application Development Framework (Oracle ADF)__, __Jakarta EE__, and __Open Liberty__. Apache is the top solution according to IT Central Station reviews and rankings. One reviewer writes: "Fast performance and has an easy initial setup", and another reviewer writes: "Easy to use and is capable of processing large amounts of data". The 2nd best product is Spring Boot. A user writes: "Very smooth implementation; excellent features for monitoring and tracking network calls ", and another reviewer writes: "Makes it difficult to support a specific functionality in a user-friendly manner, but simplifies application deployment". @@ -151,7 +161,15 @@ optimizing Enterprise Java for the microservices architecture. - [RedHatโ€™s WildFly Swarm](http://wildfly-swarm.io/) - [KumuluzEE](https://ee.kumuluz.com/) -## Spring + ## Hibernate + +- [==medium: Multi-Tenancy Implementation using Spring Boot + Hibernate== ๐ŸŒŸ](https://medium.com/swlh/multi-tenancy-implementation-using-spring-boot-hibernate-6a8e3ecb251a) +- [stackoverflow.com: How to map a MySQL JSON column to a Java entity property using JPA and Hibernate](https://stackoverflow.com/questions/44308167/how-to-map-a-mysql-json-column-to-a-java-entity-property-using-jpa-and-hibernate) +- [vladmihalcea.com: How to encrypt and decrypt data with Hibernate](https://vladmihalcea.com/how-to-encrypt-and-decrypt-data-with-hibernate/) +- [vladmihalcea.com: Optimistic vs. Pessimistic Locking (hibernate)](https://vladmihalcea.com/optimistic-vs-pessimistic-locking/) +- [==stackoverflow.com: What are the differences between the different saving methods in Hibernate?==](https://stackoverflow.com/questions/161224/what-are-the-differences-between-the-different-saving-methods-in-hibernate/54907032?stw=2#54907032) + +## Spring - [Spring](https://spring.io/) - [Spring Framework Architecture ๐ŸŒŸ](https://www.javacodegeeks.com/2019/02/spring-framework-architecture.html) @@ -163,6 +181,7 @@ optimizing Enterprise Java for the microservices architecture. - [blog.frankel.ch: Annotation-free Spring](https://blog.frankel.ch/annotation-free-spring/) - [java67.com: 10 Spring Framework Annotations Java Developer should learn - Example Tutorial](https://www.java67.com/2018/11/top-10-spring-framework-annotations-for-java-developers.html) - [javarevisited.blogspot.com: Role based Access control using Spring Security and MVC, Mapping LDAP Groups to Authorities for Authorization](https://javarevisited.blogspot.com/2013/07/role-based-access-control-using-spring-security-ldap-authorities-mapping-mvc.html) +- [==odedia.org: Production Considerations for Spring on Kubernetes== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://odedia.org/production-considerations-for-spring-on-kubernetes) ### SpringBoot @@ -187,19 +206,16 @@ optimizing Enterprise Java for the microservices architecture. - [piotrminkowski.com: Spring Boot Tips, Tricks and Techniques](https://piotrminkowski.com/2021/01/13/spring-boot-tips-tricks-and-techniques/) - [==javatechonline.com: How To Work With Apache Kafka In Spring Boot?==](https://javatechonline.com/how-to-work-with-apache-kafka-in-spring-boot/) - [dzone: How To Run the Spring Boot Application as a Stand-Alone Java Application](https://dzone.com/articles/how-to-run-the-spring-boot-application-as-a-stand) In this Spring Boot video tutorial, take a closer look at how to run the Spring Boot application as a stand-alone Java application and RESTful Web Services. -- [==medium: Multi-Tenancy Implementation using Spring Boot + Hibernate== ๐ŸŒŸ](https://medium.com/swlh/multi-tenancy-implementation-using-spring-boot-hibernate-6a8e3ecb251a) - [==vladmihalcea.com: The best way to log SQL statements with Spring Boot==](https://vladmihalcea.com/log-sql-spring-boot/) -- [vladmihalcea.com: How to encrypt and decrypt data with Hibernate](https://vladmihalcea.com/how-to-encrypt-and-decrypt-data-with-hibernate/) -- [stackoverflow.com: How to map a MySQL JSON column to a Java entity property using JPA and Hibernate](https://stackoverflow.com/questions/44308167/how-to-map-a-mysql-json-column-to-a-java-entity-property-using-jpa-and-hibernate) - [javarevisited.blogspot.com: Spring Boot + Angular Example Tutorial for Java Developers](https://javarevisited.blogspot.com/2022/01/spring-boot-angular-example-tutorial.html#axzz7HV4HFjED) - [piotrminkowski.com: Distributed Transactions in Microservices with Kafka Streams and Spring Boot](https://piotrminkowski.com/2022/01/24/distributed-transactions-in-microservices-with-kafka-streams-and-spring-boot/) -- [vladmihalcea.com: Spring Boot Application Properties](https://vladmihalcea.com/spring-boot-application-properties/) +- [==vladmihalcea.com: Spring Boot Application Properties==](https://vladmihalcea.com/spring-boot-application-properties/) - [javarevisited.blogspot.com: How to log SQL statements in Spring Boot? Example Tutorial](https://javarevisited.blogspot.com/2022/02/how-to-log-sql-statements-in-spring.html) - [geeksforgeeks.org: Best way to master spring boot , a complete roadmap](https://www.geeksforgeeks.org/best-way-to-master-spring-boot-a-complete-roadmap/) -- [vladmihalcea.com: Optimistic vs. Pessimistic Locking (hibernate)](https://vladmihalcea.com/optimistic-vs-pessimistic-locking/) - [medium.com/shoutloudz: Microservice: Developing an Authentication Service using Spring Boot](https://medium.com/shoutloudz/microservice-developing-an-authentication-service-using-spring-boot-d421b8802712) - [java67.com: How to set the logging level with application.properties in Spring Boot - Example Tutorial](https://www.java67.com/2021/10/how-to-set-logging-level-in-spring-boot-.html) - [==medium.com/@hubian: 16 Best Practices in Spring Boot Production== ๐ŸŒŸ](https://medium.com/@hubian/16-best-practices-in-spring-boot-production-62c065a6145c) +- [==javaguides.net: Event-Driven Microservices using Spring Boot and Kafka==](https://www.javaguides.net/2022/07/event-driven-microservices-using-spring-boot-and-apache-kafka.html?spref=tw) #### SpringBoot with Docker @@ -360,6 +376,14 @@ optimizing Enterprise Java for the microservices architecture. +## Images + +??? note "Click to expand!" + +
+ ![spring annotations cheat sheet](images/spring_annotations_cheat_sheet.jfif) +
+ ## Tweets
@@ -381,5 +405,13 @@ optimizing Enterprise Java for the microservices architecture. + + + + + + + + -
\ No newline at end of file + diff --git a/docs/kubectl-commands.md b/docs/kubectl-commands.md index 075bff3f..9aff6b3b 100644 --- a/docs/kubectl-commands.md +++ b/docs/kubectl-commands.md @@ -5,16 +5,18 @@ 3. [Kubectl aliases](#kubectl-aliases) 4. [Kubectl explain](#kubectl-explain) 5. [Kubectl Autocomplete](#kubectl-autocomplete) -6. [List all resources and sub resources that you can constrain with RBAC](#list-all-resources-and-sub-resources-that-you-can-constrain-with-rbac) -7. [Copy a configMap in kubernetes between namespaces](#copy-a-configmap-in-kubernetes-between-namespaces) -8. [Copy secrets in kubernetes between namespaces](#copy-secrets-in-kubernetes-between-namespaces) -9. [Export resources with kubectl and python](#export-resources-with-kubectl-and-python) -10. [Buildkit CLI for kubectl a drop in replacement for docker build](#buildkit-cli-for-kubectl-a-drop-in-replacement-for-docker-build) -11. [Kubectl Alternatives](#kubectl-alternatives) - 1. [Manage Kubernetes (K8s) objects with Ansible Kubernetes Module](#manage-kubernetes-k8s-objects-with-ansible-kubernetes-module) - 2. [Jenkins Kubernetes Plugins](#jenkins-kubernetes-plugins) -12. [Videos](#videos) -13. [Tweets](#tweets) +6. [kubectl exec](#kubectl-exec) +7. [kubectl scale](#kubectl-scale) +8. [List all resources and sub resources that you can constrain with RBAC](#list-all-resources-and-sub-resources-that-you-can-constrain-with-rbac) +9. [Copy a configMap in kubernetes between namespaces](#copy-a-configmap-in-kubernetes-between-namespaces) +10. [Copy secrets in kubernetes between namespaces](#copy-secrets-in-kubernetes-between-namespaces) +11. [Export resources with kubectl and python](#export-resources-with-kubectl-and-python) +12. [Buildkit CLI for kubectl a drop in replacement for docker build](#buildkit-cli-for-kubectl-a-drop-in-replacement-for-docker-build) +13. [Kubectl Alternatives](#kubectl-alternatives) + 1. [Manage Kubernetes (K8s) objects with Ansible Kubernetes Module](#manage-kubernetes-k8s-objects-with-ansible-kubernetes-module) + 2. [Jenkins Kubernetes Plugins](#jenkins-kubernetes-plugins) +14. [Videos](#videos) +15. [Tweets](#tweets) ## Introduction @@ -27,7 +29,7 @@ - Set default namespaces - Helpful aliases to save time - YAML editing with vi - - Create YAML from kubectl commands + - Create YAML from kubectl commands - Switching between Kubernetes namespaces - Shell auto-completion - Viewing resource utilization @@ -44,11 +46,16 @@ - `kubectl create job my-job --image=busybox --dry-run=server -v8` - [cloudsavvyit.com: How to Restart Kubernetes Pods with Kubectl](https://www.cloudsavvyit.com/14587/how-to-restart-kubernetes-pods-with-kubectl/) - [technos.medium.com: How kubectl apply command works?](https://technos.medium.com/how-kubectl-apply-command-works-d092121056d3) -- [containiq.com: Using kubectl exec | Shell Commands & Examples](https://www.containiq.com/post/using-kubectl-exec-shell-commands-examples) kubectl exec lets you start a shell session to containers running in your Kubernetes cluster. Itโ€™s a bit like SSH for Kubernetes. Hereโ€™s what you need to know to use this command as part of your cluster management procedures, including the cases where it makes the most sense. - [blogs.nakam.org: What Happens When? K8s Edition ๐ŸŒŸ](https://blogs.nakam.org/what-happens-when-k8s-edition) What happens when you do kubectl create deploy nginx --image=nginx --replicas=3 - [inlets.dev: Fixing the Developer Experience of Kubernetes Port Forwarding](https://inlets.dev/blog/2022/06/24/fixing-kubectl-port-forward.html) This article shows you some of the frustrations of using kubectl for port-forwarding and how to fix the developer experience. - [==medium.com/swlh: Break Down Kubernetes Server-Side Apply (Advanced kubectl)== ๐ŸŒŸ](https://medium.com/swlh/break-down-kubernetes-server-side-apply-5d59f6a14e26) Are you already using the SSA? Do you know the difference between CSA and SSA? - [containiq.com: Kubectl Config Set-Context | Tutorial and Best Practices](https://www.containiq.com/post/kubectl-config-set-context-tutorial-and-best-practices) Kubernetes comes with many tools to help you manage your clusters, including kubectl set-context. In this guide, you'll learn how to use this command to manipulate contexts in your kubeconfig file, as well as best practices for doing so. +- [blog.devgenius.io: K8s โ€” Manage Multiple Clusters Using kubectl at Scale](https://blog.devgenius.io/k8s-manage-multiple-clusters-using-kubectl-at-scale-9f200c692099) Manage multiple K8s clusters efficiently using kubectl +- [==itnext.io: How to Restart Kubernetes Pods With Kubectl== ๐ŸŒŸ](https://itnext.io/how-to-restart-kubernetes-pods-with-kubectl-2a7834a6b961) A pod is the smallest unit in Kubernetes (K8S). They should run until they are replaced by a new deployment. Because of this, there is no way to restart a pod, instead, it should be replaced. +- [awstip.com: Kubernetes โ€” Creating deployments via command line and with YAML files](https://awstip.com/kubernetes-creating-deployments-via-command-line-and-with-yaml-files-783eaad7b3be) +- [superbrothers/zsh-kubectl-prompt ๐ŸŒŸ](https://github.com/superbrothers/zsh-kubectl-prompt) Display information about the kubectl current context and namespace in zsh prompt. +- [medium.com/@emmaliaocode: kubectl create vs kubectl apply. Whatโ€™s the difference?](https://medium.com/@emmaliaocode/kubectl-create-vs-kubectl-apply-whats-the-differences-f6472f4c6c86) +- [hidetatz/kubecolor ๐ŸŒŸ](https://github.com/hidetatz/kubecolor) colorizes kubectl output ## Kubectl Cheat Sheets @@ -85,6 +92,16 @@ alias k=kubectl complete -F __start_kubectl k ``` +## kubectl exec + +- [containiq.com: Using kubectl exec | Shell Commands & Examples](https://www.containiq.com/post/using-kubectl-exec-shell-commands-examples) kubectl exec lets you start a shell session to containers running in your Kubernetes cluster. Itโ€™s a bit like SSH for Kubernetes. Hereโ€™s what you need to know to use this command as part of your cluster management procedures, including the cases where it makes the most sense. +- [itnext.io: Connect to containers using Kubectl Exec](https://itnext.io/connect-to-containers-using-kubectl-exec-b1fb5c171f03) In this article, we will look at the kubectl exec command to show how to get a shell into a running container in your Kubernetes (K8S) cluster, and how to run individual commands on a container with some useful examples. +- [goteleport.com: kubectl exec vs SSH](https://goteleport.com/blog/ssh-vs-kubectl/) This article compares `kubectl exec` and SSH and discusses their strengths and weaknesses + +## kubectl scale + +- [==containiq.com: Using Kubectl Scale | Tutorial and Best Practices==](https://www.containiq.com/post/kubectl-scale) kubectl scale is one of the many tools that helps you manage your Kubernetes deployments. In this article, you'll learn how this tool can be used, as well as best practices for use. + ## List all resources and sub resources that you can constrain with RBAC - kind of a handy way to see all thing things you can affect with Kubernetes RBAC. This will list all resources and sub resources that you can constrain with RBAC. If you want to see just subresources append "| grep {name}/": diff --git a/docs/kubernetes-alternatives.md b/docs/kubernetes-alternatives.md index 3055b7ee..36a82b9b 100644 --- a/docs/kubernetes-alternatives.md +++ b/docs/kubernetes-alternatives.md @@ -9,7 +9,7 @@ 6. [Docker Enterprise and Docker Universal Control Plane (UCP)](#docker-enterprise-and-docker-universal-control-plane-ucp) 7. [Docker Swarm](#docker-swarm) 8. [Simplenetes](#simplenetes) -9. [More Comparisons](#more-comparisons) +9. [More comparisons and alternatives](#more-comparisons-and-alternatives) 10. [Images](#images) 11. [Videos](#videos) @@ -80,11 +80,12 @@ - [Simplenetes](https://github.com/simplenetes-io/simplenetes) Alternative to Kubernetes written in pure Sh -## More Comparisons +## More comparisons and alternatives - [blog.opstree.com: A Comparison Between Various Container Orchestration Services! (ECS vs Kubernetes)](https://blog.opstree.com/2021/06/21/a-comparison-between-various-container-orchestration-services-ecs-vs-kubernetes/) - [itprotoday.com: 4 Alternatives to Kubernetes Container Orchestrator](https://www.itprotoday.com/hybrid-cloud-and-multicloud/4-alternatives-kubernetes-container-orchestrator) While nearly nine out of 10 organizations use Kubernetes, there are alternatives to consider if looking for a container orchestrator in 2022. - [portainer.io: Kubernetes vs Docker Swarm vs Nomad - the orchestrator wars continue?](https://www.portainer.io/blog/orchestrator-wars-continue) +- [coolify.io](https://coolify.io) Made self-hosting simple. An open-source & self-hostable Heroku / Netlify alternative (and even more). ## Images diff --git a/docs/kubernetes-autoscaling.md b/docs/kubernetes-autoscaling.md index 1d670d40..67c08705 100644 --- a/docs/kubernetes-autoscaling.md +++ b/docs/kubernetes-autoscaling.md @@ -9,8 +9,10 @@ 6. [Cluster Autoscaler and DockerHub](#cluster-autoscaler-and-dockerhub) 7. [Cluster Autoscaler in GKE, EKS, AKS and DOKS](#cluster-autoscaler-in-gke-eks-aks-and-doks) 8. [Cluster Autoscaler in OpenShift](#cluster-autoscaler-in-openshift) -9. [Kubernetes Load Testing and High Load Tuning](#kubernetes-load-testing-and-high-load-tuning) -10. [Tweets](#tweets) +9. [Scaling Kubernetes to multiple clusters and regions](#scaling-kubernetes-to-multiple-clusters-and-regions) +10. [Kubernetes Load Testing and High Load Tuning](#kubernetes-load-testing-and-high-load-tuning) +11. [Tweets](#tweets) +12. [Videos](#videos) ## Introduction @@ -18,7 +20,7 @@ - [infracloud.io: 3 Autoscaling Projects to Optimise Kubernetes Costs](https://www.infracloud.io/blogs/3-autoscaling-projects-optimising-kubernetes-costs/) Three autoscaling use cases: - Autoscaling Event-driven workloads - Autoscaling real-time workloads - - Autoscaling Nodes/Infrastructure + - Autoscaling Nodes/Infrastructure - [blog.scaleway.com: Understanding Kubernetes Autoscaling](https://blog.scaleway.com/understanding-kubernetes-autoscaling/) - [infracloud.io: Kubernetes Autoscaling with Custom Metrics (updated) ๐ŸŒŸ](https://www.infracloud.io/blogs/kubernetes-autoscaling-custom-metrics/) - [sysdig.com: Kubernetes pod autoscaler using custom metrics](https://sysdig.com/blog/kubernetes-autoscaler/) @@ -39,6 +41,10 @@ - [chaitu-kopparthi.medium.com: Scaling Kubernetes workloads using custom Prometheus metrics](https://chaitu-kopparthi.medium.com/scaling-kubernetes-workloads-using-custom-prometheus-metrics-1eb64b23919e) - [medium.com/@niklas.uhrberg: Auto scaling in Kubernetes using Kafka and application metrics โ€” part 1](https://medium.com/@niklas.uhrberg/auto-scaling-in-kubernetes-using-kafka-and-application-metrics-part-1-a509256b64ff) In this article, you will find a case study on auto scaling long-running jobs in Kubernetes using external metrics from Kafka and the application itself. - [openai.com: Scaling Kubernetes to 7,500 Nodes](https://openai.com/blog/scaling-kubernetes-to-7500-nodes/) +- [thinksys.com: Understanding Kubernetes Autoscaling](https://www.thinksys.com/devops/kubernetes-autoscaling/) Types of Kubernetes Autoscaling: + - Horizontal Pod Autoscaler (HPA) + - Vertical Pod Autoscaler (VPA) + - Cluster Autoscaler ## Cluster Autoscaler Kubernetes Tool @@ -73,7 +79,7 @@ - [around25.com: Horizontal Pod Autoscaler in Kubernetes ๐ŸŒŸ](https://around25.com/blog/horizontal-pod-autoscaler-in-kubernetes/) - [superawesome.com: Scaling pods with HPA using custom metrics. How we scale our kid-safe technology using Kubernetes ๐ŸŒŸ](https://www.superawesome.com/blog/how-we-scale-our-kid-safe-technology-using-auto-scaling-on-kubernetes/) - [velotio.com: Autoscaling in Kubernetes using HPA and VPA](https://www.velotio.com/engineering-blog/autoscaling-in-kubernetes-using-hpa-vpa) -- [kubectl-vpa](https://github.com/ninlil/kubectl-vpa) Tool to manage VPAs (vertical-pod-autoscaler) resources in a kubernetes-cluster +- [kubectl-vpa](https://github.com/ninlil/kubectl-vpa) Tool to manage VPAs (vertical-pod-autoscaler) resources in a kubernetes-cluster - [itnext.io: K8s Vertical Pod Autoscaling ๐ŸŒŸ](https://itnext.io/k8s-vertical-pod-autoscaling-fd9e602cbf81) - [czakozoltan08.medium.com: Stupid Simple Scalability](https://czakozoltan08.medium.com/stupid-simple-scalability-dc4a7fbe67d6) - [sysdig.com: Trigger a Kubernetes HPA with Prometheus metrics](https://sysdig.com/blog/kubernetes-hpa-prometheus/) Using Keda to query #prometheus in order to automatically create a Kubernetes HPA @@ -87,11 +93,17 @@ - [itnext.io: Stupid Simple Scalability](https://itnext.io/stupid-simple-scalability-dc4a7fbe67d6) - [faun.pub: Scaling Your Application Using Kubernetes - Harness | Pavan Belagatti](https://faun.pub/scaling-your-application-using-kubernetes-9ad0d6bcf0d6) - [dnastacio.medium.com: Infinite scaling with containers and Kubernetes](https://dnastacio.medium.com/kubernetes-resources-1a1fa1e72dcf) The article starts with a recap of Kubernetes resource management and its core concepts of requests and limits. Then it discusses those static limits in the realm of pod autoscalers, such as HPA, VPA, and KPA. +- [medium.com/@badawekoo: Scaling in Kubernetes _What, Why and How?](https://medium.com/@badawekoo/scaling-in-kubernetes-what-why-and-how-d120e99be071) +- [pauldally.medium.com: HorizontalPodAutoscaler uses request (not limit) to determine when to scale by percent](https://pauldally.medium.com/horizontalpodautoscaler-uses-request-not-limit-to-determine-when-to-scale-97643d808997) In this article, you will learn how the Horizontal Pod Autoscaler uses requests (and not limits) when computing the target utilization percentage to scale pods +- [dev.to: Scaling Your Application With Kubernetes | Pavan Belagatti](https://dev.to/pavanbelagatti/scaling-your-application-with-kubernetes-5715) +- [github.com/jthomperoo: Predictive Horizontal Pod Autoscaler](https://github.com/jthomperoo/predictive-horizontal-pod-autoscaler) Horizontal Pod Autoscaler built with predictive abilities using statistical models. Predictive Horizontal Pod Autoscalers (PHPAs) are Horizontal Pod Autoscalers (HPAs) with extra predictive capabilities baked in, allowing you to apply statistical models to the results of HPA calculations to make proactive scaling decisions. +- [==thenewstack.io: K8s Resource Management: An Autoscaling Cheat Sheet== ๐ŸŒŸ](https://thenewstack.io/k8s-resource-management-an-autoscaling-cheat-sheet/) A concise but comprehensive guide to using and managing horizontal and vertical autoscaling in the Kubernetes environment. +- [waswani.medium.com: Autoscaling Pods in Kubernetes](https://waswani.medium.com/autoscaling-pods-in-kubernetes-37d05000c41) If you are hosting your workload in a cloud environment, and your traffic pattern is fluctuating in nature (think unpredictable), you need a mechanism to automatically scale out (and off-course scale in) your workload to ensure the service is able to perform as per defined Service Level Objective (SLO), without impacting the User Experience. This semantic is referred to as Autoscaling, to be very precise Horizontal Scaling. ### Kubernetes Scale to Zero - [dzone: Scale to Zero With Kubernetes with KEDA and/or Knative](https://dzone.com/articles/scale-to-zero-with-kubernetes) This article reviews how Kubernetes provides the platform capabilities for dynamic deployment, scaling, and management in Cloud-native applications. -- [==dev.to/danielepolencic: Request-based autoscaling in Kubernetes: scaling to zero==](https://dev.to/danielepolencic/request-based-autoscaling-in-kubernetes-scaling-to-zero-2i73) +- [==dev.to/danielepolencic: Request-based autoscaling in Kubernetes: scaling to zero==](https://dev.to/danielepolencic/request-based-autoscaling-in-kubernetes-scaling-to-zero-2i73) - [linode.com: Scaling Kubernetes to Zero (And Back)](https://www.linode.com/blog/kubernetes/scaling-kubernetes-to-zero-and-back/) ## Cluster Autoscaler and Helm @@ -104,7 +116,7 @@ - [partlycloudy.blog: Horizontal Autoscaling in Kubernetes #3 โ€“ KEDA](https://partlycloudy.blog/2020/05/29/horizontal-autoscaling-in-kubernetes-3-keda/) - [thenewstack.io: CNCF KEDA 2.0 Scales up Event-Driven Programming on Kubernetes](https://thenewstack.io/microsoft-keda-2-0-scales-up-event-driven-programming-on-kubernetes/) - [blog.cloudacode.com: How to Autoscale Kubernetes pods based on ingress request โ€” Prometheus, KEDA, and K6](https://blog.cloudacode.com/how-to-autoscale-kubernetes-pods-based-on-ingress-request-prometheus-keda-and-k6-84ae4250a9f3) In this article, you will learn how autoscale pods with KEDA, Prometheus and the metrics from the ingress-nginx. You will use k6 to generate the load and observe the pod count increase as more requests are handled by the ingress controller. -- [medium.com/@toonvandeuren: Kubernetes Scaling: The Event Driven Approach - KEDA](https://medium.com/@toonvandeuren/kubernetes-scaling-the-event-driven-approach-bdd58ded4e3f) - [youtube: Application Autoscaling Made Easy With Kubernetes Event-Driven Autoscaling (KEDA)](https://www.youtube.com/watch?v=c5t1y9V8HWc) +- [medium.com/@toonvandeuren: Kubernetes Scaling: The Event Driven Approach - KEDA](https://medium.com/@toonvandeuren/kubernetes-scaling-the-event-driven-approach-bdd58ded4e3f) In this article, you'll discuss two different approaches to automatic scaling of your apps within a Kubernetes cluster: the Horizontal Pod Autoscaler and the Kubernetes Event-Driven Autoscaler (KEDA) - [youtube: Application Autoscaling Made Easy With Kubernetes Event-Driven Autoscaling (KEDA)](https://www.youtube.com/watch?v=c5t1y9V8HWc) ## Cluster Autoscaler and DockerHub @@ -123,10 +135,17 @@ - [OpenShift 3.11: Configuring the cluster auto-scaler in AWS](https://docs.openshift.com/container-platform/3.11/admin_guide/cluster-autoscaler.html) - [OpenShift 4.4: Applying autoscaling to an OpenShift Container Platform cluster](https://docs.openshift.com/container-platform/4.4/machine_management/applying-autoscaling.html) +## Scaling Kubernetes to multiple clusters and regions + +- [==dev.to/danielepolencic: Scaling Kubernetes to multiple clusters and regions== ๐ŸŒŸ](https://dev.to/danielepolencic/scaling-kubernetes-to-multiple-clusters-and-regionss-294b) + ## Kubernetes Load Testing and High Load Tuning - [itnext.io: Kubernetes: load-testing and high-load tuning โ€” problems and solutions](https://itnext.io/kubernetes-load-testing-and-high-load-tuning-problems-and-solutions-244d869a9791) - [engineering.zalando.com: Building an End to End load test automation system on top of Kubernetes](https://engineering.zalando.com/posts/2021/03/building-an-end-to-end-load-test-automation-system-on-top-of-kubernetes.html) Learn how we built an end-to-end load test automation system to make load tests a routine task. +- [thenewstack.io: Sidecars are Changing the Kubernetes Load-Testing Landscape](https://thenewstack.io/sidecars-are-changing-the-kubernetes-load-testing-landscape/) Sidecars don't just capture traffic. They can replay it as well. They can also transform any metadata, like timestamps, before it sends it to your application. +- [medium.com/teamsnap-engineering: Load Testing a Service with ~20,000 Requests per Second with Locust, Helm, and Kustomize](https://medium.com/teamsnap-engineering/load-testing-a-service-with-20-000-requests-per-second-with-locust-helm-and-kustomize-ea9bea02ae28) +- [containiq.com: Kubernetes Load Testing | 8 Tools & Best Practices](https://www.containiq.com/post/kubernetes-load-testing) If you want to understand your Kubernetes application, performance testing is crucial. In this post, youโ€™ll look at the value of performance testing, how to get started, and testing tools. ## Tweets @@ -137,4 +156,15 @@ - \ No newline at end of file + + +## Videos + +
+ Click to expand! + +
+ + +
+
diff --git a/docs/kubernetes-backup-migrations.md b/docs/kubernetes-backup-migrations.md index a8db8e8d..9abe0795 100644 --- a/docs/kubernetes-backup-migrations.md +++ b/docs/kubernetes-backup-migrations.md @@ -41,8 +41,11 @@ - [itnext.io: Backup and Restore of Kubernetes Stateful Application Data with CSI Volume Snapshots](https://itnext.io/backup-and-restore-of-kubernetes-stateful-application-data-with-csi-volume-snapshots-14ce9e6f3778) - [dev.to: Kubernetes Backup & Restore made easy! ๐ŸŒŸ](https://dev.to/techworld_with_nana/kubernetes-backup-restore-made-easy-2nlg) - [blog.kasten.io: 10 Key Takeaways from Kubernetes Backup & Recovery For Dummies](https://blog.kasten.io/10-key-takeaways-from-kubernetes-backup-recovery-for-dummies) -- [k8up.io](https://k8up.io/) Kubernetes Backup Operator distributed via a Helm chart, compatible with OpenShift and plain Kubernetes. +- [k8up.io](https://k8up.io/) Kubernetes Backup Operator distributed via a Helm chart, compatible with OpenShift and plain Kubernetes. - [medium.com/@amitabhprasad: Kubernetes volume backup for disaster recovery](https://medium.com/@amitabhprasad/kubernetes-volume-backup-for-disaster-recovery-56a5facee7fe) +- [thenewstack.io: K8s Backup and Disaster Recovery Is More Important Than Ever](https://thenewstack.io/k8s-backup-and-disaster-recovery-is-more-important-than-ever/) Here are some considerations of a successful Kubernetes data protection strategy. +- [blog.palark.com: Kubernetes snapshots: What are they and how to use them? ๐ŸŒŸ](https://blog.palark.com/kubernetes-snaphots-usage/) +- [martinheinz.dev: Backup-and-Restore of Containers with Kubernetes Checkpointing API](https://martinheinz.dev/blog/85) Kubernetes v1.25 introduced Container Checkpointing API as an alpha feature. This provides a way to backup-and-restore containers running in Pods, without ever stopping them. This feature is primarily aimed at forensic analysis, but general backup-and-restore is something any Kubernetes user can take advantage of. So, let's take a look at this brand-new feature and see how we can enable it in our clusters and leverage it for backup-and-restore or forensic analysis. ## ETCD Backup diff --git a/docs/kubernetes-based-devel.md b/docs/kubernetes-based-devel.md index 89f5a0a7..02c57fe5 100644 --- a/docs/kubernetes-based-devel.md +++ b/docs/kubernetes-based-devel.md @@ -32,6 +32,8 @@ - [faun.pub: Creating a Kubernetes Cluster for Development with Kind](https://faun.pub/creating-a-kubernetes-cluster-for-development-with-kind-189df2cb0792) - [faun.pub: Finally, (successfullyโ€ฆ) setup docker registry inside kind Kubernetes cluster](https://faun.pub/finally-successfully-setup-docker-registry-inside-kind-kubernetes-cluster-5b0381dbb2ec) - [==blog.kubesimplify.com: Yours Kindly Drone==](https://blog.kubesimplify.com/yours-kindly-drone) **Kubernetes Native Continuous Integration (CI) on your laptops. A hands-on tutorial on how to use KinD and Drone to set up CI with Kubernetes on your local machine. At the end of these steps, you will have a completely functional Kubernetes & CI to build and deploy cloud-native apps on K8s** + - [medyagh/setup-minikube](https://github.com/medyagh/setup-minikube) setup-minikube is a Github action that creates a temporary minikube cluster for testing + - [dev.to: How to run Minikube on Apple M1 chip without Docker Desktop using Colima](https://dev.to/everythingdevops/how-to-run-minikube-on-apple-m1-chip-without-docker-desktop-h76) - [store.docker.com: Docker Community Edition EDGE with kubernetes. Installing Kubernetes using the Docker Client](https://store.docker.com/editions/community/docker-ce-desktop-windows) Currently only available in **Edge** edition. - [medium.com: Local Kubernetes for Linuxโ€Šโ€”โ€ŠMiniKube vs MicroK8s](https://medium.com/containers-101/local-kubernetes-for-linux-minikube-vs-microk8s-1b2acad068d3) - [itnext.io: Run Kubernetes On Your Machine](https://itnext.io/run-kubernetes-on-your-machine-7ee463af21a2) Several options to start playing with K8s in no time @@ -73,6 +75,10 @@ - [rookout.com: Developer Tools for Kubernetes in 2021: Development Machines (Part 5)](https://www.rookout.com/blog/developer-tooling-for-kubernetes-in-2021-development-machines-part-5) - [yitaek.medium.com: Useful Tools for Better Kubernetes Development](https://yitaek.medium.com/useful-tools-for-better-kubernetes-development-87820c2b9435) - [okteto.com: Kubernetes for Developers Blog Series by Okteto](https://okteto.com/blog/kubernetes-for-developers-blog-series-by-okteto/) +- [docker.com: Kubernetes in Production Environments](https://www.docker.com/blog/dear-moby-2-kubernetes-in-production/) What is the best way to develop if my prod environment runs Kubernetes? Using Docker Compose does come with conditions: + - Itโ€™s another tool in your arsenal. This means another set of manifests to maintain and update. If you need to define a new environment variable, youโ€™ll need to add it to both your Compose file and Kubernetes manifests. + - Youโ€™ll have to vet changes against either prod or a staging environment since youโ€™re not running Kubernetes locally. +- [itnext.io: Kubernetes in a box](https://itnext.io/kubernetes-in-a-box-7a146ba9f681) This article will be helpful for anyone interested in setting up a local Kubernetes dev/test environment in a reproducible and easy way. ### Skaffold. Local Kubernetes Development @@ -117,7 +123,7 @@ - [williamlam.com: Useful Interactive Terminal and Graphical UI Tools for Kubernetes](https://williamlam.com/2020/04/useful-interactive-terminal-and-graphical-ui-tools-for-kubernetes.html) - [hackerxone.com: How To Install Kubernetes Dashboard with NodePort in Linux](https://www.hackerxone.com/2021/07/10/how-install-kubernetes-dashboard-nodeport-linux/) - [loft.sh: Kubernetes Monitoring Dashboards - 5 Best Open-Source Tools](https://loft.sh/blog/kubernetes-monitoring-dashboards-5-best-open-source-tools/) -- [medium: YAKD: Yet Another Kubernetes Dashboard](https://medium.com/geekculture/yakd-yet-another-kubernetes-dashboard-7766bd) A list of most popular opensource kubernetes dashboard both for local development & in production as well +- [medium: YAKD: Yet Another Kubernetes Dashboard](https://medium.com/geekculture/yakd-yet-another-kubernetes-dashboard-7766bd071f30) A list of most popular opensource kubernetes dashboard both for local development & in production as well - [adamtheautomator.com: How to Install and Set Up Kubernetes Dashboard [Step by Step]](https://adamtheautomator.com/kubernetes-dashboard/) - [thenewstack.io: Who Needs a Dashboard? Why the Kubernetes Command Line Is Not Enough](https://thenewstack.io/who-needs-a-dashboard-why-the-kubernetes-command-line-is-not-enough/) - [kui.tools ๐ŸŒŸ](https://kui.tools) Kui: CLI-driven Graphics for Kubernetes. Tired of working with Kubernetes in cli mode only? Try kui - a hybrid tool that allows you to interact with any Kubernetes cluster easily with more advanced features available only in GUI. @@ -128,8 +134,10 @@ Kui enriches the good old terminal experience with GUI features, giving you a di - [rigorousthemes.com: 10 Best Kubernetes Dashboard Alternatives 2022](https://rigorousthemes.com/blog/best-kubernetes-dashboard-alternatives/) - [blog.flant.com: kubenav as a tool for managing Kubernetes clusters from your smartphone](https://blog.flant.com/kubenav-managing-kubernetes-from-smartphone/) - [==kubeapps.dev== ๐ŸŒŸ](https://kubeapps.dev) Kubeapps is an in-cluster web-based application that enables users with a one-time installation to deploy, manage, and upgrade applications on a Kubernetes cluster -- [==github.com/openshift/console== ๐ŸŒŸ](https://github.com/openshift/console) +- [==github.com/openshift/console== ๐ŸŒŸ](https://github.com/openshift/console) - [engineering.cloudflight.io: Running the OpenShift console in plain Kubernetes ๐ŸŒŸ](https://engineering.cloudflight.io/running-the-openshift-console-in-plain-kubernetes) +- [containiq.com: Kubernetes Dashboard | Installation, Tips, and Examples](https://www.containiq.com/post/intro-to-kubernetes-dashboards) Keeping track of your Kuberetes resources can be a challenge, especially as you scale. The k8s web-based dashboard is a great way to visualize whatโ€™s going on in your cluster. +- [levelup.gitconnected.com: Step by Step Slow Guide: Kubernetes Dashboard on Raspberry Pi Cluster (Part 2)](https://levelup.gitconnected.com/step-by-step-slow-guide-kubernetes-dashboard-on-raspberry-pi-cluster-part-2-acdc8f9b5b99) How to setup self-signed certificate for Kubernetes Dashboard and expose it via load-balancer ### Octant @@ -142,6 +150,7 @@ Kui enriches the good old terminal experience with GUI features, giving you a di - [codefresh.io: Tutorial - Local Kubernetes Development with Okteto ๐ŸŒŸ](https://codefresh.io/kubernetes-tutorial/okteto/) - [kubeshop.github.io/monokle](https://kubeshop.github.io/monokle/) Welcome to Monokle - your friendly desktop UI for managing k8s manifests! - [github.com/marketplace: Automating your Kubernetes dev environments with the open source oktetohq Cloud got easier with GitHub Actions](https://github.com/marketplace?query=publisher%3Aokteto&type=actions) +- [blog.palark.com: Okteto Cloud as another way for local development in Kubernetes](https://blog.palark.com/okteto-cloud-for-local-development-in-kubernetes/) This article explores an approach featuring application development performed right inside the Kubernetes without needing separate build and deploy steps using Okteto ### Lens and OpenLens Kubernetes IDE @@ -152,6 +161,8 @@ Kui enriches the good old terminal experience with GUI features, giving you a di - [thedevopslife.com: Kubernetes IDE and UI โ€“ Lens IDE](https://thedevopslife.com/kubernetes-gui-lens-ide/) - [medium.com/k8slens: Lens 6 Released, Vision for the Future, New Subscription Model and Features Available](https://medium.com/k8slens/lens-6-released-vision-for-the-future-new-subscription-model-and-features-available-628ff21fe14a) Over 650,000 people and tens-of-thousands of businesses develop and operate their Kubernetes on k8slens. Lens for Web Browsers โ€” Enable new use cases for people preferring the Lens experience via web browsers. Even tablets and mobile phones! - [blog.devgenius.io: Is it time to migrate from Lens to OpenLens to manage your Kubernetes clusters?](https://blog.devgenius.io/is-it-time-to-migrate-from-lens-to-openlens-75496e5758d8) +- [medium.com/k8slens: Eliminating Kubernetes Complexity for Developers Using Lens](https://medium.com/k8slens/eliminating-kubernetes-complexity-for-developers-using-lens-5c199e5aff4e) +- [medium.com/k8slens: Lens Kubernetes is all you need in the development env to build, ship, and run](https://medium.com/k8slens/lens-kubernetes-is-all-you-need-in-the-development-env-to-build-ship-and-run-5c1980a12fcf) ### Kubenav diff --git a/docs/kubernetes-bigdata.md b/docs/kubernetes-bigdata.md index d0cfd48f..72a66a9c 100644 --- a/docs/kubernetes-bigdata.md +++ b/docs/kubernetes-bigdata.md @@ -20,6 +20,7 @@ - [cloud.redhat.com: Getting Started running Spark workloads on OpenShift](https://cloud.redhat.com/blog/getting-started-running-spark-workloads-on-openshift) - [medium: Running Apache Spark on Kubernetes](https://medium.com/empathyco/running-apache-spark-on-kubernetes-2e64c73d0bb2) Using Spark on K8s to overcome dependency on cloud providers - [hevodata.com: Building Apache Spark Data Pipeline? Made Easy 101 ๐ŸŒŸ](https://hevodata.com/learn/spark-data-pipeline/) +- [coderstan.com: Apache Spark on Kubernetesโ€”Lessons Learned from Launching Millions of Spark Executors (Databricks Data+AI Summit 2022)](https://coderstan.com/2022/07/15/spark-on-kubernetes-launching-millions-of-spark-executors/) In this case study, you will learn how Apple uses Spark and Kubernetes to process 380K+ jobs per day ## Databricks diff --git a/docs/kubernetes-client-libraries.md b/docs/kubernetes-client-libraries.md index 88b7642d..aa5ecd02 100644 --- a/docs/kubernetes-client-libraries.md +++ b/docs/kubernetes-client-libraries.md @@ -6,8 +6,8 @@ 4. [Java Clients for Kubernetes](#java-clients-for-kubernetes) 1. [Official Java client library for kubernetes](#official-java-client-library-for-kubernetes) 2. [Fabric8 Java Client for Kubernetes](#fabric8-java-client-for-kubernetes) -5. [CDK8s Python](#cdk8s-python) -6. [Eclipse Jkube Java Client for Kubernetes (formerly known as Fabric8). Kubernetes & OpenShift Maven Plugins](#eclipse-jkube-java-client-for-kubernetes-formerly-known-as-fabric8-kubernetes--openshift-maven-plugins) +5. [CDK8s](#cdk8s) +6. [Eclipse Jkube Java Client for Kubernetes (formerly known as Fabric8). Kubernetes \& OpenShift Maven Plugins](#eclipse-jkube-java-client-for-kubernetes-formerly-known-as-fabric8-kubernetes--openshift-maven-plugins) 7. [Java Operator SDK](#java-operator-sdk) ## Kubernetes Client Libraries @@ -29,6 +29,7 @@ - [kyaml2go (Pronounced as camel2go ๐Ÿซ) ๐ŸŒŸ](https://github.com/PrasadG193/kyaml2go) K8s Go client code generator from Kubernetes resource yamls. - [itnext.io: Writing a Kubernetes CLI in Go](https://itnext.io/writing-a-kubernetes-cli-in-go-a3970ad58299) - [blog.devgenius.io: Learn Kubernetes Programming โ€” Part 1](https://blog.devgenius.io/learn-kubernetes-programming-part-1-7384e5f3c481) Learn to programmatically talk to the Kubernetes cluster using the Official Client Go Library. In this tutorial, you'll learn how to build a simple CLI that connects to the Kubernetes cluster and displays the server version. In the process, you will learn Go and the client-go package. +- [iximiuz.com: How To Develop Kubernetes CLIs Like a Pro](https://iximiuz.com/en/posts/kubernetes-api-go-cli/) Build You Own kubectl The Simple Way. Learn how to use the http://k8s.io/cli-runtime library to develop Kubernetes CLI tools that behave like and are as potent as the mighty kubectl. ## Python Client for Kubernetes @@ -61,10 +62,11 @@ - [blog.marcnuri.com: Fabric8 Kubernetes Client for Java introduction](https://blog.marcnuri.com/kubernetes-client-java-fabric8-introduction) - [blog.marcnuri.com: Build Kubernetes controllers with Fabric8 Kubernetes Client, Quarkus, and JKube](https://blog.marcnuri.com/fabric8-kubernetes-java-client-and-quarkus-and-graalvm) -## CDK8s Python +## CDK8s - [cdk8s](https://github.com/cdk8s-team/cdk8s) Define Kubernetes native apps and abstractions using object-oriented programming - [blog.twstewart.me: cdk8s-python - A Love and Hate Experience](https://blog.twstewart.me/posts/cdk8s-python) CDK8S is an alpha level library that allows you to write high level abstractions of Kubernetes objects like deployments, services, and more all in your favorite language ( TypeScript, Python, and others). +- [qdnqn.com: Kubernetes objects from Go to YAML using Cdk8s](https://qdnqn.com/create-kubernetes-yaml-definitions-using-go-and-cdk8s/) Cdk8s is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster. ## Eclipse Jkube Java Client for Kubernetes (formerly known as Fabric8). Kubernetes & OpenShift Maven Plugins diff --git a/docs/kubernetes-monitoring.md b/docs/kubernetes-monitoring.md index 90114b95..f14fd062 100644 --- a/docs/kubernetes-monitoring.md +++ b/docs/kubernetes-monitoring.md @@ -1,16 +1,21 @@ # Kubernetes Monitoring and Logging + 1. [Introduction](#introduction) 2. [Kubernetes Logging](#kubernetes-logging) 3. [SLOs in Kubernetes](#slos-in-kubernetes) 4. [ECK Elastic Cloud on Kubernetes](#eck-elastic-cloud-on-kubernetes) 5. [Telegraf Operator](#telegraf-operator) 6. [Monitoring Certificates Expiration](#monitoring-certificates-expiration) -7. [Videos](#videos) - +7. [kubeshark](#kubeshark) +8. [k8spacket](#k8spacket) +9. [Videos](#videos) + ## Introduction - [kube-prometheus](https://github.com/prometheus-operator/kube-prometheus) Use Prometheus to monitor Kubernetes and applications running on Kubernetes. This repository collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. - [prometheus-community/kube-prometheus-stack ๐ŸŒŸ๐ŸŒŸ](https://artifacthub.io/packages/helm/prometheus-community/kube-prometheus-stack) **kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.** + - [faun.pub: Becoming DevOps โ€” Observability](https://faun.pub/becoming-devops-observability-152b292c05b9) Observability with Kube-Prometheus + - [levelup.gitconnected.com: Installing & Exploring the Kube-Prometheus Project](https://levelup.gitconnected.com/installing-exploring-the-kube-prometheus-project-eef375d49f6b) - [medium: Kubernetes Monitoring: Kube-State-Metrics](https://medium.com/@chrisedrego/kubernetes-monitoring-kube-state-metrics-df6546aea324) - [Kubernetes Monitoring 101 โ€” Core pipeline & Services Pipeline](https://levelup.gitconnected.com/kubernetes-monitoring-101-core-pipeline-services-pipeline-a34cd4cc9627) - [medium: Utilizing and monitoring kubernetes cluster resources more effectively](https://medium.com/@martin.schneppenheim/utilizing-and-monitoring-kubernetes-cluster-resources-more-effectively-using-this-tool-df4c68ec2053) @@ -45,12 +50,19 @@ - [adamtheautomator.com: Utilizing Grafana & Prometheus Kubernetes Cluster Monitoring ๐ŸŒŸ](https://adamtheautomator.com/prometheus-kubernetes/) In this guide, you'll learn how to monitor your Kubernetes cluster, viewing internal state metrics with a Prometheus and Grafana dashboard. - [grafana.com: Introducing Kubernetes Monitoring in Grafana Cloud](https://grafana.com/blog/2022/07/13/introducing-kubernetes-monitoring-in-grafana-cloud/) Kubernetes Monitoring is available to all Grafana Cloud users, including on free tier. Container orchestration to deploy at scale, iterate quickly, and manage a large number of apps and services. - [medium.com/@clymeneallen: Best Practices, Monitoring System for Multi-K8s Cluster Environments Using Open Source](https://medium.com/@clymeneallen/best-practices-monitoring-system-for-multi-k8s-cluster-environments-using-open-source-d85544052f37) -- [medium.com/@bareckidarek: TCP packets traffic visualization for kubernetes by k8spacket and Grafana](https://medium.com/@bareckidarek/tcp-packets-traffic-visualization-for-kubernetes-by-k8spacket-and-grafana-bb87cb106f30) - [medium.com/@magstherdev: OpenTelemetry on Kubernetes ๐ŸŒŸ](https://medium.com/@magstherdev/opentelemetry-on-kubernetes-c167f024b35f) - [==betterprogramming.pub: 6 Metrics To Watch for on Your K8s Cluster== ๐ŸŒŸ](https://betterprogramming.pub/6-metrics-to-watch-for-on-your-k8s-cluster-76d58f08397f) The most critical Kubernetes metrics to monitor. In this article, you will cover the 6 most critical metrics based on Kubernetes's metadata that form a good baseline for monitoring your workloads and ensuring they're in a healthy state. - [figments.medium.com: Observable Kubernetes Cluster Using Grafana-Loki-Prometheus](https://figments.medium.com/observable-kubernetes-cluster-using-grafana-loki-prometheus-a661a31d7ad8) - [medium.com/@isalapiyarisi: Getting Started on Kubernetes observability with eBPF](https://medium.com/@isalapiyarisi/getting-started-on-kubernetes-observability-with-ebpf-88139eb13fb2) - [8 Best Kubernetes monitoring tools; Paid & open-source](https://middleware.io/blog/kubernetes-monitoring-tools/) +- [dev.to/mikeyglitz: Proactive Kubernetes Monitoring with Alerting](https://dev.to/mikeyglitz/proactive-kubernetes-monitoring-with-alerting-58en) In this tutorial, you'll learn how to combine Prometheus, Alertmanager, Grafana and Linkerd to deliver timely alerts when a problem occurs in a Kubernetes cluster. +- [isovalent.com: What are the 4 Golden Signals for Monitoring Kubernetes?](https://isovalent.com/blog/post/what-are-the-4-golden-signals-for-monitoring-kubernetes/) +- [grafana.com: How to manage high cardinality metrics in Prometheus and Kubernetes](https://grafana.com/blog/2022/10/20/how-to-manage-high-cardinality-metrics-in-prometheus-and-kubernetes/) +- [==containiq.com: Leveraging Kubernetes Metrics | Tutorial & Tools To Use==](https://www.containiq.com/post/kubernetes-metrics) In Kubernetes, resource metrics, cluster state metrics, and control plane metrics are mission-critical. In this article, we explore these three types of metrics, explain how to use them, and introduce a number of tools to collect and monitor them. +- [medium.com/@HirenDhaduk1: Top Kubernetes Observability Tools and their Usage](https://medium.com/@HirenDhaduk1/top-kubernetes-observability-tools-and-their-usage-e4e8eef8aec3) +- [milindasenaka96.medium.com: Setup Prometheus and Grafana to Monitor the K8s Cluster](https://milindasenaka96.medium.com/setup-prometheus-and-grafana-to-monitor-the-k8s-cluster-e1d35343d7a9) +- [blog.fourninecloud.com: Kubernetes monitoring โ€” How to monitor using prometheus?](https://blog.fourninecloud.com/kubernetes-monitoring-how-to-monitor-using-prometheus-f2eff767f6bb) +- [rcarrata.com: Network Observability Deep Dive in Kubernetes with NetObserv Operator](https://rcarrata.com/observability/netobserv-1/) How can we analyze our Network Flows in our Kubernetes clusters? How can we enable Network Observability for Kubernetes in a simple, searchable and visual way? How can we leverage cool technologies such as eBPF or IPFIX to enable Network Observability for our K8s Network Traffic? ## Kubernetes Logging @@ -74,6 +86,9 @@ - [==containiq.com: Kubernetes Audit Logs | Use Cases & Best Practices==](https://www.containiq.com/post/kubernetes-audit-logs) Kubernetes audit logs are powerful, but only if enabled and correctly configured. This article will help you get started using audit logs, and show you how to get the most out of them. - [blog.devops.dev: Importance of Logging In Kubernetes, Intro to Grafana Loki & deploying with helm-charts](https://blog.devops.dev/importance-of-logging-in-kubernetes-and-intro-to-grafana-loki-f8dc6f736e6) - [faun.pub: Kubernetes Practice โ€” Logging with Logstash and FluentD by Sidecar Container](https://faun.pub/kubernetes-practice-logging-with-logstash-and-fluentd-by-sidecar-container-86076da0812f) We are going to learn how to use the Sidecar Container pattern to install Logstash and FluentD on Kubernetes for log aggregation. +- [dev.to: Kubernetes Practice โ€” Logging with Logstash and FluentD by Sidecar Container](https://dev.to/devopsvn/kubernetes-practice-logging-with-logstash-and-fluentd-by-sidecar-container-16oi) +- [signoz.io: Kubernetes Audit Logs - Best Practices And Configuration](https://signoz.io/blog/kubernetes-audit-logs) +- [blog.amhaish.com: Observing the K8 cluster using ELK stack](https://blog.amhaish.com/observing-the-k8-cluster-using-elk-stack-7d4264fdb0e3) ## SLOs in Kubernetes @@ -82,7 +97,7 @@ ## ECK Elastic Cloud on Kubernetes -- [elastic.co: How to configure Elastic Cloud on Kubernetes with SAML and hot-warm-cold architecture](https://www.elastic.co/es/blog/how-to-configure-elastic-cloud-on-kubernetes-with-saml-and-hot-warm-cold-architecture) Elastic Cloud on Kubernetes (ECK) is an easy way to get the Elastic Stack up and running on top of Kubernetes. Thatโ€™s because ECK automates the deployment, provisioning, management, and setup of Elasticsearch, Kibana, Beats, and more. +- [elastic.co: How to configure Elastic Cloud on Kubernetes with SAML and hot-warm-cold architecture](https://www.elastic.co/es/blog/how-to-configure-elastic-cloud-on-kubernetes-with-saml-and-hot-warm-cold-architecture) Elastic Cloud on Kubernetes (ECK) is an easy way to get the Elastic Stack up and running on top of Kubernetes. Thatโ€™s because ECK automates the deployment, provisioning, management, and setup of Elasticsearch, Kibana, Beats, and more. ## Telegraf Operator @@ -92,6 +107,17 @@ - [itnext.io: Monitoring Certificates Expiration in Kubernetes with X.509 Exporter](https://itnext.io/monitoring-certificates-expiration-in-kubernetes-with-x-509-exporter-8030b69f611d) +## kubeshark + +- [==kubeshark.co==](https://kubeshark.co) The API Traffic Viewer for kubernetes. Deep visibility and monitoring of all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster. +- [kubeshark/kubeshark](https://github.com/kubeshark/kubeshark) The API traffic viewer for Kubernetes providing deep visibility into all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster. Think TCPDump and Wireshark re-invented for Kubernetes + +## k8spacket + +- [medium.com/@bareckidarek: TCP packets traffic visualization for kubernetes by k8spacket and Grafana](https://medium.com/@bareckidarek/tcp-packets-traffic-visualization-for-kubernetes-by-k8spacket-and-grafana-bb87cb106f30) +- [medium.com/geekculture: K8s Networking โ€” k8spacket](https://medium.com/geekculture/k8s-networking-k8spacket-eb85f167d1d5) Use k8spacket and Grafana to visualize K8s cluster Traffic +- [pakdailytimes.com: TCP packets traffic visualization for kubernetes by k8spacket and Grafana](https://www.pakdailytimes.com/2022/12/tcp-packets-traffic-visualization-for.html) + ## Videos ??? note "Click to expand!" diff --git a/docs/kubernetes-networking.md b/docs/kubernetes-networking.md index 005348f2..1f112eb9 100644 --- a/docs/kubernetes-networking.md +++ b/docs/kubernetes-networking.md @@ -1,33 +1,35 @@ # Kubernetes Networking 1. [Introduction](#introduction) -2. [NetworkPolicy](#networkpolicy) -3. [Nginx Ingress Controller](#nginx-ingress-controller) -4. [Contour Ingress Controller](#contour-ingress-controller) -5. [Gateway API](#gateway-api) -6. [Kube-proxy](#kube-proxy) -7. [Multicloud communication for Kubernetes](#multicloud-communication-for-kubernetes) -8. [Multi-Cluster Kubernetes Networking](#multi-cluster-kubernetes-networking) -9. [Kubernetes Network Policy](#kubernetes-network-policy) - 1. [Cilium](#cilium) - 2. [Kubernetes Network Policy Samples](#kubernetes-network-policy-samples) -10. [Kubernetes Ingress Specification](#kubernetes-ingress-specification) -11. [Xposer Kubernetes Controller To Manage Ingresses](#xposer-kubernetes-controller-to-manage-ingresses) -12. [Software-Defined IP Address Management (IPAM)](#software-defined-ip-address-management-ipam) -13. [CNI Container Networking Interface](#cni-container-networking-interface) - 1. [List of existing CNI Plugins (IPAM)](#list-of-existing-cni-plugins-ipam) - 2. [Project Calico](#project-calico) -14. [DNS Service with CoreDNS](#dns-service-with-coredns) -15. [Kubernetes Node Local DNS Cache](#kubernetes-node-local-dns-cache) -16. [k8gb](#k8gb) -17. [Videos](#videos) -18. [Tweets](#tweets) +2. [TCP Keep Alive Requests](#tcp-keep-alive-requests) +3. [NetworkPolicy](#networkpolicy) +4. [Nginx Ingress Controller](#nginx-ingress-controller) +5. [Contour Ingress Controller](#contour-ingress-controller) +6. [Kubernetes Gateway API](#kubernetes-gateway-api) +7. [Kube-proxy](#kube-proxy) +8. [Multicloud communication for Kubernetes](#multicloud-communication-for-kubernetes) +9. [Multi-Cluster Kubernetes Networking](#multi-cluster-kubernetes-networking) +10. [Kubernetes Network Policy](#kubernetes-network-policy) + 1. [Cilium](#cilium) + 2. [Kubernetes Network Policy Samples](#kubernetes-network-policy-samples) +11. [Kubernetes Ingress Specification](#kubernetes-ingress-specification) +12. [Xposer Kubernetes Controller To Manage Ingresses](#xposer-kubernetes-controller-to-manage-ingresses) +13. [Software-Defined IP Address Management (IPAM)](#software-defined-ip-address-management-ipam) +14. [CNI Container Networking Interface](#cni-container-networking-interface) + 1. [List of existing CNI Plugins (IPAM)](#list-of-existing-cni-plugins-ipam) + 2. [Project Calico](#project-calico) +15. [DNS Service with CoreDNS](#dns-service-with-coredns) +16. [Kubernetes Node Local DNS Cache](#kubernetes-node-local-dns-cache) +17. [k8gb](#k8gb) +18. [Images](#images) +19. [Videos](#videos) +20. [Tweets](#tweets) ## Introduction - [kubernetes.io: The Kubernetes network model. How to implement the Kubernetes networking model](https://kubernetes.io/docs/concepts/cluster-administration/networking/) - [ovh.com - getting external traffic into kubernetes: clusterip, nodeport, loadbalancer and ingress](https://www.ovh.com/blog/getting-external-traffic-into-kubernetes-clusterip-nodeport-loadbalancer-and-ingress/) -- [learnk8s.io: Load balancing and scaling long-lived connections in Kubernetes ๐ŸŒŸ](https://learnk8s.io/kubernetes-long-lived-connections) **Kubernetes doesn't load balance long-lived connections, and some Pods might receive more requests than others. If you're using HTTP/2, gRPC, etc. or any other long-lived connection, you might want to consider client-side load balancing** +- [==learnk8s.io: Load balancing and scaling long-lived connections in Kubernetes== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://learnk8s.io/kubernetes-long-lived-connections) **Kubernetes doesn't load balance long-lived connections, and some Pods might receive more requests than others. If you're using HTTP/2, gRPC, etc. or any other long-lived connection, you might want to consider client-side load balancing** - [stackrox.com: Kubernetes Networking Demystified: A Brief Guide](https://www.stackrox.com/post/2020/01/kubernetes-networking-demystified/) - [medium.com: Fighting Service Latency in Microservices With Kubernetes](https://medium.com/@sindhujacynixit/fighting-service-latency-in-microservices-with-kubernetes-f5a584f5af36) - [medium.com: Kubernetes NodePort vs LoadBalancer vs Ingress? When should I use what? ๐ŸŒŸ](https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0) @@ -107,7 +109,7 @@ - [==nginx.com: Kubernetes Networking 101==](https://www.nginx.com/blog/kubernetes-networking-101) - [medium.com/the-programmer: Working With ClusterIP Service Type In Kubernetes](https://medium.com/the-programmer/working-with-clusterip-service-type-in-kubernetes-45f2c01a89c8) Working with services in Kubernetes Using ClusterIP - [olamiko.medium.com: Technical Series: Kubernetes Networking](https://olamiko.medium.com/technical-series-kubernetes-networking-5a5dc3823163) -- [learnk8s.io: Tracing the path of network traffic in Kubernetes ๐ŸŒŸ](https://learnk8s.io/kubernetes-network-packets) +- [==learnk8s.io: Tracing the path of network traffic in Kubernetes== ๐ŸŒŸ](https://learnk8s.io/kubernetes-network-packets) - [==devopslearners.com: Kubernetes Ingress Tutorial For Beginners==](https://devopslearners.com/kubernetes-ingress-tutorial-for-beginners-26c2f7727bc) - https://devopscube.com/kubernetes-ingress-tutorial - [devopscube.com: How To Configure Ingress TLS/SSL Certificates in Kubernetes](https://devopscube.com/configure-ingress-tls-kubernetes/) - [armosec.io: Getting Started with Kubernetes Ingress | Ben Hirschberg](https://www.armosec.io/blog/kubernetes-ingress-beginners-guide/) @@ -117,7 +119,8 @@ - [medium.com/linux-shots: Kubernetes ingress as reverse proxy to Application running outside cluster](https://medium.com/linux-shots/kubernetes-ingress-as-reverse-proxy-to-application-running-outside-cluster-206b6003f9cb) This article demonstrates how to serve an application running outside Kubernetes as if it were part of the cluster by configuring the Ingress controller and using the ExternalName Service. - [medium.com/@zhaoyi0113: Kubernetes โ€” How does service network work in the cluster](https://medium.com/@zhaoyi0113/kubernetes-how-does-service-network-work-in-the-cluster-d235b69ff536) - [==medium.com/@pavanbelagatti: Kubernetes Service Types Explained== ๐ŸŒŸ](https://medium.com/@pavanbelagatti/kubernetes-service-types-explained-2709cde3bc0c) -- [==tkng.io/arch: THE KUBERNETES NETWORK MODEL== ๐ŸŒŸ๐ŸŒŸ](https://www.tkng.io/arch/) +- [==tkng.io: The Kubernetes Networking Guide== ๐ŸŒŸ๐ŸŒŸ](https://www.tkng.io/) The purpose of The Kubernetes networking guide is to provide an overview of various Kubernetes networking components with a specific focus on exactly how they implement the required functionality + - [==tkng.io/arch: THE KUBERNETES NETWORK MODEL== ๐ŸŒŸ๐ŸŒŸ](https://www.tkng.io/arch/) - [medium.com/stakater: Efficiently Expose Services on Kubernetes (part 1) ๐ŸŒŸ](https://medium.com/stakater/efficiently-expose-services-on-kubernetes-494a80f88aad) - [medium.com/stakater: Efficiently Expose Services on Kubernetes (part 2)](https://medium.com/stakater/efficiently-expose-services-on-kubernetes-part-2-c302f135f719) - [==platform9.com: Ultimate Guide to Kubernetes Ingress Controllers== ๐ŸŒŸ](https://platform9.com/blog/ultimate-guide-to-kubernetes-ingress-controllers/) @@ -125,19 +128,38 @@ - [medium.com/slalom-build: Managing Ingress Traffic on Kubernetes Platforms ๐ŸŒŸ](https://medium.com/slalom-build/managing-ingress-traffic-on-kubernetes-platforms-ebd537cdfb46) **Why you need an Ingress and how to pick the right one** - [craig-godden-payne.medium.com: How does ingress work in Kubernetes?](https://craig-godden-payne.medium.com/how-does-ingress-work-in-kubernetes-f3b121d0351f) And how to set up ingress in minikube - [dustinspecker.com: Kubernetes Networking from Scratch: Using BGP and BIRD to Advertise Pod Routes](https://dustinspecker.com/posts/kubernetes-networking-from-scratch-bgp-bird-advertise-pod-routes/) In this article, you will learn how Calico sets up pod routes between Kubernetes nodes. In this post, you won't use containers or pods. You'll learn by creating network namespaces and virtual ethernet devices manually. -- [home.robusta.dev: The ultimate guide to Kubernetes Services, LoadBalancers, and Ingress ๐ŸŒŸ](https://home.robusta.dev/blog/kubernetes-service-vs-loadbalancer-vs-ingress/) +- [==home.robusta.dev: The ultimate guide to Kubernetes Services, LoadBalancers, and Ingress== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://home.robusta.dev/blog/kubernetes-service-vs-loadbalancer-vs-ingress/) - [sanjimoh.medium.com: Demystifying Kubernetes Networking โ€” Episode 1](https://sanjimoh.medium.com/demystifying-kubernetes-networking-episode-1-ca5605a97f87) In this series of articles you will learn about Kubernetes networking: - Linux namespaces and Networking namespace - Intra pod networking & pause container - Kubernetes networking model - [==dev.to: Tune up your Kubernetes Application Performance with a small DNS Configuration==](https://dev.to/imjoseangel/tune-up-your-kubernetes-application-performance-with-a-small-dns-configuration-1o46) - [medium.com/@mehmetodabashi: Kubernetes networking and service object: Understanding ClusterIp and nodePort with hands on study](https://medium.com/@mehmetodabashi/kubernetes-networking-and-service-object-understanding-clusterip-and-nodeport-with-hands-on-study-90cfeaf66e8c) +- [medium.com/@jasonmfehr: Inspecting Kubernetes Client to API Server Network Traffic](https://medium.com/@jasonmfehr/inspecting-kubernetes-client-to-api-server-network-traffic-cd6d1802bb43) +- [medium.com/geekculture: K8s Network โ€” CNI Introduction](https://medium.com/geekculture/k8s-network-cni-introduction-b035d42ad68f) Introduction to K8s container network interface +- [medium.com/patilswapnilv: Getting Started with Kubernetes Networking ๐ŸŒŸ](https://medium.com/patilswapnilv/getting-started-with-kubernetes-networking-7e10623fc78f) +- [blog.devops.dev: How Ingress is Different from API Gateway in Kubernetes?](https://blog.devops.dev/understanding-ingress-and-api-gateway-in-kubernetes-488b78052076) Route traffic between microservices +- [==faun.pub: Kubernetes Ingress with Nginx==](https://faun.pub/kubernetes-ingress-with-nginx-3c77e703e91a) How to install and secure Nginx Ingress +- [==towardsdatascience.com: Kubernetes Ingress Explained==](https://towardsdatascience.com/kubernetes-ingress-explained-1aeadb30f273) A Practical Introduction Of Ingress With TLS Certificates. In practical terms, an Ingress acts as some form of a controlled traffic routing link between the services deployed in a Kubernetes cluster and external users or clients. In this guide, you'll find a practical introduction to the ingress with TLS +- [medium.com/codex: Access Application Externally In Kubernetes Cluster using Load Balancer Service](https://medium.com/codex/access-application-externally-in-kubernetes-cluster-using-load-balancer-service-d1b7858d51) Learn how to create a Pod and how to create a Load Balancer service using Kubernetes cluster. And access the application from outside. +- [itnext.io: Inspecting and Understanding k8s Service Network ๐ŸŒŸ](https://itnext.io/inspecting-and-understanding-service-network-dfd8c16ff2c5) +- [ovidiuborlean.medium.com: Networking latency measurement in Kubernetes with Sockperf plugin](https://ovidiuborlean.medium.com/networking-latency-measurement-in-kubernetes-with-sockperf-plugin-68283a0ed989) +- [itnext.io: Kubernetes networking deep dive: Did you make the right choice?](https://itnext.io/kubernetes-network-deep-dive-7492341e0ab5) Kubernetes networking design can be intimidating, especially when you are the one to make decisions for cluster-level network choices. In this session, we will discuss how these choices will affect cluster routing and load balancing, focusing on KubeProxy modes(iptables vs IPVS) and network solutions. +- [medium.com/@muhidabid.cs: Why does Kubernetes need Ingress?](https://medium.com/@muhidabid.cs/why-does-kubernetes-need-ingress-73d969fb6ffe) - [muhidabid.hashnode.dev: Why does Kubernetes need Ingress?](https://muhidabid.hashnode.dev/why-does-kubernetes-need-ingress) +- [blog.devgenius.io: K8s โ€” ipvs Mode Introduction](https://blog.devgenius.io/k8s-ipvs-mode-introduction-6457a02cd91a) +- [==edureka.co: Kubernetes Networking โ€“ A Comprehensive Guide To The Networking Concepts In Kubernetes==](https://www.edureka.co/blog/kubernetes-networking/) +- [whyk8s.substack.com: Why not DNS?](https://whyk8s.substack.com/p/why-not-dns) Why is KubeProxy necessary? Couldn't simple DNS records do the job? You do a DNS lookup on my-service in Kubernetes. You do NOT get back IPs for pods that provide that Service. Have you ever wondered why? + +## TCP Keep Alive Requests + +- [kuderko.medium.com: Fixing bad CPU usage distribution in Kubernetes](https://kuderko.medium.com/fixing-bad-cpu-usage-distribution-in-kubernetes-e1e43ed87cd6) ## NetworkPolicy - [opensource.com: What you need to know about Kubernetes NetworkPolicy](https://opensource.com/article/21/10/kubernetes-networkpolicy) Understanding Kubernetes NetworkPolicy is one of the fundamental requirements to learn before deploying an application to Kubernetes. - [itnext.io: CKAD Scenarios about Ingress and NetworkPolicy](https://itnext.io/ckad-scenarios-about-ingress-and-networkpolicy-155ce958c9ce) In-Browser CKAD Scenarios about Ingress and NetworkPolicies. - [==editor.cilium.io== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://editor.cilium.io) **For learning, you can use the amazing NetworkPolicy Editor at cilium.** +- [whyk8s.substack.com: Why NetworkPolicies?](https://whyk8s.substack.com/p/why-networkpolicies) Is Kubernetes networking insecure by default? Why was it built that way? ## Nginx Ingress Controller @@ -148,16 +170,19 @@ - [amy-ma.medium.com: Nginx Ingress Configuration](https://amy-ma.medium.com/ingress-configuration-d9f13c5bcf1a) Configure NGINX basic routing with TLS on HPCC. This tutorial provides steps on how to set up basic routing for ECLWatch with the NGINX Ingress controller and configure certificates using Cert-Manager. - [devopscube.com: How to Setup Nginx Ingress Controller On Kubernetes โ€“ Detailed Guide ๐ŸŒŸ](https://devopscube.com/setup-ingress-kubernetes-nginx-controller/) - [medium.com/@jonathan_37674: How to secure Kubernetes ingress? | By ARMO](https://medium.com/@jonathan_37674/how-to-secure-kubernetes-ingress-by-armo-cb86086ec540) +- [nginx.com: Automating Multi-Cluster DNS with NGINX Ingress Controller](https://www.nginx.com/blog/automating-multi-cluster-dns-with-nginx-ingress-controller) ## Contour Ingress Controller - [trstringer.com: Kubernetes Ingress with Contour](https://trstringer.com/kubernetes-ingress-with-contour/) -## Gateway API +## Kubernetes Gateway API -- [gateway-api.sigs.k8s.io ๐ŸŒŸ](https://gateway-api.sigs.k8s.io/) Gateway API is an open source project managed by the SIG-NETWORK community. It's is a collection of resources that model service networking in Kubernetes. These resources - GatewayClass,Gateway, HTTPRoute, TCPRoute, Service, etc - aim to evolve Kubernetes service networking through expressive, extensible, and role-oriented interfaces that are implemented by many vendors and have broad industry support. +- [==gateway-api.sigs.k8s.io== ๐ŸŒŸ](https://gateway-api.sigs.k8s.io/) Gateway API is an open source project managed by the SIG-NETWORK community. It's is a collection of resources that model service networking in Kubernetes. These resources - GatewayClass,Gateway, HTTPRoute, TCPRoute, Service, etc - aim to evolve Kubernetes service networking through expressive, extensible, and role-oriented interfaces that are implemented by many vendors and have broad industry support. - [kubernetes.io: Evolving Kubernetes networking with the Gateway API](https://kubernetes.io/blog/2021/04/22/evolving-kubernetes-networking-with-the-gateway-api/) - [thenewstack.io: Unifying Kubernetes Service Networking (Again) with the Gateway API ๐ŸŒŸ](https://thenewstack.io/unifying-kubernetes-service-networking-again-with-the-gateway-api/) The [Gateway API](https://gateway-api.sigs.k8s.io/), formerly known as the Services API and before that Ingress V2, was first discussed in detail โ€” and in-person โ€” at Kubecon 2019 in San Diego. There were already many well-known and [well-documented](https://dave.cheney.net/paste/ingress-is-dead-long-live-ingressroute.pdf) limitations of Ingress and Kubernetes networking APIs. The [Gateway API](https://www.youtube.com/watch?v=GiFQNevrxYA) was intended as a redo of these APIs, built on the lessons from Services, Ingress and the service mesh community. +- [blog.flomesh.io: Kubernetes Gateway API โ€” Evolution of Service Networking](https://blog.flomesh.io/kubernetes-gateway-api-evolution-of-service-networking-aa76ec4efa7e) +- [==armosec.io: The New Kubernetes Gateway API and Its Use Cases==](https://www.armosec.io/blog/kubernetes-gateway-api/) ## Kube-proxy @@ -205,6 +230,7 @@ Cilium allows users to specify an egress NAT policy - [medium.com/@charled.breteche: Kubernetes Security โ€” Control pod to pod communications with Cilium network policies](https://medium.com/@charled.breteche/kubernetes-security-control-pod-to-pod-communications-with-cilium-network-policies-d7275b2ed378) In this article, you'll explore Cilium network policies and how you can use them to control pod to pod communications on a 3 nodes and 3 masters cluster. You will also use Hubble to visualise the effect of the network policies in your cluster. - [solo.io: Exploring Cilium Layer 7 Capabilities Compared to Istio](https://www.solo.io/blog/exploring-cilium-layer-7-capabilities-compared-to-istio/) +- [betterprogramming.pub: K8s: Network Policy Made Simple With Cilium Editor ๐ŸŒŸ](https://betterprogramming.pub/k8s-network-policy-made-simple-with-cilium-editor-a5b55781291c) An intuitive graphical tool to define complex network policies
@@ -280,13 +306,16 @@ Cilium allows users to specify an egress NAT policy - You can lock down who can deploy security policies. If you lock it down to only a single Git user, that will be easy to control. Everybody else can push their policy changes into Git via pull request. - Your GitOps tool can ensure that it will override any accidental or malicious change at runtime. This solves a major compliance concern. Git becomes the source of truth for your security policies. - It would be much easier to manage if no user could create a security policy from kubectl. Then you can enable de-centralized security by creating specific users for different services, and giving them rights to deploy only specific policies. Developers and DevOps teams are very comfortable with the notion of a Git pipeline. +- [blog.devgenius.io: K8s Networking โ€” Calico (Part1)](https://blog.devgenius.io/k8s-networking-calico-part1-7f74395b6fe2) Introduction to Calico. ## DNS Service with CoreDNS - [medium: How to Autoscale the DNS Service in a Kubernetes Cluster](https://medium.com/faun/how-to-autoscale-the-dns-service-in-a-kubernetes-cluster-cbb46ae89678) - [thenewstack.io: Supercharge CoreDNS with Cluster Addons ๐ŸŒŸ](https://thenewstack.io/supercharge-coredns-with-cluster-addons/) - [sysdig.com: How to monitor coreDNS ๐ŸŒŸ](https://sysdig.com/blog/how-to-monitor-coredns/) The most common problems and outages in a Kubernetes cluster come from coreDNS, so learning how to monitor coreDNS is crucial. -- [ungleich.ch: Making kubernetes kube-dns/CoreDNS publicly reachable](https://ungleich.ch/u/blog/kubernetes-making-dns-publicly-reachable/) +- [ungleich.ch: Making kubernetes kube-dns/CoreDNS publicly reachable](https://ungleich.ch/u/blog/kubernetes-making-dns-publicly-reachable/) +- [iamitcohen.medium.com: DNS in Kubernetes, how does it work?](https://iamitcohen.medium.com/dns-in-kubernetes-how-does-it-work-7c4690fd813e) +- [nslookup.io: The life of a DNS query in Kubernetes](https://www.nslookup.io/learning/the-life-of-a-dns-query-in-kubernetes/) ## Kubernetes Node Local DNS Cache @@ -295,9 +324,17 @@ Cilium allows users to specify an egress NAT policy ## k8gb -- [k8gb.io](https://www.k8gb.io) A cloud native Kubernetes Global Balancer +- [k8gb.io](https://www.k8gb.io) A cloud native Kubernetes Global Balancer - [blog.abaganon.com: Why you probably wonโ€™t use K8gb.io](https://blog.abaganon.com/going-global-with-kubernetes-490cf51e2bf8) This article covers the 2 kinds of Global Server Load Balancers and goes into some hands-on specifics of K8gb โ€” the first open-source DNS-based Global Server Load balancer for Kubernetes. +## Images + +??? note "Click to expand!" + +
+ [![k8s service types img](images/k8s_service_types_matrix.png)](https://home.robusta.dev/blog/kubernetes-service-vs-loadbalancer-vs-ingress) +
+ ## Videos ??? note "Click to expand!" @@ -324,5 +361,7 @@ Cilium allows users to specify an egress NAT policy + +
\ No newline at end of file diff --git a/docs/kubernetes-on-premise.md b/docs/kubernetes-on-premise.md index a76062eb..c09ae267 100644 --- a/docs/kubernetes-on-premise.md +++ b/docs/kubernetes-on-premise.md @@ -18,23 +18,26 @@ 16. [Zarf. DevSecOps for Air Gap Systems](#zarf-devsecops-for-air-gap-systems) 17. [Kubernetes Operating Systems](#kubernetes-operating-systems) 18. [Kubernetes Distributions](#kubernetes-distributions) - 1. [Red Hat OpenShift](#red-hat-openshift) - 2. [Rancher](#rancher) - 3. [Weave Kubernetes Platform](#weave-kubernetes-platform) - 4. [Ubuntu Charmed Kubernetes](#ubuntu-charmed-kubernetes) - 5. [VMware Kubernetes Tanzu and Project Pacific](#vmware-kubernetes-tanzu-and-project-pacific) - 1. [KubeAcademy Pro (free training)](#kubeacademy-pro-free-training) - 6. [Kontena Pharos](#kontena-pharos) - 7. [Mirantis Docker Enterprise with Kubernetes and Docker Swarm](#mirantis-docker-enterprise-with-kubernetes-and-docker-swarm) - 8. [Mirantis k0s](#mirantis-k0s) - 9. [K0s](#k0s) - 10. [K8e](#k8e) - 11. [Typhoon](#typhoon) + 1. [Red Hat OpenShift](#red-hat-openshift) + 2. [Rancher](#rancher) + 3. [Weave Kubernetes Platform](#weave-kubernetes-platform) + 4. [Ubuntu Charmed Kubernetes](#ubuntu-charmed-kubernetes) + 5. [VMware Kubernetes Tanzu and Project Pacific](#vmware-kubernetes-tanzu-and-project-pacific) + 1. [KubeAcademy Pro (free training)](#kubeacademy-pro-free-training) + 6. [Kontena Pharos](#kontena-pharos) + 7. [Mirantis Docker Enterprise with Kubernetes and Docker Swarm](#mirantis-docker-enterprise-with-kubernetes-and-docker-swarm) + 8. [Mirantis k0s](#mirantis-k0s) + 9. [K0s](#k0s) + 10. [K8e](#k8e) + 11. [Typhoon](#typhoon) + 12. [kurl](#kurl) ## Introduction - [containerjournal.com: Deploying Kubernetes on Bare Metal](https://containerjournal.com/features/deploying-kubernetes-on-bare-metal/) - [thenewstack.io: Kubernetes on Bare Metal vs. VMs: Itโ€™s Not Just Performance](https://thenewstack.io/kubernetes-on-bare-metal-vs-vms-its-not-just-performance/) +- [containerjournal.com: When Kubernetes-as-a-Service Doesnโ€™t Cut It](https://containerjournal.com/features/when-kubernetes-as-a-service-doesnt-cut-it/) + ## Comparative Analysis of Kubernetes Deployment Tools - [A Comparative Analysis of Kubernetes Deployment Tools: Kubespray, kops, and conjure-up](https://www.altoros.com/research-papers/a-comparative-analysis-of-kubernetes-deployment-tools-kubespray-kops-and-conjure-up-2/) @@ -81,6 +84,7 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops - [thenewstack.io: How to Deploy Kubernetes with Kubeadm and containerd](https://thenewstack.io/how-to-deploy-kubernetes-with-kubeadm-and-containerd/) - [faun.pub: Configuring HA Kubernetes cluster on bare metal servers with kubeadm. 1/3](https://faun.pub/configuring-ha-kubernetes-cluster-on-bare-metal-servers-with-kubeadm-1-2-1e79f0f7857b) In this article, you'll create a HA Kubernetes cluster with multi masters topology, with an external Etcd cluster as a base layer and a MetalLB load balancer. On all worker nodes, you'll deploy a GlusterFS for storage. - [blog.learncodeonline.in: Kubernetes Cluster Deployment on CentOS Linux](https://blog.learncodeonline.in/kubernetes-cluster-deployment-on-centos-linux) +- [github.com/kubernetes/kubeadm: High Availability Considerations](https://github.com/kubernetes/kubeadm/blob/main/docs/ha-considerations.md) ## Deploying Kubernetes Cluster with Ansible @@ -101,6 +105,7 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops - [adamtheautomator.com/kubespray: Conquer Kubernetes Clusters with Ansible Kubespray](https://adamtheautomator.com/kubespray/) - Manually deploying Kubernetes can be challenging for administrators, especially on bare-metal infrastructure deployment. Luckily, there is an automation tool for deploying production-ready Kubernetes called Kubespray. - Kubespray is an Ansible Playbook for deploying Kubernetes Cluster and provides a High Availability cluster, composable attributes, components, and supports multiple Linux distributions. Kubespray also supports cloud services like AWS, GCE, and Azure. +- [github.com/bluxmit: Kubespray Workspace](https://github.com/bluxmit/alnoda-workspaces/tree/main/workspaces/kubespray-workspace) Containerized development, execution and admin environment for Kubernetes, Ansible and Terraform. ## Conjure up @@ -173,6 +178,13 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops ## Kubernetes Distributions - [acloudguru.com: Which Kubernetes distribution is right for you?](https://acloudguru.com/blog/engineering/which-kubernetes-distribution-is-right-for-you) +- [infoworld.com: 6 Kubernetes distributions leading the container revolution](https://www.infoworld.com/article/3265059/6-kubernetes-distributions-leading-the-container-revolution.html) + - OpenShift + - VMware Tanzu Grid + - Rancher Kubernetes Engine + - Mirantis Kubernetes Engine + - Docker + - Canonical Kubernetes ### Red Hat OpenShift @@ -251,3 +263,7 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops ### Typhoon - [poseidon/typhoon](https://github.com/poseidon/typhoon) **Typhoon is a minimal and free Kubernetes distribution with Terraform.*- [typhoon.psdn.io](https://typhoon.psdn.io/) + +### kurl + +- [kurl.sh](https://kurl.sh/) kURL is a Kubernetes installer for air-gapped and online clusters. kURL relies on kubeadm but automates tasks such as installing the container runtime, configuring pod networking, etc., so any user can deploy a Kubernetes cluster with a single script. diff --git a/docs/kubernetes-operators-controllers.md b/docs/kubernetes-operators-controllers.md index 9b85bfd7..86a59a57 100644 --- a/docs/kubernetes-operators-controllers.md +++ b/docs/kubernetes-operators-controllers.md @@ -118,6 +118,21 @@ - Use `subPath` while mounting a ConfigMap or Secret - Use Projected Volumes - [==faun.pub: A Definitive guide to Kubernetes Operator โ€” The crawl!==](https://faun.pub/a-definitive-guide-to-kubernetes-operator-the-crawl-7647b278c28b) +- [github.com/furiko-io/furiko](https://github.com/furiko-io/furiko) Cloud-native, enterprise-level cron job platform for Kubernetes. Furiko is a Kubernetes-native operator for managing, scheduling and executing scheduled and ad-hoc jobs and workflows. It aims to be a general-purpose job platform that supports various use cases, including cron jobs, batch processing, etc. +- [paul-the-kelly.medium.com: Extending the Kubernetes API using Operators](https://paul-the-kelly.medium.com/extending-the-kubernetes-api-using-operators-9ffc8364ae5c) This article is aimed at developers already familiar with Kubernetes, and who are interested in extending the capabilities of a Kubernetes cluster. +- [github.com/DevOps-Nirvana: Kubernetes Volume / Disk Autoscaler (via Prometheus)](https://github.com/DevOps-Nirvana/Kubernetes-Volume-Autoscaler) + - This repository contains a Kubernetes controller that automatically increases the size of a Persistent Volume Claim in Kubernetes when it is nearing full. Initially engineered based on AWS EKS, this should support any Kubernetes cluster or cloud provider which supports dynamically hot-resizing storage volumes in Kubernetes. + - Keeping your volumes at a minimal size can help reduce cost, but having to manually scale them up can be painful and a waste of time for an DevOps / Systems Administrator. This is often used on storage volumes against things in Kubernetes such as Prometheus, MySQL, Redis, RabbitMQ, or any other stateful service. +- [borchero/switchboard: Switchboard](https://github.com/borchero/switchboard) Kubernetes Operator for Automatically Issuing DNS Records and TLS Certificates for Traefik Ingress Routes. +- [scylladb/scylla-operator](https://github.com/scylladb/scylla-operator) Scylla Operator is a Kubernetes Operator for managing and automating tasks related to managing Scylla clusters +- [==faun.pub: Kubernetes Controllers, Custom Resources, and Operators Explained==](https://faun.pub/kubernetes-controllers-custom-resources-and-operators-explained-8e92f46829f6) + - This article will dive deep into one of Kubernetesโ€™ core concepts โ€” Controllers, Kubernetes API, CRDs, and Operators. + - This 4-part series covers: + - Kubernetes controllers, Custom Resources, and operators + - Building Kubernetes operators + - Testing Kubebuilder operators + - Deploying Kubebuilder operators to Kubernetes +- [coderanger/migrations-operator: Migrations-Operator](https://github.com/coderanger/migrations-operator) A Kubernetes operator to manage database migrations or similar application setup tasks. ## Creating Kubernetes operator using Kubebuilder diff --git a/docs/kubernetes-releases.md b/docs/kubernetes-releases.md index 0f0105a4..e42bb2c9 100644 --- a/docs/kubernetes-releases.md +++ b/docs/kubernetes-releases.md @@ -52,6 +52,15 @@ - [kubernetes.io: Kubernetes Removals and Major Changes In 1.25](https://kubernetes.io/blog/2022/08/04/upcoming-changes-in-kubernetes-1-25/) - [sysdig.com: Kubernetes 1.25 โ€“ Whatโ€™s new?](https://sysdig.com/blog/kubernetes-1-25-whats-new/) - [kubernetes.io: Kubernetes v1.25: Combiner](https://kubernetes.io/blog/2022/08/23/kubernetes-v1-25-release/) Announcing the release of Kubernetes v1.25! ๐Ÿš€ This release includes a total of 40 enhancements. 15 of those are entering Alpha, 10 are graduating to Beta, and 13 are graduating to Stable. We also have two features being deprecated or removed. -- [kubernetes.io: PodSecurityPolicy: The Historical Context ๐ŸŒŸ](https://kubernetes.io/blog/2022/08/23/podsecuritypolicy-the-historical-context/) PodSecurityPolicy (PSP) admission controller has been removed as of Kubernetes v1.25. This blog shares some historical context and why it has been replaced by Pod Security admission control. +- [kubernetes.io: PodSecurityPolicy: The Historical Context ๐ŸŒŸ](https://kubernetes.io/blog/2022/08/23/podsecuritypolicy-the-historical-context/) PodSecurityPolicy (PSP) admission controller has been removed as of Kubernetes v1.25. This blog shares some historical context and why it has been replaced by Pod Security admission control. - [macchaffee.com: The Fumbled Deprecation of PodSecurityPolicies](https://www.macchaffee.com/blog/2022/psp-deprecation/) In this article, you will learn why PodSecurityPolicies never made it as a GA feature, why they had to be replaced and what you should consider going forward. - [datree.io: EKS 1.22 Upgrade Tutorial](https://datree.io/resources/eks-1-22-upgrade-tutorial) +- [kubernetes.io: registry.k8s.io: faster, cheaper and Generally Available (GA)](https://kubernetes.io/blog/2022/11/28/registry-k8s-io-faster-cheaper-ga/) Starting with Kubernetes 1.25, our container image registry has changed from k8s.gcr.io to [registry.k8s.io](https://registry.k8s.io/). This new registry spreads the load across multiple Cloud Providers & Regions, functioning as a sort of content delivery network (CDN) for Kubernetes container images. This change reduces the projectโ€™s reliance on a single entity and provides a faster download experience for a large number of users. +- [sysdig.com: Kubernetes 1.26 โ€“ Whatโ€™s new?](https://sysdig.com/blog/kubernetes-1-26-whats-new/) +- [armosec.io: Kubernetes Version 1.26: Everything You Should Know](https://www.armosec.io/blog/kubernetes-1-26-everything-you-should-know/) +- [kubernetes.io: Kubernetes 1.26: Non-Graceful Node Shutdown Moves to Beta](https://kubernetes.io/blog/2022/12/16/kubernetes-1-26-non-graceful-node-shutdown-beta/) +- [kubernetes.io: Kubernetes 1.26: Support for Passing Pod fsGroup to CSI Drivers At Mount Time](https://kubernetes.io/blog/2022/12/23/kubernetes-12-06-fsgroup-on-mount/) +- [kubernetes.io: Kubernetes 1.26: Pod Scheduling Readiness](https://kubernetes.io/blog/2022/12/26/pod-scheduling-readiness-alpha/) Very interesting use case dealing with ResourceQuota; if a new Pod exceeds the CPU quota, it gets rejected. Now you can avoid this and build your queue or scale on demand using scheduling gates. +- [kubernetes.io: Kubernetes v1.26: CPUManager goes GA](https://kubernetes.io/blog/2022/12/27/cpumanager-ga/) +- [itnext.io: Unleashing the Power of Kubernetes 1.26: Exploring the New ValidatingAdmissionPolicy Feature with CEL](https://itnext.io/unleashing-the-power-of-kubernetes-1-26-56979ee667fd) +- [kubernetes.io: Kubernetes 1.26: Job Tracking, to Support Massively Parallel Batch Workloads, Is Generally Available](https://kubernetes.io/blog/2022/12/29/scalable-job-tracking-ga/) diff --git a/docs/kubernetes-security.md b/docs/kubernetes-security.md index 607580ac..632cd21a 100644 --- a/docs/kubernetes-security.md +++ b/docs/kubernetes-security.md @@ -1,32 +1,34 @@ # Kubernetes Security 1. [Introduction](#introduction) -2. [Security Checklist](#security-checklist) -3. [NSA National Security Agent Kubernetes Hardening Guidance](#nsa-national-security-agent-kubernetes-hardening-guidance) -4. [CIS Benchmarks and CIS Operator](#cis-benchmarks-and-cis-operator) -5. [User and Workload identities in Kubernetes](#user-and-workload-identities-in-kubernetes) -6. [Service Accounts](#service-accounts) -7. [Kubernetes Secrets](#kubernetes-secrets) -8. [Encrypting the certificate for Kubernetes. SSL certificates with Let's Encrypt in Kubernetes Ingress via cert-manager](#encrypting-the-certificate-for-kubernetes-ssl-certificates-with-lets-encrypt-in-kubernetes-ingress-via-cert-manager) -9. [Kubernetes OpenID Connect OIDC](#kubernetes-openid-connect-oidc) -10. [RBAC and Access Control](#rbac-and-access-control) - 1. [Tools](#tools) -11. [Kubernetes and LDAP](#kubernetes-and-ldap) -12. [Admission Control](#admission-control) -13. [Kubernetes Security Best Practices](#kubernetes-security-best-practices) -14. [Kubernetes Authentication and Authorization](#kubernetes-authentication-and-authorization) - 1. [Kubernetes Authentication Methods](#kubernetes-authentication-methods) - 2. [X.509 client certificates](#x509-client-certificates) - 3. [Static HTTP Bearer Tokens](#static-http-bearer-tokens) - 4. [OpenID Connect](#openid-connect) - 5. [Implementing a custom Kubernetes authentication method](#implementing-a-custom-kubernetes-authentication-method) -15. [Pod Security Policies (SCCs - Security Context Constraints in OpenShift)](#pod-security-policies-sccs---security-context-constraints-in-openshift) -16. [Security Profiles Operator](#security-profiles-operator) -17. [EKS Security](#eks-security) -18. [CVE](#cve) - 1. [Official Kubernetes CVE Feed](#official-kubernetes-cve-feed) -19. [Videos](#videos) -20. [Tweets](#tweets) +2. [Kubernetes Security Scanners](#kubernetes-security-scanners) +3. [Security Checklist](#security-checklist) +4. [Exposed Kubernetes Clusters](#exposed-kubernetes-clusters) +5. [NSA National Security Agent Kubernetes Hardening Guidance](#nsa-national-security-agent-kubernetes-hardening-guidance) +6. [CIS Benchmarks and CIS Operator](#cis-benchmarks-and-cis-operator) +7. [User and Workload identities in Kubernetes](#user-and-workload-identities-in-kubernetes) +8. [Service Accounts](#service-accounts) +9. [Kubernetes Secrets](#kubernetes-secrets) +10. [Kubernetes Cert-Manager. Encrypting the certificate for Kubernetes. SSL certificates with Let's Encrypt in Kubernetes Ingress via cert-manager](#kubernetes-cert-manager-encrypting-the-certificate-for-kubernetes-ssl-certificates-with-lets-encrypt-in-kubernetes-ingress-via-cert-manager) +11. [Kubernetes OpenID Connect OIDC](#kubernetes-openid-connect-oidc) +12. [RBAC and Access Control](#rbac-and-access-control) + 1. [Tools](#tools) +13. [Kubernetes and LDAP](#kubernetes-and-ldap) +14. [Admission Control](#admission-control) +15. [Kubernetes Security Best Practices](#kubernetes-security-best-practices) +16. [Kubernetes Authentication and Authorization](#kubernetes-authentication-and-authorization) + 1. [Kubernetes Authentication Methods](#kubernetes-authentication-methods) + 2. [X.509 client certificates](#x509-client-certificates) + 3. [Static HTTP Bearer Tokens](#static-http-bearer-tokens) + 4. [OpenID Connect](#openid-connect) + 5. [Implementing a custom Kubernetes authentication method](#implementing-a-custom-kubernetes-authentication-method) +17. [Pod Security Policies (SCCs - Security Context Constraints in OpenShift)](#pod-security-policies-sccs---security-context-constraints-in-openshift) +18. [Security Profiles Operator](#security-profiles-operator) +19. [EKS Security](#eks-security) +20. [CVE](#cve) + 1. [Official Kubernetes CVE Feed](#official-kubernetes-cve-feed) +21. [Videos](#videos) +22. [Tweets](#tweets) ## Introduction @@ -64,10 +66,6 @@ - [cyberark.com: Attacking Kubernetes Clusters Through Your Network Plumbing: Part 1](https://www.cyberark.com/resources/threat-research-blog/attacking-kubernetes-clusters-through-your-network-plumbing-part-1?utm_sq=goa40uvlx1) - [redkubes.com: 10 Kubernetes Security Risks & Best Practices](https://redkubes.com/10-kubernetes-security-risks-best-practices/) - [thenewstack.io: Defend the Core: Kubernetes Security at Every Layer](https://thenewstack.io/defend-the-core-kubernetes-security-at-every-layer/) -- [techmanyu.com: Kubernetes Security with Kube-bench and Kube-hunter ๐ŸŒŸ](https://www.techmanyu.com/kubernetes-security-with-kube-bench-and-kube-hunter-6765bf44ebc6) - - [kube-bench ๐ŸŒŸ](https://github.com/aquasecurity/kube-bench) Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark - - [kube-hunter ๐ŸŒŸ](https://github.com/aquasecurity/kube-hunter) Hunt for security weaknesses in Kubernetes clusters - - [k21academy.com: Secure and Harden Kubernetes, AKS and EKS Cluster with kube-bench, kube-hunter and CIS Benchmarks ๐ŸŒŸ](https://k21academy.com/docker-kubernetes/kubernetes-security/kube-bench-cis/) - [Analyze Kubernetes Audit logs using Falco ๐ŸŒŸ](https://github.com/developer-guy/falco-analyze-audit-log-from-k3s-cluster) Detect intrusions that happened in your Kubernetes cluster through audit logs using Falco - [blog.kasten.io: Kubernetes Ransomware Protection with Kasten K10 v4.0](https://blog.kasten.io/ransomware-protection-kasten-k10-v4) - [helpnetsecurity.com: Kubestriker: A security auditing tool for Kubernetes clusters ๐ŸŒŸ](https://www.helpnetsecurity.com/2021/05/04/security-kubernetes/) Kubestriker is an open-source, platform-agnostic tool for identifying security misconfigurations in Kubernetes clusters. @@ -102,7 +100,6 @@ - [==peoplactive.com: Kubernetes and Container Security Checklist to Build Secure Apps==](https://peoplactive.com/kubernetes-security-best-practices/) - [venturebeat.com: Kubernetes security will have a breakout year in 2022](https://venturebeat.com/2021/12/27/kubernetes-security-will-have-a-breakout-year-in-2022/) - [==medium: Comparing Kubernetes Security Frameworks and Guidance== ๐ŸŒŸ](https://medium.com/@jonathan_37674/comparing-kubernetes-security-frameworks-and-guidance-f1c2821ea733) Comparing popular Kubernetes security and compliance frameworks, how they differ, when to use, common goals, and suggested tools. -- [==aninditabasak.medium.com: A Lap around Kubernetes Security & Vulnerability scanning Tools โ€” checkov, kube-hunter, kube-bench & Starboard==](https://aninditabasak.medium.com/a-lap-around-kubernetes-security-vulnerability-scanning-tools-checkov-kube-hunter-kube-bench-4ffda92c4cf1) - [==blog.gitguardian.com: Hardening Your Kubernetes Cluster - Threat Model (Pt. 1)== ๐ŸŒŸ](https://blog.gitguardian.com/hardening-your-k8-pt-1/) The NSA and CISA recently released a guide on Kubernetes hardening. We'll cover this guide in a three part series. First, let's explore the Threat Model and how it maps to K8s components. - [==blog.gitguardian.com: Hardening Your Kubernetes Cluster - Guidelines (Pt. 2)== ๐ŸŒŸ](https://blog.gitguardian.com/hardening-your-k8s-pt-2/) In this second episode, we will go through the NSA/CISA security recommendations and explain every piece of the guidelines. - [blog.devgenius.io: How is security managed in Kubernetes clusters?](https://blog.devgenius.io/how-is-security-managed-in-kubernetes-clusters-addefffd2b0) Best practices for managing security in Kubernetes at various layers @@ -120,8 +117,6 @@ - persist the attack with invisible pods and fileless executions - [mattermost.com: The Top 7 Open Source Tools for Securing Your Kubernetes Cluster](https://mattermost.com/blog/the-top-7-open-source-tools-for-securing-your-kubernetes-cluster/) - [==infoworld.com: 10 steps to automating security in Kubernetes pipelines==](https://www.infoworld.com/article/3545337/10-steps-to-automating-security-in-kubernetes-pipelines.html) DevOps teams donโ€™t need to sacrifice the speed of containerized development if they know what can be automated, why itโ€™s important, and how to do it. -- [towardsdatascience.com: How to Secure your Kubernetes Deployment ๐ŸŒŸ](https://towardsdatascience.com/how-to-secure-your-kubernetes-deployment-5f52c2b67c1) It takes 20 years to build a reputation and few minutes of cyber-incident to ruin it. โ€” Stephane Nappo. Kubernetes deployments are not safe by default and you should go the extra mile and secure the gates. Fortunately, tools like **kube-bench** let us focus our attention on specific areas of the cluster. -- [==blog.flant.com: Kubernetes cluster security assessment with kube-bench and kube-hunter==](https://blog.flant.com/kubernetes-security-with-kube-bench-and-kube-hunter/) - [developers.redhat.com: Secure your Kubernetes deployments with eBPF](https://developers.redhat.com/articles/2021/12/16/secure-your-kubernetes-deployments-ebpf) Learn how to use eBPF and the Security Profiles Operator to automatically generate seccomp profiles, a Linux kernel security feature for Kubernetes - [tutorialboy24.medium.com: A Detailed Brief About Offence and Defence on Cloud Security โ€” Etcd Risks](https://tutorialboy24.medium.com/a-detailed-brief-about-offence-and-defence-on-cloud-security-etcd-risks-9fb6ab0704a1) In this article, you will explore several scenarios on how to attack etcd in Kubernetes to gain access to its data. You will cover: - Etcd localhost port access due to SSRF vulnerability @@ -134,16 +129,45 @@ - [elastisys.com: Why and how should you reboot Kubernetes Nodes? ๐ŸŒŸ](https://elastisys.com/why-and-how-should-you-reboot-kubernetes-nodes/) Regularly rebooting Kubernetes Nodes is necessary for a healthy security posture. In this article, you will learn how you can reboot your Nodes securely, when and how to avoid common mistakes that could cause downtime (i.e. PodDisruptionBugdets) - [levelup.gitconnected.com: The Core of Kubernetes Security: Clusters](https://levelup.gitconnected.com/the-core-of-kubernetes-security-clusters-5d9a69f1dba4) - [sysdig.com: How attackers use exposed Prometheus server to exploit Kubernetes clusters | Miguel Hernรกndez](https://sysdig.com/blog/exposed-prometheus-exploit-kubernetes-kubeconeu/) What happens if an attacker accesses your Prometheus server? How much information can they get for fingerprinting the cluster? In this article, you will learn how attackers use this information and how to secure your cluster. +- [==cast.ai: Kubernetes Security: 10 Best Practices from the Industry and Community== ๐ŸŒŸ](https://cast.ai/blog/kubernetes-security-10-best-practices/) +- [thenewstack.io: Basic Principles Key to Securing Kubernetesโ€™ Future](https://thenewstack.io/key-basic-principles-to-secure-kubernetes-future/) Once these capabilities have been established, Ops teams can begin to look further afield and explore leveraging the value of their data through activities like testing and optimization. +- [medium.com/@codingkarma: Kubernetes Goat Part-1](https://medium.com/@codingkarma/kubernetes-goat-part-1-8718b1345a42) In this article, you will learn how to attack and defend a Kubernetes cluster by solving the challenges of Kubernetes goat โ€” an intentionally vulnerable cluster environment to learn and practice Kubernetes security +- [==medium.com/@badawekoo: Limit number of processes running in a Kubernetes pod==](https://medium.com/@badawekoo/limit-number-of-processes-running-in-a-kubernetes-pod-50ccf156ec18) When it comes to Kubernetes security, It is very important to harden the core components of the cluster which are pods, and limit the risks that can be originated from inside the pods. Thatโ€™s why limiting number of processes that can run inside a pod will limit any vulnerabilities in your cluster. +- [copado.com: Applying a Zero Trust Infrastructure in Kubernetes](https://www.copado.com/devops-hub/blog/applying-a-zero-trust-infrastructure-in-kubernetes)
[![kubernetes security mindmap](images/k8s_securitymindmap.jpg)](https://www.blackhat.com/)
+## Kubernetes Security Scanners + +- [==blog.cloudsecque.com: How to Improve the Security of Your Applications with Kubernetes Security Scanners==](https://blog.cloudsecque.com/how-to-improve-the-security-of-your-applications-with-kubernetes-security-scanners-cda97fd2f574) Kubernetes security scanners are tools that can be used to detect vulnerabilities and security issues in your applications. In this article you will find: + - Grype + - Trivy + - Kubesec + - Kube-bench + - Kubeaudit +- [techmanyu.com: Kubernetes Security with Kube-bench and Kube-hunter ๐ŸŒŸ](https://www.techmanyu.com/kubernetes-security-with-kube-bench-and-kube-hunter-6765bf44ebc6) + - [kube-bench ๐ŸŒŸ](https://github.com/aquasecurity/kube-bench) Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark + - [kube-hunter ๐ŸŒŸ](https://github.com/aquasecurity/kube-hunter) Hunt for security weaknesses in Kubernetes clusters + - [k21academy.com: Secure and Harden Kubernetes, AKS and EKS Cluster with kube-bench, kube-hunter and CIS Benchmarks ๐ŸŒŸ](https://k21academy.com/docker-kubernetes/kubernetes-security/kube-bench-cis/) +- [==aninditabasak.medium.com: A Lap around Kubernetes Security & Vulnerability scanning Tools โ€” checkov, kube-hunter, kube-bench & Starboard==](https://aninditabasak.medium.com/a-lap-around-kubernetes-security-vulnerability-scanning-tools-checkov-kube-hunter-kube-bench-4ffda92c4cf1) +- [towardsdatascience.com: How to Secure your Kubernetes Deployment ๐ŸŒŸ](https://towardsdatascience.com/how-to-secure-your-kubernetes-deployment-5f52c2b67c1) It takes 20 years to build a reputation and few minutes of cyber-incident to ruin it. โ€” Stephane Nappo. Kubernetes deployments are not safe by default and you should go the extra mile and secure the gates. Fortunately, tools like **kube-bench** let us focus our attention on specific areas of the cluster. +- [==blog.flant.com: Kubernetes cluster security assessment with kube-bench and kube-hunter==](https://blog.flant.com/kubernetes-security-with-kube-bench-and-kube-hunter/) +- [raesene.github.io: Let's talk about Kubernetes on the Internet](https://raesene.github.io/blog/2022/07/03/lets-talk-about-kubernetes-on-the-internet/) In this article, you will learn how to scan and discover publicly accessible Kubernetes clusters and how you can protect against it + ## Security Checklist - [==kubernetes.io: Security Checklist== ๐ŸŒŸ๐ŸŒŸ](https://kubernetes.io/docs/concepts/security/security-checklist/) - [itnext.io: Kubernetes OWASP Top 10: Centralised Policy Enforcement](https://itnext.io/kubernetes-owasp-top-10-centralised-policy-enforcement-9adc53438e22) -- [faun.pub: Gatekeeper | K8 hardening backlog](https://faun.pub/gatekeeper-k8-hardening-backlog-956d1b6860b6) This article summarizes a list of recommendations for hardening Kubernetes clusters (both on-prem and cloud) with Admission and Mutation webhooks using the open-source tool Gatekeeper. +- [faun.pub: Gatekeeper | K8 hardening backlog](https://faun.pub/gatekeeper-k8-hardening-backlog-956d1b6860b6) This article summarizes a list of recommendations for hardening Kubernetes clusters (both on-prem and cloud) with Admission and Mutation webhooks using the open-source tool Gatekeeper. +- [systemweakness.com: OWASP-K8S Security: Insecure Workload Configurations](https://systemweakness.com/owasp-k8s-security-insecure-workload-configurations-c14c4028beb1) In this series of blogs we will focus on OWASP Top 10 Kubernetes vulnerabilities, Discussing each in a separate blog. +- [owasp.org: OWASP Kubernetes Top Ten](https://owasp.org/www-project-kubernetes-top-ten/) OWASP Kubernetes Top Ten is aimed at helping security practitioners, system administrators, and developers prioritize risks around the Kubernetes ecosystem. This is a prioritized list of these risks backed by data. +- [darkreading.com: Top 10 Kubernetes Security Risks Every DevSecOps Pro Should Know](https://www.darkreading.com/dr-tech/top-10-kubernetes-security-risks-every-devsecops-needs-to-know) The mission to run any containerized application on any infrastructure makes security a challenge on Kubernetes. + +## Exposed Kubernetes Clusters + +- [blog.cyble.com: Exposed Kubernetes Clusters](https://blog.cyble.com/2022/06/27/exposed-kubernetes-clusters/) Organizations At Risk Of Data Breaches Via Misconfigured Kubernetes. Over 900k Kubernetes exposures were observed across the internet during a routine threat-hunting exercise. While this does not imply that all exposed instances are vulnerable to attacks, it still makes them a target. ## NSA National Security Agent Kubernetes Hardening Guidance @@ -213,7 +237,7 @@ - ["The test is clearly wrong if that is the word used, literally everything is encoded somehow. If they meant encrypted instead, then it's half true, secrets are encrypted in transit but only at rest if a KMS plugin is used"](https://twitter.com/originalavalamp) - ["The semantics are important. Easy to grant an RBAC policy like "read only except secrets"](https://twitter.com/tsh4k) - ["I just meant that base64 prevents you from logging a secret in plain text by accidentโ€ฆ but many more layers are required to keep your secrets secret"](https://twitter.com/SWengThomas) - * "You need to configure how the key is managed and ideally opt into something like KMS plugin (which depends on how the cluster is hosted) to make it good" + - "You need to configure how the key is managed and ideally opt into something like KMS plugin (which depends on how the cluster is hosted) to make it good" - [redhat.com: Managing secrets for Kubernetes pods](https://www.redhat.com/sysadmin/managing-secrets-kubernetes-pods) - [enterprisersproject.com: How to explain Kubernetes Secrets in plain English ๐ŸŒŸ](https://enterprisersproject.com/article/2019/8/kubernetes-secrets-explained-plain-english) What is a Kubernetes secret? How does this type of Kubernetes object increase security? How do you create a Kubernetes secret? What are some best practices? Experts break it down - [millionvisit.blogspot.com: Kubernetes for Developers #19: Manage app credentials using Kubernetes Secrets ๐ŸŒŸ](http://millionvisit.blogspot.com/2021/07/kubernetes-for-developers-19-manage-app-credentials-using-Kubernetes-Secrets.html) @@ -233,9 +257,13 @@ - Authorization management - Resource usage - GitOps friendliness +- [==faun.pub: Secrets | Kubernetes==](https://faun.pub/secrets-kubernetes-298ea8dd9911) A deep dive into Kubernetes Secrets +- [medium.com/@knoldus: Using sealed secrets in Kubernetes](https://medium.com/@knoldus/using-sealed-secrets-in-kubernetes-7f7518d4c984) +- [eminalemdar.medium.com: Cloud Native Secret Management with External Secrets Operator](https://eminalemdar.medium.com/cloud-native-secret-management-with-external-secrets-operator-2912f41f9c49) -## Encrypting the certificate for Kubernetes. SSL certificates with Let's Encrypt in Kubernetes Ingress via cert-manager +## Kubernetes Cert-Manager. Encrypting the certificate for Kubernetes. SSL certificates with Let's Encrypt in Kubernetes Ingress via cert-manager +- [==cert-manager.io== ๐ŸŒŸ](https://cert-manager.io/docs/) cert-manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates. It can issue certificates from a variety of supported sources, including Let's Encrypt, HashiCorp Vault, and Venafi as well as private PKI. - [Kubernetes Certs](https://github.com/jetstack/cert-manager/) - [Using SSL certificates from Letโ€™s Encrypt in your Kubernetes Ingress via cert-manager ๐ŸŒŸ](https://medium.com/flant-com/cert-manager-lets-encrypt-ssl-certs-for-kubernetes-7642e463bbce) - [medium: Encrypting the certificate for Kubernetes (Letโ€™s Encrypt) ๐ŸŒŸ](https://medium.com/avmconsulting-blog/encrypting-the-certificate-for-kubernetes-lets-encrypt-805d2bf88b2a) @@ -248,6 +276,9 @@ - [jetstack.io: Getting started using cert-manager with the sig-network Gateway API](https://www.jetstack.io/blog/cert-manager-gateway-api-traefik-guide/) - [medium.com/@knoldus: Configure SSL certificate with cert-manager on Kubernetes](https://medium.com/@knoldus/configure-ssl-certificate-with-cert-manager-on-kubernetes-e5ca8a804e16) - [blog.devgenius.io: Automated DNS/TLS with External DNS & LetsEncrypt on Kubernetes](https://blog.devgenius.io/automated-dns-tls-with-external-dns-letsencrypt-on-kubernetes-6f4f41827df9) In this article, you'll learn how to create TLS certificates for your application with cert-manager and DNS entries with external DNS. Finally, you will expose your applications with an ingress resource to tie it all together. +- [itnext.io: Upgrade Cert-Manager for Your Production Deployment Without Downtime](https://itnext.io/upgrade-cert-manager-for-your-production-deployment-without-downtime-ee5d32fabec8) When upgrading Cert-Manager, it's often required to update the CRDs. Unfortunately, it's not a straightforward process. In this article, you'll learn a few options that ensure a smooth Cert-Manager upgrade to avoid downtime of production deployment. +- [==faun.pub: Letโ€™s encrypt and CertManager==](https://faun.pub/lets-encrypt-and-certmanager-aa88775730b8) How to use CertManager and Letโ€™s encrypt in Kubernetes +- [armin.su: SSL certificates from Letโ€™s Encrypt for Kubernetes Private Ingress via Terraform](https://armin.su/ssl-certificates-from-lets-encrypt-for-kubernetes-private-ingress-via-terraform-c9f595ee65fa) ## Kubernetes OpenID Connect OIDC @@ -278,14 +309,17 @@ - [==learnk8s.io/rbac-kubernetes: Limiting access to Kubernetes resources with RBAC== ๐ŸŒŸ](https://learnk8s.io/rbac-kubernetes) - [==medium.com/@danielepolencic: How does RBAC work in kubernetes== ๐ŸŒŸ](https://medium.com/@danielepolencic/how-does-rbac-work-in-kubernetes-d50dd34771ca) A short and visual thread on how Kubernetes RBAC works in Kubernetes - [==dominik-tornow.medium.com: Inside Kubernetes RBAC==](https://dominik-tornow.medium.com/inside-kubernetes-rbac-9988b08a738a) -- [==medium.com/@jtdv01: Kubernetes Authorization and Role Based Access Controls== ๐ŸŒŸ](https://medium.com/@jtdv01/kubernetes-authorization-and-role-based-access-controls-ca0b7acc17a4) +- [==medium.com/@jtdv01: Kubernetes Authorization and Role Based Access Controls== ๐ŸŒŸ](https://medium.com/@jtdv01/kubernetes-authorization-and-role-based-access-controls-ca0b7acc17a4) +- [==faun.pub: Give Users and Groups Access to Kubernetes Cluster Using RBAC==](https://faun.pub/give-users-and-groups-access-to-kubernetes-cluster-using-rbac-b614b6c0b383) Role-based access control (RBAC) is a way of granting users granular access to Kubernetes API resources. RBAC is a security design that limits access to Kubernetes resources based on the user's role. +- [medium.com/@danielepolencic: AWS IAM Roles for service accounts for on-prem clusters](https://medium.com/@danielepolencic/binding-aws-iam-roles-to-kubernetes-service-account-for-on-prem-clusters-b8bac41f269d) In this short tutorial, you will learn how to configure the IAM roles for Service Account for a bare-metal cluster using minikube as an example. +- [medium.com/andcloudio: Setting up Authentication and RBAC Authorization in Kubernetes](https://medium.com/andcloudio/creating-authentication-and-authorization-in-kubernetes-c6c5f0f1d2ad) +- [dev.to: Configure RBAC in Kubernetes Like a Boss](https://dev.to/mstryoda/configure-rbac-in-kubernetes-like-a-boss-h67) You will configure RBAC both with kubectl and yaml definitions. ### Tools -- [paralus.io ๐ŸŒŸ](https://www.paralus.io) **Zero trust Kubernetes with zero friction.** - [github.com/paralus/paralus](https://github.com/paralus/paralus) Paralus is a free, open source tool that enables controlled, audited access to Kubernetes infrastructure. It comes with just-in-time service account creation and user-level credential management that integrates with your RBAC and SSO providers or Identity Providers (IdP) that support OIDC. Ships as a GUI, API, and CLI. +- [paralus.io ๐ŸŒŸ](https://www.paralus.io) **Zero trust Kubernetes with zero friction.** - [github.com/paralus/paralus](https://github.com/paralus/paralus) Paralus is a free, open source tool that enables controlled, audited access to Kubernetes infrastructure. It comes with just-in-time service account creation and user-level credential management that integrates with your RBAC and SSO providers or Identity Providers (IdP) that support OIDC. Ships as a GUI, API, and CLI. - [github.com/ondat/trousseau](https://github.com/ondat/trousseau) Trousseau uses the Kubernetes KMS provider framework to provide an envelope encryption scheme to encrypt secrets on the fly before they reach etcd. The project is modular and you can plug your own KMS tool (e.g. Vault). - ## Kubernetes and LDAP - [loft.sh: Kubernetes and LDAP: Enterprise Authentication for Kubernetes](https://loft.sh/blog/kubernetes-and-ldap-enterprise-authentication-for-kubernetes) @@ -331,6 +365,11 @@ - Kubeval - Kubeconform - Kubescore +- [engineering.dynatrace.com: Kubernetes Security Best Practices -Part 1: Role Based Access Control (RBAC)](https://engineering.dynatrace.com/blog/kubernetes-security-part-1-role-based-access-control-rbac/) +- [medium.com/dynatrace-engineering: Kubernetes Security Best Practices Part 2: Network Policies](https://medium.com/dynatrace-engineering/kubernetes-security-best-practices-part-2-network-policies-405b36ed9d94) +- [blog.frankel.ch: Learning by auditing Kubernetes manifests](https://blog.frankel.ch/learning-auditing-kubernetes-manifests/) In this article, you will learn about Kubernetes security and architecture by reviewing reports from Chekov โ€” a tool designed to find misconfigurations before theyโ€™re deployed. +- [spectrocloud.com: Kubernetes security best practices: 5 easy ways to cut risk](https://www.spectrocloud.com/blog/kubernetes-security-best-practices-5-easy-ways-to-cut-risk/) +- [medium.com/@cloud_tips: Kubernetes Security Best Practices](https://medium.com/@cloud_tips/kubernetes-security-best-practices-ea1e3913c001)
[![kubernetes security controls landscape](images/kubernetes-security-controls-landscape.jpg)](https://www.stackrox.com/post/2020/05/kubernetes-security-101/) @@ -346,6 +385,7 @@ - [kubernetes login](https://blog.christianposta.com/kubernetes/logging-into-a-kubernetes-cluster-with-kubectl/) - [learnk8s.io: Authentication between microservices using Kubernetes identities ๐ŸŒŸ](https://learnk8s.io/microservices-authentication-kubernetes) - [gravitational.com: How to Set Up Kubernetes SSO with SAML](https://gravitational.com/blog/kubernetes-sso-saml/) +- [lisowski0925.medium.com: Using Kubernetes Certificate Signing Requests and RBAC for User Authentication and Authorization](https://lisowski0925.medium.com/using-kubernetes-csrs-and-rbac-for-cluster-user-authentication-and-authorization-9df5498655cd) ### Kubernetes Authentication Methods diff --git a/docs/kubernetes-storage.md b/docs/kubernetes-storage.md index 8b678b92..ef290956 100644 --- a/docs/kubernetes-storage.md +++ b/docs/kubernetes-storage.md @@ -1,11 +1,13 @@ # Kubernetes Storage. Cloud Native Storage 1. [Introduction](#introduction) -2. [DoK Community](#dok-community) -3. [Kubernetes Volumes Guide](#kubernetes-volumes-guide) -4. [ReadWriteMany PersistentVolumeClaims](#readwritemany-persistentvolumeclaims) -5. [Ebooks](#ebooks) -6. [Cloud Native Storage Solutions](#cloud-native-storage-solutions) +2. [Kubernetes Storage Classes](#kubernetes-storage-classes) +3. [Kubernetes Volumes](#kubernetes-volumes) + 1. [Kubernetes Volumes Guide](#kubernetes-volumes-guide) +4. [DoK Community](#dok-community) +5. [ReadWriteMany PersistentVolumeClaims](#readwritemany-persistentvolumeclaims) +6. [Ebooks](#ebooks) +7. [Cloud Native Storage Solutions](#cloud-native-storage-solutions) 1. [Rook](#rook) 2. [Robin](#robin) 3. [Reduxio](#reduxio) @@ -22,31 +24,29 @@ 14. [NetApp Data Store](#netapp-data-store) 15. [Stork Storage Operator](#stork-storage-operator) 16. [Curve - OpenCurve](#curve---opencurve) -7. [OpenShift Container Storage Operator (OCS)](#openshift-container-storage-operator-ocs) +8. [OpenShift Container Storage Operator (OCS)](#openshift-container-storage-operator-ocs) 1. [OCS 3 (OpenShift 3)](#ocs-3-openshift-3) 2. [OCS 4 (OpenShift 4)](#ocs-4-openshift-4) -8. [Kubestr](#kubestr) -9. [VolSync](#volsync) -10. [Discoblocks](#discoblocks) -11. [Images](#images) -12. [Tweets](#tweets) -13. [Videos](#videos) +9. [Kubernetes CSI](#kubernetes-csi) +10. [Kubestr](#kubestr) +11. [VolSync](#volsync) +12. [Discoblocks](#discoblocks) +13. [Images](#images) +14. [Tweets](#tweets) +15. [Videos](#videos) ## Introduction -- [itnext.io: Kubernetes: PersistentVolume and PersistentVolumeClaim โ€” an overview with examples](https://itnext.io/kubernetes-persistentvolume-and-persistentvolumeclaim-an-overview-with-examples-3c5688222f99) - [thenewstack.io: How Kubernetes provides networking and storage to applications](https://thenewstack.io/how-kubernetes-provides-networking-and-storage-to-applications/) - [medium: Kubernetes Storage Explained ๐ŸŒŸ](https://medium.com/swlh/kubernetes-storage-explained-558e85596d0c) kubernetes/volumes/claims - [thenewstack.io: A Guide to Running Stateful Applications in Kubernetes](https://thenewstack.io/a-guide-to-running-stateful-applications-in-kubernetes/) - [forbes.com: 5 Cloud Native Storage Startups To Watch Out For In 2019](https://www.forbes.com/sites/janakirammsv/2019/06/28/5-cloud-native-storage-startups-to-watch-out-for-in-2019/) -- [thenewstack.io: Persistent Volumes: Separating Compute and Storage](https://thenewstack.io/persistent-volumes-separating-compute-and-storage/) - [medium: Solution architectโ€™s guide to Kubernetes persistent storage](https://medium.com/weareservian/solution-architects-guide-to-kubernetes-persistant-storage-3c9660187e8f) - [howtoforge.com: Storage in Kubernetes ๐ŸŒŸ](https://www.howtoforge.com/storage-in-kubernetes/) - [cncf.io: Container Attached Storage is Cloud Native Storage (CAS)](https://www.cncf.io/blog/2020/09/22/container-attached-storage-is-cloud-native-storage-cas/) - [thenewstack.io: The most popular cloud native solutions ๐ŸŒŸ](https://thenewstack.io/the-most-popular-cloud-native-storage-solutions/) - [medium: Kubernetes Storage Performance Comparison v2 (2020 Updated) ๐ŸŒŸ](https://medium.com/volterra-io/kubernetes-storage-performance-comparison-v2-2020-updated-1c0b69f0dcf4) - [blocksandfiles.com: geless storage is the โ€˜answerโ€™ to Kubernetes data challenges](https://blocksandfiles.com/2020/12/22/the-storageless-storage-paradox/) -- [developers.redhat.com: Persistent storage in action: Understanding Red Hat OpenShiftโ€™s persistent volume framework ๐ŸŒŸ](https://developers.redhat.com/blog/2020/10/22/persistent-storage-in-action-understanding-red-hat-openshifts-persistent-volume-framework/) - [rancher.com: What is Cloud-Native Storage?](https://rancher.com/blog/2020/what-is-cloud-native-storage) - [softwareengineeringdaily.com: Why Is Storage On Kubernetes So Hard? ๐ŸŒŸ](https://softwareengineeringdaily.com/2019/01/11/why-is-storage-on-kubernetes-is-so-hard/) - [devopscurry.com: Top 7 Object Storage tools to consider in 2021](https://devopscurry.com/top-7-object-storage-tools-to-consider-in-2021/) @@ -62,8 +62,6 @@ - [medium: Provisioning storage in Kubernetes](https://medium.com/avmconsulting-blog/provisioning-storage-in-kubernetes-e1dc5610318d) - [kylezsembery.com: Persistent Storage in Kubernetes](https://www.kylezsembery.com/persistent-storage-kubernetes/) In this post Iโ€™ll briefly explain how persistent storage works in Kubernetes. - [blog.mayadata.io: Container Attached Storage (CAS) vs. Software-Defined Storage - Which One to Choose?](https://blog.mayadata.io/container-attached-storage-cas-vs.-software-defined-storage-which-one-to-choose) -- [==kubermatic.com: Keeping the State of Apps 5: Introduction to Storage Classes==](https://www.kubermatic.com/blog/keeping-the-state-of-apps-5-introduction-to-storage-classes/) -- [itnext.io: Resizing StatefulSet Persistent Volumes with zero downtime ๐ŸŒŸ](https://itnext.io/resizing-statefulset-persistent-volumes-with-zero-downtime-916ebc65b1d4) - [thenewstack.io: Stateful Workloads on Kubernetes with Container Attached Storage ๐ŸŒŸ](https://thenewstack.io/stateful-workloads-on-kubernetes-with-container-attached-storage/) - [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) @@ -74,12 +72,51 @@ - [itnext.io: Highly Available NFS cluster in Kubernetes, a cloud vendor independent storage solution](https://itnext.io/highly-available-nfs-cluster-in-kubernetes-a-cloud-vendor-independent-storage-solution-f9a314cfdfcc) - [armosec.io: Data Storage in Kubernetes](https://www.armosec.io/blog/kubernetes-data-storage/) Kubernetes in cooperation with cloud vendor infrastructure provides flexible mechanisms for data storage and management. It is up to the users to decide which mechanism best fits their application needs. However, the security side of the data storage falls completely under the userโ€™s responsibility. Most of the default settings are wide open and require significant security expertise to protect your applications from data leakage. - [==infoq.com: Best Practices for Running Stateful Applications on Kubernetes==](https://www.infoq.com/articles/kubernetes-stateful-applications/) -- [github.com/kubernetes-sigs: Local Persistence Volume Static Provisioner ๐ŸŒŸ](https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner) **The local volume static provisioner manages PersistentVolume lifecycle for pre-allocated disks by detecting and creating PVs for each local disk on the host and cleaning up the disks when released. It does not support dynamic provisioning** -- [shuanglu1993.medium.com: What happens when volumeManager in the kubelet starts?](https://shuanglu1993.medium.com/what-happens-when-volumemanager-in-the-kubelet-starts-1fea623ac6ce) In this deep-dive, you will learn how the volumeManager sync loop is initialized and starts 3 async calls to maintain the objects 'desiredStateOfWorld' and 'actualStateOfWorld' and 'reconcile' the volumes on the node to the desired state. - [blog.flant.com: Comparing Ceph, LINSTOR, Mayastor, and Vitastor storage performance in Kubernetes](https://blog.flant.com/kubernetes-storage-performance-linstor-ceph-mayastor-vitastor/) Are you looking for an easy-to-use, reliable block-type storage for your cluster? -- [blog.cloudnloud.com: Kubernetes Volume](https://blog.cloudnloud.com/kubernetes-volume) - [medium.com/@amir.ilw: Kubernetes Storage Migration ๐ŸŒŸ](https://medium.com/@amir.ilw/kubernetes-storage-migration-ac48f6f9f5a5) Storage migrations, storage path changes or even moving to a newer faster CSI can be overwhelming. In this article, you'll learn the required steps, how to avoid the pitfalls of immutable volumes and how to plan your next migration. - [discoblocks.io ๐ŸŒŸ](https://discoblocks.io) - [ondat/discoblocks](https://github.com/ondat/discoblocks) **Open Source declarative disk configuration system for Kubernetes.** Discoblocks is an open-source declarative disk configuration system for Kubernetes helping to automate CRUD (Create, Read, Update, Delete) operations for cloud disk device resources attached to Kubernetes cluster nodes. +- [medium.com/geekculture: Storage | Kubernetes](https://medium.com/geekculture/storage-kubernetes-92eb3d027282) A Deep Dive into Kubernetes Storage +- [itnext.io: Temporary Storage for Kubernetes Pods](https://itnext.io/temporary-storage-for-kubernetes-pods-f8330ad8db88) Or emptyDir vs. container File System. Kubernetes applications might need some temporary storage that could be discarded after a container is stopped/removed. In this article, you will compare emptyDir and the container's local storage. +- [==container-object-storage-interface.github.io: Kubernetes COSI==](https://container-object-storage-interface.github.io/) Kubernetes Container Object Storage Interface (COSI) is a standard for exposing object storage to containerized workloads running in Kubernetes. COSI is meant to be a departure from the CSI since the latter does not work well with object storage. + +## Kubernetes Storage Classes + +- [==kubermatic.com: Keeping the State of Apps 5: Introduction to Storage Classes==](https://www.kubermatic.com/blog/keeping-the-state-of-apps-5-introduction-to-storage-classes/) +- [==containiq.com: Kubernetes Storage Classes | In-Depth Tutorial==](https://www.containiq.com/post/kubernetes-storage-classes) Storage Classes are an essential part of Kubernetes, and can provide a great deal of flexibility and control over how your data is stored. In this guide, we provide an in-depth tutorial on using storage classes effectively. + +## Kubernetes Volumes + +- [itnext.io: Kubernetes: PersistentVolume and PersistentVolumeClaim โ€” an overview with examples](https://itnext.io/kubernetes-persistentvolume-and-persistentvolumeclaim-an-overview-with-examples-3c5688222f99) +- [thenewstack.io: Persistent Volumes: Separating Compute and Storage](https://thenewstack.io/persistent-volumes-separating-compute-and-storage/) +- [developers.redhat.com: Persistent storage in action: Understanding Red Hat OpenShiftโ€™s persistent volume framework ๐ŸŒŸ](https://developers.redhat.com/blog/2020/10/22/persistent-storage-in-action-understanding-red-hat-openshifts-persistent-volume-framework/) +- [itnext.io: Resizing StatefulSet Persistent Volumes with zero downtime ๐ŸŒŸ](https://itnext.io/resizing-statefulset-persistent-volumes-with-zero-downtime-916ebc65b1d4) +- [github.com/kubernetes-sigs: Local Persistence Volume Static Provisioner ๐ŸŒŸ](https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner) **The local volume static provisioner manages PersistentVolume lifecycle for pre-allocated disks by detecting and creating PVs for each local disk on the host and cleaning up the disks when released. It does not support dynamic provisioning** +- [shuanglu1993.medium.com: What happens when volumeManager in the kubelet starts?](https://shuanglu1993.medium.com/what-happens-when-volumemanager-in-the-kubelet-starts-1fea623ac6ce) In this deep-dive, you will learn how the volumeManager sync loop is initialized and starts 3 async calls to maintain the objects 'desiredStateOfWorld' and 'actualStateOfWorld' and 'reconcile' the volumes on the node to the desired state. +- [linkedin.com/pulse: What are Kubernetes Persistent Volumes?](https://www.linkedin.com/pulse/what-kubernetes-persistent-volumes-gyan-prakash-1f/) +- [blog.newrelic.com: Kubernetes Fundamentals, Part 5: Working with Kubernetes Volumes](https://blog.newrelic.com/engineering/how-to-use-kubernetes-volumes/) +- [==medium.com/codex: Kubernetes Persistent Volume Explained==](https://medium.com/codex/kubernetes-persistent-volume-explained-fb27df29c393) Learn what a Persistent Volume is and how to create a persistent volume from a storage class. Then, learn how to create a persistent volume claim and how to attach the PVC to a Pod: + - How to create a persistent volume from a storage class + - How to create a persistent volume claim + - How to attach the PVC to a Pod +- [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. +- [blog.cloudnloud.com: Kubernetes Volume](https://blog.cloudnloud.com/kubernetes-volume) +- [==adamtheautomator.com: Effortless Storage Management With Kubernetes PVC== ๐ŸŒŸ](https://adamtheautomator.com/kubernetes-pvc/) In this tutorial, you'll learn about Kubernetes PVC and set up a persistent volume for a MySQL database. You'll also confirm that the data persists even after deleting and recreating the pods. +- [==faun.pub: Dynamic Volume Provisioning | Kubernetes== ๐ŸŒŸ](https://faun.pub/dynamic-volume-provisioning-kubernetes-632b43b1ee79) Dynamically provision persistent volume on Kubernetes +- [portworx.com: Kubernetes Persistent Volume Tutorial by Portworx](https://portworx.com/tutorial-kubernetes-persistent-volumes/) + - What is K8s PV? + - How do they differ from k8s volumes? + - Why would you use persistent volumes? + - How to get started using persistent volumes? +- [openebs/zfs-localpv](https://github.com/openebs/zfs-localpv) CSI Driver for dynamic provisioning of Persistent Local Volumes for Kubernetes using ZFS. + +### 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: + - How to set up and use volumes in Kubernetes + - What are persistent volumes, and how to use them + - How to use an NFS volume + - Shared data and volumes between pods ## DoK Community @@ -88,14 +125,6 @@ - After discussions with thousands of companies and individuals running data workloads on Kubernetes weโ€™ve come to see that there is a need for a sharing of patterns and concerns about how to build and operate data-centric applications on Kubernetes. As a result, the **Data on Kubernetes Community (DoKC)** was born. - [==dok.community: Data on Kubernetes 2021== ๐ŸŒŸ](https://dok.community/dokc-2021-report/) Insights from over 500 executives and technology leaders on how Kubernetes is being used for data and the factors driving further adoption -## 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: - - How to set up and use volumes in Kubernetes - - What are persistent volumes, and how to use them - - How to use an NFS volume - - Shared data and volumes between pods - ## ReadWriteMany PersistentVolumeClaims - [Create ReadWriteMany PersistentVolumeClaims on your Kubernetes Cluster ๐ŸŒŸ](https://medium.com/asl19-developers/create-readwritemany-persistentvolumeclaims-on-your-kubernetes-cluster-3a8db51f98e3) Kubernetes allows us to provision our PersistentVolumes dynamically using PersistentVolumeClaims. Pods treat these claims as volumes. The access mode of the PVC determines how many nodes can establish a connection to it. We can refer to the resource providerโ€™s docs for their supported access modes. @@ -151,6 +180,7 @@ - [thenewstack.io: Rancher Donates its โ€˜Longhornโ€™ Kubernetes Persistent Storage Software to CNCF](https://thenewstack.io/rancher-donates-its-longhorn-kubernetes-persistent-storage-software-to-cncf/). Gluster and Ceph were โ€œdesigned to be run by some storage admin. In the Kubernetes world, a lot of these things tend to be deployed by DevOps teams, so (the storage layer) needs to be a lot more lightweight and a lot simpler.โ€ โ€” Rancher Labs CEO Sheng Liang. - [Longhorn Simplifies Distributed Block Storage in Kubernetes](https://rancher.com/blog/2020/longhorn-container-storage) - [containerjournal.com: Rancher Labs Adds Support for Longhorn Storage on Kubernetes Clusters](https://containerjournal.com/topics/container-management/rancher-labs-adds-support-for-longhorn-storage-on-kubernetes-clusters/) +- [aesher9o1.medium.com: Autoscale large images faster using Longhorn (distributed storage)](https://aesher9o1.medium.com/autoscale-large-images-faster-using-longhorn-distributed-storage-618d0cf01ba2) ### IBM Spectrum Storage Suite @@ -217,6 +247,12 @@ edge. MinIO is software-defined and is 100% open source under GNU AGPL v3. - Backups available in OpenShift 4.2+ (Snapshots + Restore of Volumes) - OCS Dashboard in OCS Operator +## Kubernetes CSI + +- [kubernetes-csi.github.io](https://kubernetes-csi.github.io) Kubernetes-CSI is a community repository containing projects to enable CSI support in Kubernetes. +- [github.com/kubernetes-csi](https://github.com/kubernetes-csi) Kubernetes specific Container-Storage-Interface (CSI) components +- [SMB CSI Driver for Kubernetes](https://github.com/kubernetes-csi/csi-driver-smb) This driver allows Kubernetes to access SMB Server on both Linux and Windows nodes. + ## Kubestr - [kubestr.io](https://kubestr.io/) Kubestr is a collection of tools to discover, validate and evaluate your kubernetes storage options. diff --git a/docs/kubernetes-tools.md b/docs/kubernetes-tools.md index 5e63bbef..3195503b 100644 --- a/docs/kubernetes-tools.md +++ b/docs/kubernetes-tools.md @@ -2,89 +2,95 @@ 1. [Introduction](#introduction) 2. [K8s Tools](#k8s-tools) -3. [Penetration Testing Tools](#penetration-testing-tools) -4. [Deckhouse Kubernetes Platform](#deckhouse-kubernetes-platform) -5. [KubeIP (GKE)](#kubeip-gke) -6. [Porter](#porter) -7. [Datree. Quality Checks for Kubernetes YAMLs](#datree-quality-checks-for-kubernetes-yamls) -8. [Kaniko Build Images in Kubernetes without docker](#kaniko-build-images-in-kubernetes-without-docker) -9. [Shipwright Framework for Building Container Images on Kubernetes](#shipwright-framework-for-building-container-images-on-kubernetes) -10. [BuildKit CLI for kubectl](#buildkit-cli-for-kubectl) -11. [Buildpacks vs Dockerfiles](#buildpacks-vs-dockerfiles) -12. [Kubevela](#kubevela) -13. [Pixie. Instantly troubleshoot applications on Kubernetes](#pixie-instantly-troubleshoot-applications-on-kubernetes) -14. [Dekorate. Generate k8s manifests for java apps](#dekorate-generate-k8s-manifests-for-java-apps) -15. [Kubesploit](#kubesploit) -16. [Kubeshop](#kubeshop) -17. [Monokle](#monokle) -18. [KubeLibrary](#kubelibrary) -19. [kube-vip](#kube-vip) -20. [Kubermetrics](#kubermetrics) -21. [Kustomizer](#kustomizer) -22. [MetalLB](#metallb) -23. [Kubermatic Kubernetes Platform](#kubermatic-kubernetes-platform) - 1. [Kubermatic Kubeone](#kubermatic-kubeone) -24. [Usernetes](#usernetes) -25. [k8syaml.com](#k8syamlcom) -26. [Popeye](#popeye) -27. [kbrew](#kbrew) -28. [KubExplorer](#kubexplorer) -29. [Kubescape](#kubescape) -30. [Kubectl Connections](#kubectl-connections) -31. [Benchmark Operator](#benchmark-operator) -32. [Source-To-Image (S2I)](#source-to-image-s2i) -33. [VMware Tanzu Octant](#vmware-tanzu-octant) -34. [Qovery Engine](#qovery-engine) -35. [mck8s Container orchestrator for multi-cluster Kubernetes](#mck8s-container-orchestrator-for-multi-cluster-kubernetes) -36. [Shipwright framework](#shipwright-framework) -37. [Schiff (Deutsche Telekom)](#schiff-deutsche-telekom) -38. [NetMaker](#netmaker) -39. [AWS Karpenter kubernetes Autoscaler](#aws-karpenter-kubernetes-autoscaler) -40. [Kuby (easy deployments of Ruby Rails App)](#kuby-easy-deployments-of-ruby-rails-app) -41. [Direktiv](#direktiv) -42. [Jabos](#jabos) -43. [Pleco](#pleco) -44. [Mesh-kridik](#mesh-kridik) -45. [kubewatch](#kubewatch) -46. [Botkube](#botkube) -47. [Robusta](#robusta) -48. [Soup GitOps Operator](#soup-gitops-operator) -49. [Epinio](#epinio) -50. [Testkube](#testkube) -51. [KuberLogic](#kuberlogic) -52. [Kusk](#kusk) -53. [Azure AD Workload Identity](#azure-ad-workload-identity) -54. [Kubernate](#kubernate) -55. [Tackle](#tackle) -56. [Azure Placement Policy Scheduler Plugins](#azure-placement-policy-scheduler-plugins) -57. [Azure AAD Pod Identity](#azure-aad-pod-identity) -58. [MicroShift](#microshift) -59. [kubefwd (Kube Forward)](#kubefwd-kube-forward) -60. [Kpng. Kubernetes Proxy NG](#kpng-kubernetes-proxy-ng) -61. [Auto-portforward (apf)](#auto-portforward-apf) -62. [gardener/Terraformer](#gardenerterraformer) -63. [Werf](#werf) -64. [Starboard kubernetes-native security toolkit](#starboard-kubernetes-native-security-toolkit) -65. [Netshoot](#netshoot) -66. [The Hierarchical Namespace Controller (HNC)](#the-hierarchical-namespace-controller-hnc) -67. [Kratix](#kratix) -68. [gRPC-Gateway](#grpc-gateway) -69. [KubeOrbit. Test your app on kubernetes](#kubeorbit-test-your-app-on-kubernetes) -70. [Mizu API Traffic Viewer for Kubernetes](#mizu-api-traffic-viewer-for-kubernetes) -71. [vcluster](#vcluster) -72. [Kateyes](#kateyes) -73. [Keepass Secret](#keepass-secret) -74. [Workflow Schedulers](#workflow-schedulers) - 1. [Komodor Workflows](#komodor-workflows) -75. [Azure Eraser](#azure-eraser) -76. [Data Pipeline Workflow Schedulers](#data-pipeline-workflow-schedulers) -77. [ConfigMap Reloader](#configmap-reloader) -78. [Infra](#infra) -79. [Kluctl](#kluctl) -80. [k2tf Kubernetes YAML to Terraform HCL converter](#k2tf-kubernetes-yaml-to-terraform-hcl-converter) -81. [Kubernetes Security Tools](#kubernetes-security-tools) -82. [Tweets](#tweets) -83. [Videos](#videos) +3. [Clusternet](#clusternet) +4. [Open Cluster Management](#open-cluster-management) +5. [Penetration Testing Tools](#penetration-testing-tools) +6. [Deckhouse Kubernetes Platform](#deckhouse-kubernetes-platform) +7. [KubeIP (GKE)](#kubeip-gke) +8. [Porter](#porter) +9. [Datree. Quality Checks for Kubernetes YAMLs](#datree-quality-checks-for-kubernetes-yamls) +10. [Kaniko Build Images in Kubernetes without docker](#kaniko-build-images-in-kubernetes-without-docker) +11. [Shipwright Framework for Building Container Images on Kubernetes](#shipwright-framework-for-building-container-images-on-kubernetes) +12. [BuildKit CLI for kubectl](#buildkit-cli-for-kubectl) +13. [Buildpacks vs Dockerfiles](#buildpacks-vs-dockerfiles) +14. [Kubevela](#kubevela) +15. [Pixie. Instantly troubleshoot applications on Kubernetes](#pixie-instantly-troubleshoot-applications-on-kubernetes) +16. [Dekorate. Generate k8s manifests for java apps](#dekorate-generate-k8s-manifests-for-java-apps) +17. [Kubesploit](#kubesploit) +18. [Kubeshop](#kubeshop) +19. [Monokle](#monokle) +20. [KubeLibrary](#kubelibrary) +21. [kube-vip](#kube-vip) +22. [Kubermetrics](#kubermetrics) +23. [Kustomizer](#kustomizer) +24. [MetalLB](#metallb) +25. [Kubermatic Kubernetes Platform](#kubermatic-kubernetes-platform) + 1. [Kubermatic Kubeone](#kubermatic-kubeone) +26. [Usernetes](#usernetes) +27. [k8syaml.com](#k8syamlcom) +28. [Popeye](#popeye) +29. [kbrew](#kbrew) +30. [KubExplorer](#kubexplorer) +31. [Kubescape](#kubescape) +32. [Kubectl Connections](#kubectl-connections) +33. [Benchmark Operator](#benchmark-operator) +34. [Source-To-Image (S2I)](#source-to-image-s2i) +35. [VMware Tanzu Octant](#vmware-tanzu-octant) +36. [Qovery Engine](#qovery-engine) +37. [mck8s Container orchestrator for multi-cluster Kubernetes](#mck8s-container-orchestrator-for-multi-cluster-kubernetes) +38. [Shipwright framework](#shipwright-framework) +39. [Schiff (Deutsche Telekom)](#schiff-deutsche-telekom) +40. [NetMaker](#netmaker) +41. [AWS Karpenter kubernetes Autoscaler](#aws-karpenter-kubernetes-autoscaler) +42. [Kuby (easy deployments of Ruby Rails App)](#kuby-easy-deployments-of-ruby-rails-app) +43. [Direktiv](#direktiv) +44. [Jabos](#jabos) +45. [Pleco](#pleco) +46. [Mesh-kridik](#mesh-kridik) +47. [kubewatch](#kubewatch) +48. [Botkube](#botkube) +49. [Robusta](#robusta) +50. [Soup GitOps Operator](#soup-gitops-operator) +51. [Epinio](#epinio) +52. [Testkube](#testkube) +53. [KuberLogic](#kuberlogic) +54. [Kusk](#kusk) +55. [Azure AD Workload Identity](#azure-ad-workload-identity) +56. [Kubernate](#kubernate) +57. [Tackle](#tackle) +58. [Azure Placement Policy Scheduler Plugins](#azure-placement-policy-scheduler-plugins) +59. [Azure AAD Pod Identity](#azure-aad-pod-identity) +60. [MicroShift](#microshift) +61. [kubefwd (Kube Forward)](#kubefwd-kube-forward) +62. [Kpng. Kubernetes Proxy NG](#kpng-kubernetes-proxy-ng) +63. [Auto-portforward (apf)](#auto-portforward-apf) +64. [gardener/Terraformer](#gardenerterraformer) +65. [Werf](#werf) +66. [Starboard kubernetes-native security toolkit](#starboard-kubernetes-native-security-toolkit) +67. [Netshoot](#netshoot) +68. [The Hierarchical Namespace Controller (HNC)](#the-hierarchical-namespace-controller-hnc) +69. [Kratix](#kratix) +70. [gRPC-Gateway](#grpc-gateway) +71. [KubeOrbit. Test your app on kubernetes](#kubeorbit-test-your-app-on-kubernetes) +72. [Mizu API Traffic Viewer for Kubernetes](#mizu-api-traffic-viewer-for-kubernetes) +73. [vcluster](#vcluster) +74. [Kateyes](#kateyes) +75. [Keepass Secret](#keepass-secret) +76. [Workflow Schedulers](#workflow-schedulers) + 1. [Komodor Workflows](#komodor-workflows) +77. [Azure Eraser](#azure-eraser) +78. [Data Pipeline Workflow Schedulers](#data-pipeline-workflow-schedulers) +79. [ConfigMap Reloader](#configmap-reloader) +80. [Infra](#infra) +81. [Kluctl](#kluctl) +82. [k2tf Kubernetes YAML to Terraform HCL converter](#k2tf-kubernetes-yaml-to-terraform-hcl-converter) +83. [Kubernetes Security Tools](#kubernetes-security-tools) +84. [PureLB](#purelb) +85. [Murre](#murre) +86. [k9s](#k9s) +87. [Pluto](#pluto) +88. [Tweets](#tweets) +89. [Videos](#videos) ## Introduction @@ -105,10 +111,11 @@ - [opensource.com: 5 open source tools for developing on the cloud](https://opensource.com/article/22/4/open-source-tools-developing-cloud) Here are a few IDEs that can improve your programming experience while using multiple cloud service providers. - [devtron.ai: 7 Tools To Make Kubernetes Management Easy](https://devtron.ai/blog/7-tools-to-make-kubernetes-management-easy/) - [developers.redhat.com: 8 open source Kubernetes security tools](https://developers.redhat.com/articles/2022/06/20/8-open-source-kubernetes-security-tools#) +- [blog.devops.dev: Tools to manage Kubernetes](https://blog.devops.dev/tools-to-manage-kubernetes-15b675f407d4) Kubernetes Command Line Tools ## K8s Tools -- [downloadkubernetes.com: Download Kubernetes ๐ŸŒŸ](https://www.downloadkubernetes.com/) An easier way to get the binaries you need +- [downloadkubernetes.com: Download Kubernetes ๐ŸŒŸ](https://www.downloadkubernetes.com/) An easier way to get the binaries you need - [ramitsurana/awesome-kubernetes: Tools ๐ŸŒŸ](https://github.com/ramitsurana/awesome-kubernetes#configuration) - [VMware octant](https://github.com/vmware/octant) A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters. - [octant.dev](https://octant.dev/) Visualize your Kubernetes workloads. Octant is an open source developer-centric web interface for Kubernetes that lets you inspect a Kubernetes cluster and its applications. @@ -150,7 +157,6 @@ - [k8s-dt-node-labeller](https://github.com/adaptant-labs/k8s-dt-node-labeller) is a Kubernetes controller for labelling a node with devicetree properties (devicetree is a data structure for describing hardware). - [kubedev ๐ŸŒŸ](https://relferreira.github.io/kubedev/) is a Kubernetes Dashboard that helps developers in their everyday usage - [Kubectl SSH Proxy ๐ŸŒŸ](https://github.com/little-angry-clouds/kubectl-ssh-proxy) Kubectl plugin to launch a ssh socks proxy and use it. This plugin aims to make your life easier when using kubectl a cluster that's behind a SSH bastion. -- [K9s - Kubernetes CLI To Manage Your Clusters In Style!](https://github.com/derailed/k9s) K9s provides a terminal UI to interact with your Kubernetes clusters. The aim of this project is to make it easier to navigate, observe and manage your applications in the wild. K9s continually watches Kubernetes for changes and offers subsequent commands to interact with your observed resources. - [kubectl-images](https://github.com/chenjiandongx/kubectl-images) Show container images used in the cluster. Kubectl-images is a kubectl plugin that shows the container images used in the cluster. It first calls kubectl get pods to retrieve pods details and filters out the container image information of each pod then prints out the final result in a table view. - [Access Pod Online using Podtnl](https://github.com/narendranathreddythota/podtnl) A Powerful CLI that makes your pod available to online without exposing a k8 service. - [kiosk: Multi-Tenancy Extension For Kubernetes - Secure Cluster Sharing & Self-Service Namespace Provisioning ๐ŸŒŸ](https://github.com/kiosk-sh/kiosk?utm_sq=gf3f25b1tk#why-kiosk) Kubernetes is designed as a single-tenant platform, which makes it hard for cluster admins to host multiple tenants in a single cluster. **Kiosk extends Kubernetes for multi-tenancy. The core idea is to use Kubernetes namespaces as isolated workspaces.** @@ -272,15 +278,19 @@ - [kube-secret-syncer ๐ŸŒŸ](https://github.com/contentful-labs/kube-secret-syncer) is a Kubernetes operator developed using the Kubebuilder framework that keeps the values of Kubernetes Secrets synchronised to secrets in AWS Secrets Manager. - [contentful.com: Open-sourcing kube-secret-syncer: A Kubernetes operator to sync secrets from AWS Secrets Manager](https://www.contentful.com/blog/2020/10/20/open-source-kube-secret-syncer/) Kube-secret-syncer is a Kubernetes operator developed using the Kubebuilder framework that keeps the values of Kubernetes Secrets synchronised to secrets in AWS Secrets Manager. - [kapp ๐ŸŒŸ](https://carvel.dev/kapp) is a CLI that calculates changes between your configuration and live cluster state and applies changes you approve. + - [thecloudblog.net: Managing Applications in Kubernetes with the Carvel Kapp Controller](https://thecloudblog.net/post/managing-applications-in-kubernetes-with-the-carvel-kapp-controller/) kapp enables users to group a set of resources (resources with the same label) as an application. In this tutorial, you will learn how to deploy a front-end and backend app with Redis as a single unit with kapp. - [garden.io](https://garden.io/) Break down the barriers between development, testing, and CI. Use the same workflows and production-like Kubernetes environments at every step of the process - [thenewstack.io: Garden: The Configure-Once Kubernetes Platform for Seamless Dev/Prod Integration](https://thenewstack.io/garden-the-configure-once-kubernetes-platform-for-seamless-dev-prod-integration/) - [pvc-autoresizer](https://github.com/topolvm/pvc-autoresizer) resizes PersistentVolumeClaims (PVCs) when the free amount of storage is below the threshold. It queries the volume usage metrics from Prometheus that collects metrics from kubelet. - - [blog.kintone.io: Introducing pvc-autoresizer](https://blog.kintone.io/entry/pvc-autoresizer) + - [blog.kintone.io: Introducing pvc-autoresizer](https://blog.kintone.io/entry/pvc-autoresizer) - [sKan](https://github.com/alcideio/skan) is a tailor made Kubernetes configuration files and resources scanner that enables developers and devops team members to check whether their work is compliant with security & ops best practices - [Kubernetes Node Auto Labeller](https://github.com/adaptant-labs/k8s-auto-labeller) - [Kube_query](https://github.com/Isan-Rivkin/kube_query) Use kubectl but on all of the available k8s clusters available in the kubeconfig file. Currently will query only AWS EKS clusters. - [kubernetes-event-exporter ๐ŸŒŸ](https://github.com/opsgenie/kubernetes-event-exporter) This tool allows exporting the often missed Kubernetes events to various outputs so that they can be used for observability or alerting purposes. You won't believe what you are missing. -- [Kubeconform ๐ŸŒŸ](https://github.com/yannh/kubeconform) is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes configuration using the schemas from kubernetes-json-schema +- [==Kubeconform== ๐ŸŒŸ](https://github.com/yannh/kubeconform) **is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes configuration using the schemas from kubernetes-json-schema.** Similar to Kubeval, but with the following improvements: + - High performance + - Remote or local schemas locations + - Up-to-date schemas for all recent versions of Kubernetes - [Kubernetes Janitor](https://codeberg.org/hjacobs/kube-janitor) cleans up (deletes) Kubernetes resources on a configured TTL (time to live) or a configured expiry date (absolute timestamp). - [kube-batch](https://github.com/kubernetes-sigs/kube-batch) is a batch scheduler for Kubernetes, providing mechanisms for applications which would like to run batch jobs leveraging Kubernetes. A batch scheduler of kubernetes for high performance workload, e.g. AI/ML, BigData, HPC - [slipway: A Kubernetes controller to automate gitops provisioning](https://github.com/slipway-gitops/slipway) @@ -319,7 +329,7 @@ - [Nebula](https://github.com/slackhq/nebula) A scalable overlay networking tool with a focus on performance, simplicity and security. It lets you seamlessly connect computers anywhere in the world. - [kube-bench](https://github.com/aquasecurity/kube-bench) Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark - [kube-bench-exporter](https://github.com/yashvardhan-kukreja/kube-bench-exporter) Helps you to export your kube-bench reports to multiple targets like Amazon S3 buckets with ease. -- [Karmada](https://github.com/karmada-io/karmada) Karmada (Kubernetes Armada) is a Kubernetes management system that enables you to run your cloud-native applications across multiple Kubernetes clusters and clouds, with no changes to your applications. By speaking Kubernetes-native APIs and providing advanced scheduling capabilities, Karmada enables truly open, multi-cloud Kubernetes. +- [Karmada](https://github.com/karmada-io/karmada) Karmada (Kubernetes Armada) is a Kubernetes management system that enables you to run your cloud-native applications across multiple Kubernetes clusters and clouds, with no changes to your applications. By speaking Kubernetes-native APIs and providing advanced scheduling capabilities, Karmada enables truly open, multi-cloud Kubernetes. - https://karmada.io/ - [kube-secrets-init](https://github.com/doitintl/kube-secrets-init) Kubernetes mutating webhook for `secrets-init` injection - [liqo: Enable dynamic and seamless Kubernetes multi-cluster topologies](https://github.com/liqotech/liqo) Building your endless Kubernetes ocean. Enable dynamic and seamless Kubernetes multi-cluster topologies. Liqo is a platform to enable dynamic and decentralized resource sharing across Kubernetes clusters, either on-prem or managed. Liqo allows to run pods on a remote cluster seamlessly and without any modification of Kubernetes and the applications. With Liqo it is possible to extend the control plane of a Kubernetes cluster across the cluster's boundaries, making multi-cluster native and transparent: collapse an entire remote cluster to a virtual local node, by allowing workloads offloading and resource management compliant with the standard Kubernetes approach. - [redhat-certification: chart-verifier: Rules based tool to certify Helm charts ๐ŸŒŸ](https://github.com/redhat-certification/chart-verifier) @@ -344,7 +354,8 @@ - [Krane ๐ŸŒŸ](https://github.com/appvia/krane) is a Kubernetes RBAC static analysis tool. It identifies potential security risks in K8s RBAC design and makes suggestions on how to mitigate them. Krane dashboard presents current RBAC security posture and lets you navigate through its definition. - [KTail: Kubernetes log viewer ๐ŸŒŸ](https://www.ktail.de/) KTail allows you to tail multiple pods in one view. It automatically detects updates and attaches to new pods. Configurable highlighters show how often regular expressions matched and let you quickly navigate in the results. - [Manifesto ๐ŸŒŸ](https://gitlab.com/jackatbancast/manifesto) allows you to create an application structure to facilitate easy deployment to kubernetes. Jsonnet is used to create the underlying application structure, manifesto manipulates this structure to produce manifests. -- [==SigNoz: Open source Application Performance Monitoring (APM) & Observability tool== ๐ŸŒŸ](https://github.com/SigNoz/signoz) SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. +- [==SigNoz: Open source Application Performance Monitoring (APM) & Observability tool== ๐ŸŒŸ](https://github.com/SigNoz/signoz) SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. + - [golang.ch: A Golang-based open-source alternative to DataDog, New Relic, etc](https://golang.ch/a-golang-based-open-source-alternative-to-datadog-new-relic-etc/) - [port-map-operator](https://github.com/MOZGIII/port-map-operator) LoadBalancer Service type implementation for home clusters via Port Control Protocol. - [Raspbernetes - Kubernetes Cluster: k8s-gitops](https://github.com/xUnholy/k8s-gitops) Kubernetes cluster managed by GitOps - Git as a single source of truth, automated pipelines, declarative everything, next-generation DevOps. This repo is a declarative implementation of a Kubernetes cluster. It's using the GitOps Toolkit known as Fluxv2. The goal is to demonstrates how to implement enterprise-grade security, observability, and overall cluster config management using GitOps in a Kubernetes cluster. - [Kpexec](https://github.com/ssup2/kpexec) kpexec is a kubernetes cli that runs commands in a container with high privileges. @@ -355,7 +366,7 @@ - [Kourier](https://github.com/knative-sandbox/net-kourier) Purpose-built Knative Ingress implementation using just Envoy with no additional CRDs. Kourier is an Ingress for Knative Serving. Kourier is a lightweight alternative for the Istio ingress as its deployment consists only of an Envoy proxy and a control plane for it. - [space-cloud: Develop, Deploy and Secure Serverless Apps on Kubernetes.](https://github.com/spacecloud-io/space-cloud) Open source **Firebase + Heroku** to develop, scale and secure serverless apps on Kubernetes - [space-cloud.io](https://space-cloud.io/) Space Cloud is a Kubernetes based serverless platform that provides instant, realtime APIs on any database, with event triggers and unified APIs for your custom business logic. - [community.suse.com: Comparing Modern-Day Container Image Builders: Jib, Buildpacks and Docker ๐ŸŒŸ](https://community.suse.com/posts/comparing-modern-day-container-image-builders-jib-buildpacks-and-docker) -- [Teleport ๐ŸŒŸ](https://github.com/gravitational/teleport) Certificate authority and access plane for SSH, Kubernetes, web applications, and databases +- [Teleport ๐ŸŒŸ](https://github.com/gravitational/teleport) Certificate authority and access plane for SSH, Kubernetes, web applications, and databases - [weaveworks: kured - Kubernetes Reboot Daemon ๐ŸŒŸ](https://github.com/weaveworks/kured) - [weave.works: One year kured - your Kubernetes Reboot Daemon](https://www.weave.works/blog/one-year-kured-kubernetes-reboot-daemon) Kured (KUbernetes REboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots when the need to do so is indicated by the package management system of the underlying OS. Many rely on Kured, which helps perform safe automatic node reboots when indicated by the package management of the underlying OS, to help make OS security better. - [k8s-cluster-simulator](https://github.com/pfnet-research/k8s-cluster-simulator) Kubernetes cluster simulator for evaluating schedulers. - [kubelogin ๐ŸŒŸ](https://github.com/int128/kubelogin) kubectl plugin for Kubernetes OpenID Connect authentication (kubectl oidc-login) @@ -472,6 +483,7 @@ - [curiefense/curiefense](https://github.com/curiefense/curiefense) Curiefense extends Envoy proxy to defend against a variety of threats, including SQL and command injection, cross site scripting (XSS), account takeovers (ATOs) and more - [==kubernetes-sigs/node-feature-discovery: Node feature discovery for Kubernetes==](https://github.com/kubernetes-sigs/node-feature-discovery) Welcome to Node Feature Discovery โ€“ a Kubernetes add-on for detecting hardware features and system configuration! - [==arttor/helmify==](https://github.com/arttor/helmify) Creates Helm chart from Kubernetes yaml. Helmify reads a list of supported k8s objects from stdin and converts it to a helm chart. Designed to generate charts for k8s operators but not limited to. See examples of charts generated by helmify. + - [medium.com/geekculture: Convert Kubernetes YAML Files Into Helm Charts](https://medium.com/geekculture/convert-kubernetes-yaml-files-into-helm-charts-4107de079455) - [4ARMED/kubeletmein](https://github.com/4ARMED/kubeletmein) Security testing tool for Kubernetes, abusing kubelet credentials on public cloud providers. This is a simple penetration testing tool which takes advantage of public cloud provider approaches to providing kubelet credentials to nodes in a Kubernetes cluster in order to gain privileged access to the k8s API. This access can then potentially be used to further compromise the applications running in the cluster or, in many cases, access secrets that facilitate complete control of Kubernetes. - [patrickdappollonio/kubectl-slice](https://github.com/patrickdappollonio/kubectl-slice) Split multiple Kubernetes files into smaller files with ease. Split multi-YAML files into individual files. - [appvia/cosign-keyless-admission-webhook](https://github.com/appvia/cosign-keyless-admission-webhook) Kubernetes admission webhook that uses cosign verify to check the subject and issuer of the image matches what you expect @@ -529,6 +541,39 @@ - [pan-net-security/kcount](https://github.com/pan-net-security/kcount) kcount counts Kubernetes objects across namespaces and clusters. It can be used as a CLI tool or as a daemon (service) exposing Prometheus metrics. - [cloudtty/cloudtty: A Kubernetes Cloud Shell (Web Terminal) Operator](https://github.com/cloudtty/cloudtty) A Friendly Kubernetes CloudShell (Web Terminal) ! - [jthomperoo/k8shorizmetrics](https://github.com/jthomperoo/k8shorizmetrics) k8shorizmetrics is a library that provides the internal workings of the Kubernetes Horizontal Pod Autoscaler (HPA) wrapped up in a simple API. The project allows querying metrics just as the HPA does, and also running the calculations. +- [==Kube-capacity==](https://github.com/robscott/kube-capacity/releases) is a simple and powerful CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster. It combines the best parts of kubectl top and describe into an easy to use CLI focused on cluster resources. +- [==github.com/FairwindsOps: Goldilocks is a utility that can help you identify a starting point for resource requests and limits==](https://github.com/FairwindsOps/goldilocks) +- [==learnk8s/xlskubectl==](https://github.com/learnk8s/xlskubectl) a spreadsheet to control your Kubernetes cluster. xlskubectl integrates Google Spreadsheet with Kubernetes. You can finally administer your cluster from the same spreadsheet that you use to track your expenses. +- [kingdonb/kubectl-exec-user](https://github.com/kingdonb/kubectl-exec-user) lets you exec as a specified user into a Kubernetes container +- [upmc-enterprises/registry-creds: Registry Credentials โญ](https://github.com/upmc-enterprises/registry-creds) Allow for AWS ECR, Google Registry, & Azure Container Registry credentials to be refreshed inside your Kubernetes cluster via ImagePullSecrets +- [pymag09/kubecui](https://github.com/pymag09/kubecui) kubeui makes kubectl more user friendly. This is still kubectl but enhanced with [fzf](https://github.com/junegunn/fzf). However, kubectl slows you down - requires heavy keyboard typing. In order to alleviate interaction with kubernetes API and describe the fields associated with each supported API resource directly in the Terminal, kubectl was complemented by fzf. +- [awesome-it/adeploy](https://github.com/awesome-it/adeploy) adeploy is a deployment tool for Kubernetes that supports the rendering and deploying of lightweight Jinja templated Kubernetes manifests and complex Helm charts +- [stakater/Forecastle](https://github.com/stakater/Forecastle) Forecastle is a control panel which dynamically discovers and provides a launchpad to access applications deployed on Kubernetes +- [acorn-io/acorn](https://github.com/acorn-io/acorn) Acorn is a simple application deployment framework for Kubernetes: + - One artifact across dev, test, and production + - Simple CLI and powerful API + - Runs on any Kubernetes cluster +- [smartxworks/knest](https://github.com/smartxworks/knest) knest: Kubernetes-in-Kubernetes Made Simple +- [smartxworks/virtink](https://github.com/smartxworks/virtink) Virtink is a Kubernetes add-on for running Cloud Hypervisor virtual machines. By using Cloud Hypervisor as the underlying hypervisor, Virtink enables a lightweight and secure way to run fully virtualized workloads in a canonical Kubernetes cluster +- [inspektor-gadget/inspektor-gadget](https://github.com/inspektor-gadget/inspektor-gadget) Introspecting and debugging Kubernetes applications using eBPF "gadgets". Inspektor Gadget is a collection of tools (or gadgets) to debug and inspect Kubernetes resources and applications. It manages the packaging, deployment and execution of eBPF programs in a Kubernetes cluster, including many based on BCC tools, as well as some developed specifically for use in Inspektor Gadget. It automatically maps low-level kernel primitives to high-level Kubernetes resources, making it easier and quicker to find the relevant information. +- [toboshii/hajimari](https://github.com/toboshii/hajimari) Hajimari is a beautiful & customizable browser startpage/dashboard with Kubernetes application discovery. +- [Ramilito/kubediff โญ](https://github.com/Ramilito/kubediff) Source VS Deployed. kubediff compares the local YAML resource definitions with the ones currently deployed in the cluster. +- [FairwindsOps/gonogo](https://github.com/FairwindsOps/gonogo) GoNoGo is a utility to help users determine upgrade confidence around Kubernetes cluster addons +- [==pulumi/kube2pulumi==](https://github.com/pulumi/kube2pulumi) Upgrade your Kubernetes YAML to a modern language +- [==doitintl/kube-no-trouble: kubent== โญโญโญ](https://github.com/doitintl/kube-no-trouble) **Easily check your clusters for use of deprecated APIs** +- [resmoio/kubernetes-event-exporter](https://github.com/resmoio/kubernetes-event-exporter) Export Kubernetes events to multiple destinations with routing and filtering +- [jthomperoo/predictive-horizontal-pod-autoscaler](https://github.com/jthomperoo/predictive-horizontal-pod-autoscaler) Horizontal Pod Autoscaler built with predictive abilities using statistical models + +## Clusternet + +- [==github.com/clusternet==](https://github.com/clusternet/clusternet) Managing your Kubernetes clusters (including public, private, edge, etc) as easily as visiting the Internet + - https://clusternet.io/ + - Clusternet (Cluster Internet) is a tool that helps you manage thousands of Kubernetes clusters + - It can also help deploy and manage applications across several clusters from a single set of APIs in a single hosting cluster + +## Open Cluster Management + +- [==open-cluster-management.io==](https://open-cluster-management.io/) Make working with many Kubernetes clusters super easy regardless of where they are deployed. Open Cluster Management is a community-driven project focused on multicluster and multicloud scenarios for Kubernetes apps. Open APIs are evolving within this project for cluster registration, work distribution, dynamic placement of policies and workloads, and much more. ## Penetration Testing Tools @@ -538,7 +583,7 @@ ## Deckhouse Kubernetes Platform -- [Deckhouse: NoOps Kubernetes platform ๐ŸŒŸ](https://github.com/deckhouse/deckhouse) Deckhouse is an Open Source platform for managing Kubernetes clusters in a fully automatic and uniform fashion. It allows you to create homogeneous Kubernetes clusters anywhere and fully manages them. It supplies all the add-ons you need for auto-scaling, observability, security, and service mesh. It comes in Enterprise Edition (EE) and Community Edition (CE). +- [Deckhouse: NoOps Kubernetes platform ๐ŸŒŸ](https://github.com/deckhouse/deckhouse) Deckhouse is an Open Source platform for managing Kubernetes clusters in a fully automatic and uniform fashion. It allows you to create homogeneous Kubernetes clusters anywhere and fully manages them. It supplies all the add-ons you need for auto-scaling, observability, security, and service mesh. It comes in Enterprise Edition (EE) and Community Edition (CE). ## KubeIP (GKE) @@ -675,8 +720,13 @@ ## Kubescape -- [Kubescape ๐ŸŒŸ](https://github.com/armosec/kubescape) **kubescape is the first tool for testing if Kubernetes is deployed securely as defined in Kubernetes Hardening Guidance by to NSA and CISA.** Tests are configured with YAML files, making this tool easy to update as test specifications evolve. +- [==Kubescape== ๐ŸŒŸ](https://github.com/kubescape/kubescape) **kubescape is the first tool for testing if Kubernetes is deployed securely as defined in Kubernetes Hardening Guidance by to NSA and CISA.** Tests are configured with YAML files, making this tool easy to update as test specifications evolve. + - Kubescape is a tool that provides risk analysis, security compliance, RBAC visualizer and image vulnerabilities scanning. - [armosec.io: Use Kubescape to check if your Kubernetes clusters are exposed to the latest K8s Symlink vulnerability (CVE-2021-25741)](https://www.armosec.io/blog/kubescape-checks-if-kubernetes-exposed-to-k8s-symlink-vulnerability-cve202125741) +- [armosec.io: Kubescape makes {RBAC easy} ๐ŸŒŸ](https://www.armosec.io/lp-2-rbac/) Graph all roles, resources, and role-bindings. Run pre-defined queries and reveal RBAC insights. Find who has access to K8s components using NLP-like queries. Perform deep RBAC analysis up to a single role and resource. +- [medium.com/@sheraznadeem1: Kubescape & Kubernetes Hardening- Demystified](https://medium.com/@sheraznadeem1/kubescape-kubernetes-hardening-demystified-87fba47f3b6a) +- [blog.devgenius.io: Scanning Kubernetes YAML Files for Security ๐ŸŒŸ](https://blog.devgenius.io/scanning-kubernetes-yaml-files-for-security-e302542b5407) +- [infracloud.io: Securing Kubernetes Cluster using Kubescape and kube-bench](https://www.infracloud.io/blogs/securing-kubernetes-cluster-kubescape-kubebench/) In this article, you will discuss how you can secure a Kubernetes cluster using Kubescape and kube-bench ## Kubectl Connections @@ -787,7 +837,7 @@ - [kuberlogic](https://github.com/kuberlogic/kuberlogic) Kuberlogic is an open-source product that deploys and manages software on top of the Kubernetes cluster and turns infrastructure into a managed PaaS. KuberLogic is that allows running managed databases and popular applications deploying on-premises or at any cloud. The solution provides API, monitoring, backups, and integration with SSO right out of the box -## Kusk +## Kusk - [kubeshop/kusk: use OpenAPI to configure Kubernetes](https://github.com/kubeshop/kusk) Kusk makes your OpenAPI definition the source of truth for API resources in your cluster. Kusk treats your OpenAPI/Swagger definition as a source of truth for generating supplementary Kubernetes resources for your REST APIs in regard to mappings, security, traffic-control, monitoring, etc. - [medium.com/kubeshop-i: Rapidly prototype your APIs on Kubernetes with Kusk Gateway โ€” Kubeshop ๐ŸŒŸ](https://medium.com/kubeshop-i/rapidly-prototype-your-apis-on-kubernetes-with-kusk-gateway-kubeshop-4006f030e8e4) @@ -847,6 +897,7 @@ - The CLI tool gluing Git, Docker, Helm, and Kubernetes with any CI system to implement CI/CD and Giterminism. Werf is an Open Source CLI tool written in Go, designed to simplify and speed up the delivery of applications. To use it, you need to describe the configuration of your application (in other words, how to build and deploy it to Kubernetes) and store it in a Git repo โ€” the latter acts as a single source of truth. In short, that's what we call **GitOps** today. - A solution for implementing efficient/consistent software delivery to Kubernetes. It covers the entire life cycle of CI/CD and related artifacts, gluing commonly used tools (Git, Docker, Helm, K8s, gitops). - [werf/kubedog](https://github.com/werf/kubedog) Kubedog is a library to watch and follow Kubernetes resources in CI/CD deploy pipelines. This library is used in the werf CI/CD tool to track resources during deploy process. +- [blog.werf.io: Running one-time tasks and debugging images in the Kubernetes cluster using werf](https://blog.werf.io/running-one-time-tasks-and-debugging-images-in-the-kubernetes-cluster-using-werf-936d6dc483e2) ## Starboard kubernetes-native security toolkit @@ -884,6 +935,10 @@ - [vcluster.com](https://www.vcluster.com) Virtual Kubernetes Clusters that run inside regular namespaces. Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces. - [thenewstack.io: Locking Down Kubernetes Containers with vcluster](https://thenewstack.io/locking-down-kubernetes-containers-with-vcluster/) +- [salaboy.com: Building platforms on top of Kubernetes: VCluster and Crossplane](https://salaboy.com/2022/08/03/building-platforms-on-top-of-kubernetes-vcluster-and-crossplane/) In this tutorial, you'll learn how to: + - Create an isolated cluster with vcluster + - Package apps with Helm + - Submit a request for a "new environment" that will automatically create a new cluster and install the Helm chart using Crossplane ## Kateyes @@ -939,6 +994,26 @@ - [PaloAltoNetworks/rbac-police](https://github.com/PaloAltoNetworks/rbac-police) RBAC-police is a CLI tool that lets you evaluate the RBAC permissions of service accounts, pods and nodes in Kubernetes clusters through policies written in Rego +## PureLB + +- [purelb/purelb](https://gitlab.com/purelb/purelb) PureLB - is a Service Load Balancer for Kubernetes. PureLB is a load-balancer orchestrator for Kubernetes clusters. It uses standard Linux networking and routing protocols, and works with the operating system to announce service addresses. + +## Murre + +- [groundcover-com/murre](https://github.com/groundcover-com/murre) Murre is an on-demand, scaleable source of container resource metrics for K8s. +- [betterprogramming.pub: Dependency-Free Kubernetes Cluster Monitoring](https://betterprogramming.pub/dependency-free-kubernetes-cluster-monitoring-5f7aa2f038d9) Introduce Murre for continued monitoring of Kubernetes containers + +## k9s + +- [==k9scli.io==](https://k9scli.io) The most essential tool after kubectl. It provides a top like interface to a k8s namespace making it easy to inspect, kill, view logs, or exec and get a shell into your containers. +- [K9s - Kubernetes CLI To Manage Your Clusters In Style!](https://github.com/derailed/k9s) K9s provides a terminal UI to interact with your Kubernetes clusters. The aim of this project is to make it easier to navigate, observe and manage your applications in the wild. K9s continually watches Kubernetes for changes and offers subsequent commands to interact with your observed resources. +- [medium.com/@fwiles: k9s EKS Context Error](https://medium.com/@fwiles/k9s-eks-context-error-7ff18df7547f) + +## Pluto + +- [Pluto](https://github.com/FairwindsOps/pluto) A cli tool to help discover deprecated apiVersions in Kubernetes +- [==dev.to: Detecting Kubernetes API Deprecations with pluto==](https://dev.to/fkurz/detecting-kubernetes-api-deprecations-with-pluto-3g2m) Utility to help users find deprecated Kubernetes API versions in their code repositories and their helm releases. + ## Tweets
diff --git a/docs/kubernetes-troubleshooting.md b/docs/kubernetes-troubleshooting.md index cf720c32..a162ec58 100644 --- a/docs/kubernetes-troubleshooting.md +++ b/docs/kubernetes-troubleshooting.md @@ -6,13 +6,19 @@ 4. [Failed to Create Pod Sandbox](#failed-to-create-pod-sandbox) 5. [Terminated with exit code 1 error](#terminated-with-exit-code-1-error) 6. [OOM Kills](#oom-kills) -7. [Stuck Namespace](#stuck-namespace) -8. [Debugging Techniques and Strategies. Debugging with ephemeral containers](#debugging-techniques-and-strategies-debugging-with-ephemeral-containers) -9. [Troubleshooting Tools](#troubleshooting-tools) - 1. [Komodor](#komodor) -10. [Slides](#slides) -11. [Images](#images) -12. [Tweets](#tweets) +7. [Pause Container](#pause-container) +8. [Preempted Pod](#preempted-pod) +9. [Stuck Namespace](#stuck-namespace) +10. [Access PVC Data without the POD](#access-pvc-data-without-the-pod) +11. [CoreDNS issues](#coredns-issues) +12. [Debugging Techniques and Strategies. Debugging with ephemeral containers](#debugging-techniques-and-strategies-debugging-with-ephemeral-containers) +13. [Troubleshooting Tools](#troubleshooting-tools) + 1. [Komodor](#komodor) + 2. [Palaemon](#palaemon) + 3. [cdebug and debug-ctr](#cdebug-and-debug-ctr) +14. [Slides](#slides) +15. [Images](#images) +16. [Tweets](#tweets) ## Introduction @@ -54,12 +60,20 @@ - [tratnayake.dev: Oncall Adventures - When your Prometheus-Server mounted to GCE Persistent Disk on K8s is Full](https://tratnayake.dev/oncall-adventures-prometheus-filled-disk) In this article, you will follow Thilina's journey on debugging a failing Prometheus server on Kubernetes. The story starts with a wake-up call at 3.30 am ๐Ÿ˜… - [==sysdig.com: Understanding Kubernetes pod pending problems==](https://sysdig.com/blog/kubernetes-pod-pending-problems/) - [containiq.com: Kubernetes Node Disk Pressure | Troubleshooting w/ Example](https://www.containiq.com/post/kubernetes-disk-pressure) In this article, youโ€™ll learn more about Kubernetes nodes experiencing disk pressure, including causes of disk pressure and a step-by-step guide to troubleshooting the error. -- [==blog.alexellis.io: How to Troubleshoot Applications on Kubernetes== ๐ŸŒŸ](https://blog.alexellis.io/troubleshooting-on-kubernetes/) In this article, you will learn a practical framework to troubleshoot applications deployed on Kubernetes: +- [==blog.alexellis.io: How to Troubleshoot Applications on Kubernetes== ๐ŸŒŸ](https://blog.alexellis.io/troubleshooting-on-kubernetes/) In this article, you will learn a practical framework to troubleshoot applications deployed on Kubernetes: - Is it there? - Why isn't it working? - It starts, but doesn't work - There are too many pods! - But can you `curl` it? +- [blog.devgenius.io: All You Need to Know about Debugging Kubernetes Cronjob](https://blog.devgenius.io/all-you-need-to-know-about-debugging-kubernetes-cronjob-61989a998513) Walkthrough tools & configs & knowledge used in Kubernetes cronjob/deployment debug. +- [saiteja313.medium.com: Tracing DNS issues in Kubernetes](https://saiteja313.medium.com/tracing-dns-issues-in-kubernetes-28b38f782103) +- [medium.com/@jasonmfehr: Kubernetes Informers: Opening the Mystery Box](https://medium.com/@jasonmfehr/kubernetes-informers-opening-the-mystery-box-4cd690a43a4) +- [maxilect-company.medium.com: Graceful shutdown in a cloud environment (the example of Kubernetes + Spring Boot) ๐ŸŒŸ](https://maxilect-company.medium.com/graceful-shutdown-in-a-cloud-environment-the-example-of-kubernetes-spring-boot-f922b41adaa0) In this article, you'll learn why it is crucial to think about graceful shutdown in Kubernetes and how you can approach this task. Many people think about starting an application in the cloud but rarely pay attention to how it ends. Once, we caught quite a few errors explicitly related to pods stopping. For example, we saw that Kubernetes occasionally kills our application before it releases resources, although it seems that this should not happen. It was impossible to reproduce the problem immediately, and we wondered what was happening under the hood? +- [martinheinz.dev: Backup-and-Restore of Containers with Kubernetes Checkpointing API](https://martinheinz.dev/blog/85) Kubernetes v1.25 introduced Container Checkpointing API as an alpha feature. This provides a way to backup-and-restore containers running in Pods, without ever stopping them. This feature is primarily aimed at forensic analysis, but general backup-and-restore is something any Kubernetes user can take advantage of. So, let's take a look at this brand-new feature and see how we can enable it in our clusters and leverage it for backup-and-restore or forensic analysis. +- [groundcover.com: Failure Is an Option: How to Stay on Top of K8s Container Events](https://www.groundcover.com/blog/k8s-container-events) Gain a deep understanding of how Kubernetes tracks container and Pod status, how it reports error information and how you can collect all of the above in an efficient way +- [madeeshafernando.medium.com: Capturing Heap Dumps of stateless Kubernetes pods before container termination and export to AWS S3](https://madeeshafernando.medium.com/capturing-heap-dumps-of-stateless-kubernetes-pods-before-container-termination-and-export-to-aws-s3-9602378ee60b) +- [faun.pub: Troubleshooting Kubernetes nodes storage space shortage on Aliyun (Alibaba Cloud)](https://faun.pub/troubleshooting-kubernetes-nodes-storage-space-shortage-on-aliyun-alibaba-cloud-ac28230fe3d3) In this article, you will follow Stephen's journey to identifying the root cause for cluster nodes running out of space on the Aliyun cloud ## ImagePullBackOff @@ -84,11 +98,28 @@ ## OOM Kills - [medium.com/@reefland: Tracking Down โ€œInvisibleโ€ OOM Kills in Kubernetes](https://medium.com/@reefland/tracking-down-invisible-oom-kills-in-kubernetes-192a3de33a60) An โ€œInvisibleโ€ OOM Kill happens when a child process in a container is killed, not the init process. It is โ€œinvisibleโ€ to Kubernetes and not detected. What is OOM? well.. not a good thing. +- [baykara.medium.com: A Gentle Inspection of OOMKilled in Kubernetes](https://baykara.medium.com/a-gentle-inspection-of-oomkilled-in-kubernetes-4b4124cd23a8) Quality of Service in Kubernetes + +## Pause Container + +- [blog.devgenius.io: K8s โ€” pause container](https://blog.devgenius.io/k8s-pause-container-f7abd1e9b488) Why we have pause container in K8s pod? + +## Preempted Pod + +- [blog.kumomind.com: What You Need To Know To Debug A Preempted Pod On Kubernetes](https://blog.kumomind.com/what-you-need-to-know-to-debug-a-preempted-pod-on-kubernetes) The purpose of this post is to share some thoughts on the management of a Kubernetes platform in production. The idea is to focus on a major problem that many beginners encounter: the management of preempted pods. ## Stuck Namespace - [blog.ediri.io: How to remove a stuck namespace](https://blog.ediri.io/how-to-remove-a-stuck-namespace) With the help of the Kubernetes API +## Access PVC Data without the POD + +- [medium.com/@reefland: Access PVC Data without the POD; troubleshooting Kubernetes.](https://medium.com/@reefland/access-pvc-data-without-the-pod-troubleshooting-kubernetes-b28bfdd7502) I recently had a situation where Prometheus was stuck in a crash loop and unable to start. The solution is to delete a file within the Persistent Volume Claim (PVC). Seemed simple enough, however with the pod in a crash loop the PVC was not mounted within the Prometheus container. How can I deleted the file? + +## CoreDNS issues + +- [medium.com/geekculture: K8s Troubleshooting โ€” How to Debug CoreDNS Issues](https://medium.com/geekculture/k8s-troubleshooting-how-to-debug-coredns-issues-724e8b973cfc) + ## Debugging Techniques and Strategies. Debugging with ephemeral containers - [kubectl-debug](https://github.com/aylei/kubectl-debug) @@ -126,6 +157,16 @@ - [==komodor.com==](https://komodor.com) Turn troubleshooting chaos into clarity. Komodor is an observability tool that gives you insight into whatโ€™s happening with your clusters and workloads. It integrates tools that we all use, like Datadog, Okta, LaunchDarkly, and PagerDuty. - [==komodor.com: Kubernetes Troubleshooting: The Complete Guide== ๐ŸŒŸ](https://komodor.com/learn/kubernetes-troubleshooting-the-complete-guide/) +### Palaemon + +- [==palaemon.io==](https://palaemon.io) Open-source developer tool for monitoring Kubernetes clusters and error analysis +- [medium.com/@ospalaemon: Introducing Palaemon, the Savior of Kubernetes Pods!](https://medium.com/@ospalaemon/introducing-palaemon-the-savior-of-kubernetes-pods-85576c33287c) + +### cdebug and debug-ctr + +- [==iximiuz/cdebug==](https://github.com/iximiuz/cdebug) a swiss army knife of container debugging. It's like "docker exec", but it works even for containers without a shell (scratch, distroless, slim, etc). The "cdebug exec" command allows you to bring your own toolkit and start a shell inside of a running container. +- [==felipecruz91/debug-ctr==](https://github.com/felipecruz91/debug-ctr) A commandline tool for interactive troubleshooting when a container has crashed or a container image doesn't include debugging utilities, such as distroless images. Heavily inspired by kubectl debug, but for containers instead of Pods. + ## Slides ??? note "Click to expand!" @@ -149,4 +190,8 @@
-
\ No newline at end of file + + + + +
diff --git a/docs/kubernetes-tutorials.md b/docs/kubernetes-tutorials.md index ddf639c8..3e1dc9de 100644 --- a/docs/kubernetes-tutorials.md +++ b/docs/kubernetes-tutorials.md @@ -72,6 +72,7 @@ - Pod lifecycle - [blog.getambassador.io: How to Learn Kubernetes: Prerequisites, Paths, and Resources ๐ŸŒŸ](https://blog.getambassador.io/how-to-learn-kubernetes-prerequisites-paths-and-resources-9e044daee185) +- [==devopscube.com: How to Learn Kubernetes (Complete Roadmap)== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://devopscube.com/learn-kubernetes-complete-roadmap/) ## Online Training @@ -87,6 +88,11 @@ - [kodekloud.com](https://kodekloud.com) - [training.linuxfoundation.org: Introduction to Kubernetes (LFS158x)](https://training.linuxfoundation.org/training/introduction-to-kubernetes/) Want to learn Kubernetes? Get an in-depth primer on this powerful system for managing containerized applications in this free course. - [civo.com/academy ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://www.civo.com/academy) Learn Kubernetes with Civo Academy. Learn everything you need to know to get started with Kubernetes. Learn Kubernetes for free. Weโ€™ve created over 50 video guides and tutorials that will help you navigate Kubernetes: from understanding the basic need for and function of containers, to launching and scaling your first clusters. +- [medium.com/javarevisited: 8 Best Free Kubernetes Courses for Beginners in 2022](https://medium.com/javarevisited/7-free-online-courses-to-learn-kubernetes-in-2020-3b8a68ec7abc) Learn Kubernetes using these free online training courses and add an in-demand skill to your colorful resume. + - [udemy.com: Just enough kubernetes to be dangerous (free)](https://www.udemy.com/course/just-enough-kubernetes/) + - [udemy.com: Learn Devops Kubernetes deployment by kops and terraform (free)](https://www.udemy.com/course/learn-devops-kubernetes-deployment-by-kops-and-terraform/) Comprehensive Nginx deployment to Kubernetes on AWS by using kops and terraform + - [edx.org: Introduction to Kubernetes (free)](https://www.edx.org/course/introduction-to-kubernetes) + - [udemy.com: Containers 101 (free)](https://www.udemy.com/course/containers-101/) Building and deploying containerize applications with Kubernetes, Docker and Helm ## K8s Diagrams diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 7bdf2f66..7443f639 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -2,7 +2,8 @@ {==*"Kubernetes is not for application development but for platform development. Its magic is in enterprise standardization, not app portability" (Kelsey Hightower)*==} -1. [Introduction](#introduction) +1. [Must know Kubernetes concepts](#must-know-kubernetes-concepts) +2. [Introduction](#introduction) 1. [Kubernetes Jobs Market](#kubernetes-jobs-market) 2. [Certified Kubernetes Offerings](#certified-kubernetes-offerings) 3. [The State of Cloud-Native Development](#the-state-of-cloud-native-development) @@ -14,7 +15,7 @@ 1. [Kubernetes Podcasts](#kubernetes-podcasts) 2. [Kubernetes Blogs](#kubernetes-blogs) 3. [Spanish Kubernetes Blogs](#spanish-kubernetes-blogs) -2. [Kubernetes Open Source Container Orchestation](#kubernetes-open-source-container-orchestation) +3. [Kubernetes Open Source Container Orchestation](#kubernetes-open-source-container-orchestation) 1. [kubeconfig](#kubeconfig) 2. [Kubernetes Manifests](#kubernetes-manifests) 3. [Kubernetes Quality of Service QOS](#kubernetes-quality-of-service-qos) @@ -41,7 +42,7 @@ 12. [Kubernetes Services](#kubernetes-services) 9. [Kubernetes Deployment Strategies](#kubernetes-deployment-strategies) 10. [Kubernetes API](#kubernetes-api) - 1. [Multi-Cluster Services API](#multi-cluster-services-api) + 1. [Multi-Cluster Services API](#multi-cluster-services-api) 11. [Kubernetes Health Checks/Probes. Startup, Liveness, Readiness](#kubernetes-health-checksprobes-startup-liveness-readiness) 12. [Kubernetes Limits and Requests](#kubernetes-limits-and-requests) 13. [Kubernetes Scheduler. Kube Scheduler](#kubernetes-scheduler-kube-scheduler) @@ -51,62 +52,69 @@ 17. [Kubernetes Best Practices and Tips](#kubernetes-best-practices-and-tips) 18. [Disruptions](#disruptions) 19. [Cost Estimation Strategies](#cost-estimation-strategies) - 1. [kubecost](#kubecost) + 1. [kubecost](#kubecost) 20. [Kubernetes Resource and Capacity Management. Capacity Planning](#kubernetes-resource-and-capacity-management-capacity-planning) 21. [Architecting Kubernetes clusters. Node Size. Multi Clusters and Hybrid Cloud](#architecting-kubernetes-clusters-node-size-multi-clusters-and-hybrid-cloud) - 1. [Wide Cluster instead of Multi-Cluster](#wide-cluster-instead-of-multi-cluster) -3. [Client Libraries for Kubernetes](#client-libraries-for-kubernetes) -4. [Helm Kubernetes Tool](#helm-kubernetes-tool) -5. [Templating YAML in Kubernetes with real code. YQ YAML processor](#templating-yaml-in-kubernetes-with-real-code-yq-yaml-processor) -6. [Extending Kubernetes](#extending-kubernetes) + 1. [Wide Cluster instead of Multi-Cluster](#wide-cluster-instead-of-multi-cluster) +4. [Client Libraries for Kubernetes](#client-libraries-for-kubernetes) +5. [Helm Kubernetes Tool](#helm-kubernetes-tool) +6. [Templating YAML in Kubernetes with real code. YQ YAML processor](#templating-yaml-in-kubernetes-with-real-code-yq-yaml-processor) +7. [Extending Kubernetes](#extending-kubernetes) 1. [Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API](#adding-custom-resources-extending-kubernetes-api-with-kubernetes-resource-definitions-crd-vs-aggregated-api) 2. [Krew, a plugin manager for kubectl plugins](#krew-a-plugin-manager-for-kubectl-plugins) 3. [OpenKruise/Kruise](#openkruisekruise) 4. [Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions](#crossplane-a-universal-control-plane-api-for-cloud-computing-crossplane-workloads-definitions) -7. [Kubernetes Community](#kubernetes-community) +8. [Kubernetes Community](#kubernetes-community) 1. [Community Forums](#community-forums) 2. [Kubernetes Special Interest Groups (SIGs)](#kubernetes-special-interest-groups-sigs) 1. [Kubernetes SIG's Repos](#kubernetes-sigs-repos) 2. [Kubectl Plugins](#kubectl-plugins) -8. [Enforcing Policies and governance for kubernetes workloads with Conftest](#enforcing-policies-and-governance-for-kubernetes-workloads-with-conftest) -9. [Kubernetes Patterns and Antipatterns. Service Discovery](#kubernetes-patterns-and-antipatterns-service-discovery) -10. [Kubernetes Scheduling and Scheduling Profiles](#kubernetes-scheduling-and-scheduling-profiles) - 1. [Assigning Pods to Nodes. Pod Affinity and Anti-Affinity](#assigning-pods-to-nodes-pod-affinity-and-anti-affinity) - 2. [Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin](#pod-topology-spread-constraints-and-podtopologyspread-scheduling-plugin) -11. [Cloud Development Kit (CDK) for Kubernetes](#cloud-development-kit-cdk-for-kubernetes) - 1. [AWS Cloud Development Kit (AWS CDK)](#aws-cloud-development-kit-aws-cdk) -12. [Serverless with OpenFaas and Knative](#serverless-with-openfaas-and-knative) -13. [Virtual Kubernetes Clusters](#virtual-kubernetes-clusters) -14. [Multi-Cluster Federation. Hybrid Cloud Setup Tools](#multi-cluster-federation-hybrid-cloud-setup-tools) - 1. [KubeFed](#kubefed) - 2. [KubeCarrier](#kubecarrier) - 3. [Red Hat Operator Lifecycle Manager (OLM)](#red-hat-operator-lifecycle-manager-olm) - 4. [Istio Service Mesh](#istio-service-mesh) -15. [Multi-Regional Architecture](#multi-regional-architecture) -16. [Kubernetes in Kubernetes](#kubernetes-in-kubernetes) -17. [Kubernetes Scripts](#kubernetes-scripts) - 1. [Kubernetes and Ansible](#kubernetes-and-ansible) -18. [Spot instances in Kubernetes](#spot-instances-in-kubernetes) -19. [Kubernetes on Windows](#kubernetes-on-windows) -20. [Kubernetes Incident Report Plan IRP](#kubernetes-incident-report-plan-irp) -21. [Kubernetes Certifications. CKA, CKAD and CKS](#kubernetes-certifications-cka-ckad-and-cks) -22. [Books and eBooks](#books-and-ebooks) - 1. [Kubernetes Patterns eBooks](#kubernetes-patterns-ebooks) - 2. [Famous Kubernetes ebooks of 2019](#famous-kubernetes-ebooks-of-2019) -23. [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019) -24. [Famous Kubernetes resources of 2020](#famous-kubernetes-resources-of-2020) -25. [Kubernetes Slack Channel](#kubernetes-slack-channel) -26. [Bunch of images](#bunch-of-images) -27. [Videos](#videos) -28. [Spanish Videos](#spanish-videos) -29. [Tweets](#tweets) -30. [Tweets 2](#tweets-2) -31. [Memes](#memes) +9. [Enforcing Policies and governance for kubernetes workloads with Conftest](#enforcing-policies-and-governance-for-kubernetes-workloads-with-conftest) +10. [Kubernetes Patterns and Antipatterns. Service Discovery](#kubernetes-patterns-and-antipatterns-service-discovery) +11. [Kubernetes Scheduling and Scheduling Profiles](#kubernetes-scheduling-and-scheduling-profiles) + 1. [Assigning Pods to Nodes. Pod Affinity and Anti-Affinity](#assigning-pods-to-nodes-pod-affinity-and-anti-affinity) + 2. [Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin](#pod-topology-spread-constraints-and-podtopologyspread-scheduling-plugin) +12. [Cloud Development Kit (CDK) for Kubernetes](#cloud-development-kit-cdk-for-kubernetes) + 1. [AWS Cloud Development Kit (AWS CDK)](#aws-cloud-development-kit-aws-cdk) +13. [Serverless with OpenFaas and Knative](#serverless-with-openfaas-and-knative) +14. [Virtual Kubernetes Clusters](#virtual-kubernetes-clusters) +15. [Multi-Cluster Federation. Hybrid Cloud Setup Tools](#multi-cluster-federation-hybrid-cloud-setup-tools) + 1. [KubeFed](#kubefed) + 2. [KubeCarrier](#kubecarrier) + 3. [Red Hat Operator Lifecycle Manager (OLM)](#red-hat-operator-lifecycle-manager-olm) + 4. [Istio Service Mesh](#istio-service-mesh) +16. [Multi-Regional Architecture](#multi-regional-architecture) +17. [Kubernetes in Kubernetes](#kubernetes-in-kubernetes) +18. [Kubernetes Scripts](#kubernetes-scripts) + 1. [Kubernetes and Ansible](#kubernetes-and-ansible) +19. [Spot instances in Kubernetes](#spot-instances-in-kubernetes) +20. [Kubernetes on Windows](#kubernetes-on-windows) +21. [Kubernetes Incident Report Plan IRP](#kubernetes-incident-report-plan-irp) +22. [Kubernetes Certifications. CKA, CKAD and CKS](#kubernetes-certifications-cka-ckad-and-cks) +23. [Books and eBooks](#books-and-ebooks) + 1. [Kubernetes Patterns eBooks](#kubernetes-patterns-ebooks) + 2. [Famous Kubernetes ebooks of 2019](#famous-kubernetes-ebooks-of-2019) +24. [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019) +25. [Famous Kubernetes resources of 2020](#famous-kubernetes-resources-of-2020) +26. [Kubernetes Slack Channel](#kubernetes-slack-channel) +27. [Bunch of images](#bunch-of-images) +28. [Videos](#videos) +29. [Spanish Videos](#spanish-videos) +30. [Tweets](#tweets) +31. [Tweets 2](#tweets-2) +32. [Memes](#memes)
+## Must know Kubernetes concepts + +- Workloads: Node, Cluster, Pod, Namespace +- Pod Controllers: Deployment, ReplicaSet, DaemonSet, StatefulSet, HPA PodDisruptionBudget, Job, CronJob +- Configuration: ConfigMaps, Secrets +- Networking: Ingress, Service, Network Policy + ## Introduction - [Wikipedia.org: Kubernetes](https://en.wikipedia.org/wiki/Kubernetes) @@ -199,9 +207,9 @@ - [aws.plainenglish.io: Kubernetes Deep Dive: CRI (Container Runtime Interface)](https://aws.plainenglish.io/kubernetes-deep-dive-cri-container-runtime-interface-f1d005d5a458) - [==blog.devgenius.io: Choosing an Optimal Kubernetes Worker Node Size for Your Startup== ๐ŸŒŸ](https://blog.devgenius.io/choosing-an-optimal-kubernetes-worker-node-size-e0eacab408c4) - [==blog.scaleway.com: How to deploy and distribute the workload on a multi-cloud Kubernetes environment== ๐ŸŒŸ](https://blog.scaleway.com/how-to-deploy-and-distribute-the-workload-on-a-multi-cloud-kubernetes-environment/) **This article will guide you through the best practices to deploy and distribute the workload on a multi-cloud Kubernetes environment** -- [cloudtechtwitter.com: KubeApiServer components ๐ŸŒŸ](https://www.cloudtechtwitter.com/2022/04/kubeapiserver.html) Kube API Server is the only component that as a user we will directly interact with. +- [cloudtechtwitter.com: KubeApiServer components ๐ŸŒŸ](https://www.cloudtechtwitter.com/2022/04/kubeapiserver.html) Kube API Server is the only component that as a user we will directly interact with. - [medium.com/@portainerio: Kubernetes, the ultimate enabler of automation](https://medium.com/@portainerio/kubernetes-the-ultimate-enabler-of-automation-27d5a3502807) -- [==marcusnoble.co.uk: Managing Kubernetes without losing your cool== ๐ŸŒŸ](https://marcusnoble.co.uk/2022-07-04-managing-kubernetes-without-losing-your-cool/) +- [==marcusnoble.co.uk: Managing Kubernetes without losing your cool== ๐ŸŒŸ](https://marcusnoble.co.uk/2022-07-04-managing-kubernetes-without-losing-your-cool/) In this article, you will find 10 tips for working with Kubernetes clusters all day long. - [==cloudtechtwitter.com: Introduction to Kubernetes== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://www.cloudtechtwitter.com/2022/05/dont-miss-next-article-be-first-to-be.html) - [medium.com/@kajan26: The Myth of scalability in Kubernetes](https://medium.com/@kajan26/the-myth-of-scalability-in-kubernetes-e49953944b8e) - [medium.com/@raymon_dut: Whatโ€™s the relationShip between Pod, Deployment, ReplicaSet, and Service in Kubernetes? ๐ŸŒŸ](https://medium.com/@raymon_dut/whats-the-relationship-between-pod-deployment-replicaset-and-service-in-kubernetes-57bf3be22abb ๐ŸŒŸ) In this article, you will work out the relationships between Pod, Deployment, ReplicaSet, and Service in Kubernetes by using kubectl and inspecting a live deployment. @@ -214,10 +222,15 @@ - [==spiceworks.com: How to Get Started With Kubernetes the Right Way: DevOps Experts Weigh In== ๐ŸŒŸ](https://www.spiceworks.com/tech/cloud/articles/how-to-get-started-with-kubernetes/) **Kubernetes deployments need meticulous planning and resource allocation like any other software infrastructure solution. Here, experts discuss the best strategies to deploy Kubernetes seamlessly.** - [==dev.to: What Problem Is Kubernetes Actually Trying To Solve?== ๐ŸŒŸ](https://dev.to/thenjdevopsguy/what-problem-is-kubernetes-actually-trying-to-solve-3g1n) - ["It's funny: everyone thinks CPU requests are only used for scheduling (WRONG) and memory requests determine who gets OOMKilled (WRONG) but it's actually the opposite! At runtime, memory requests do nothing, but CPU requests DO" ๐ŸŒŸ](https://twitter.com/aantn) -- [==medium.com/directeam: Kubernetes resources under the hood โ€” Part 1== ๐ŸŒŸ](https://medium.com/directeam/kubernetes-resources-under-the-hood-part-1-4f2400b6bb96) - - [==medium.com/directeam: Kubernetes resources under the hood โ€” Part 2== ๐ŸŒŸ](https://medium.com/directeam/kubernetes-resources-under-the-hood-part-2-6eeb50197c44) Do you think that CPU requests are just used for scheduling? Think again. Introducing CPU Shares, and laying the grounds for removing your limits! +- [==medium.com/directeam: Kubernetes resources under the hood โ€” Part 1== ๐ŸŒŸ](https://medium.com/directeam/kubernetes-resources-under-the-hood-part-1-4f2400b6bb96) + - [==medium.com/directeam: Kubernetes resources under the hood โ€” Part 2== ๐ŸŒŸ](https://medium.com/directeam/kubernetes-resources-under-the-hood-part-2-6eeb50197c44) Do you think that CPU requests are just used for scheduling? Think again. Introducing CPU Shares, and laying the grounds for removing your limits! This 3-part series covers how Kubernetes resources (CPU and memory) work. You will learn the following: + - CFS (Completely Fair Scheduler) + - Pod priorities + - Quality of Services + - How scheduling works + - OOM - [==medium.com/directeam: Kubernetes resources under the hood โ€” Part 3== ๐ŸŒŸ](https://medium.com/directeam/kubernetes-resources-under-the-hood-part-3-6ee7d6015965) **Kubernetes resources, breaking the limits! Understand the biggest Kubernetes misunderstanding and why you should remove your CPU limits and unleash your cluster's full potential** -- [developers.redhat.com: Kubernetes 101 for developers: Names, ports, YAML files, and more](https://developers.redhat.com/articles/2022/08/30/kubernetes-101-developers-names-ports-yaml-files-and-more) Kubernetes 101 for developers: +- [developers.redhat.com: Kubernetes 101 for developers: Names, ports, YAML files, and more](https://developers.redhat.com/articles/2022/08/30/kubernetes-101-developers-names-ports-yaml-files-and-more) Kubernetes 101 for developers: - Running multiple containers - Port management - Names @@ -230,6 +243,28 @@ - [Top 5 kubernetes challenges and their solutions](https://middleware.io/blog/kubernetes-challenges-and-solutions/) - [==jaffarshaik.medium.com: Kubernetes Architecture and components== ๐ŸŒŸ](https://jaffarshaik.medium.com/kubernetes-architecture-and-components-bf637dbd0526) - [syedasadrazadevops.medium.com: Deep Dive Into Kubernetes: Who to run pod, node container in Kubernetes (K8s)](https://syedasadrazadevops.medium.com/deep-dive-into-kubernetes-way-to-know-about-kubernetes-6a423c262b61) +- [==dzone.com: Kubernetes Architecture Diagram== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://dzone.com/articles/kubernetes-architecture-diagram) This article will explain each Kubernetes architecture example step, the entire structure, what itโ€™s used for, and how to use it. +- [levelup.gitconnected.com: 5 Tricks to take your Kubernetes skills to the next level](https://levelup.gitconnected.com/5-tricks-to-take-your-kubernetes-skills-to-the-next-level-a5541baeb18e) Whether you like Python, Java, or another language โ€” youโ€™ll probably need Kubernetes anyway. +- [thenewstack.io: Donโ€™t Pause Your Kubernetes Adoption โ€• PaaS It Instead!](https://thenewstack.io/dont-pause-your-kubernetes-adoption-paas-it-instead/) Adopting a PaaS abstraction can fast-track Kubernetes for software engineering teams of all sizes and shapes. +- [iximiuz.ck.page: Ivan on Containers, Kubernetes, and Backend Development](https://iximiuz.ck.page/posts/ivan-on-containers-kubernetes-and-backend-development-12) +- [blog.devgenius.io: Kubernetes(k8) High-level overview](https://blog.devgenius.io/kubernetes-k8-high-level-overview-d4e8ef59de00) +- [waltercode.medium.com: Understanding Kubernetes](https://waltercode.medium.com/understanding-kubernetes-a68bca45c9ce) +- [anirudhdaya.hashnode.dev: Kubernetes Explained- Part 1](https://anirudhdaya.hashnode.dev/kubernetes-explained-part-1) + - [anirudhdaya.hashnode.dev: Kubernetes Explained- Part 2](https://anirudhdaya.hashnode.dev/kubernetes-explained-part-2) +- [medium.com/@sakshampaliwal: What is Kubernetes(in short)?](https://medium.com/@sakshampaliwal/what-is-kubernetes-in-short-e92f2b81248a) +- [medium.com/@hnaveed221: A Quick Intro To Kubernetes](https://medium.com/@hnaveed221/starting-out-with-kubernetes-21d0bd03c956) K8s is a highly extensible system, comprises of many components that do one job and do it well, in this blog, my first attempt at explaining the brief intro of k8s with its architecture, role of master/worker node. +- [medium.com/the-techlife: Application life cycle management | Kubernetes](https://medium.com/the-techlife/application-life-cycle-management-kubernetes-4a52a6f8e5d8) Overview of configmaps, secrets, multi-container, and init-containers +- [hamees.hashnode.dev: Kubernetes: Explain like I'm 5](https://hamees.hashnode.dev/kubernetes-explain-like-im-5) +- [medium.com/siot-govtech: Kubernetes from Scratch](https://medium.com/siot-govtech/kubernetes-from-scratch-35add70e8b7f) +- [blog.learncodeonline.in: Kubernetes! An Architectural Overview](https://blog.learncodeonline.in/kubernetes) +- [ajay-yadav.medium.com: Internals of Kubernetes](https://ajay-yadav.medium.com/internals-of-kubernetes-aff264063e91) +- [enterprisersproject.com: A 15-minute primer on Kubernetes](https://enterprisersproject.com/article/2022/11/15-minute-primer-kubernetes) Brush up on your Kubernetes knowledge in less than 15 minutes with our new downloadable white paper +- [spacelift.io: What Is Kubernetes Architecture? โ€“ Components Overview](https://spacelift.io/blog/kubernetes-architecture) Kubernetes is a distributed system. It horizontally scales containers across multiple physical hosts termed Nodes. This produces fault-tolerant deployments. +- [medium.com/@Zard-x: A detailed explanation of Kubernetes architecture principles](https://medium.com/@Zard-x/a-detailed-explanation-of-kubernetes-architecture-principles-26abcac29f7c) +- [blog.frankel.ch: Back to basics: accessing Kubernetes pods](https://blog.frankel.ch/basics-access-kubernetes-pods/) +- [faun.pub: Kubernetes Architecture Explained โ€” Under 5 Minutes](https://faun.pub/kubernetes-architecture-explained-under-5-minutes-e35277c4b6bc) +- [okteto.com: What is Kubernetes Architecture?](https://www.okteto.com/blog/what-is-kubernetes-architecture/) +- [blogs.opentext.com: Understanding Kubernetes within containers](https://blogs.opentext.com/understanding-kubernetes-within-containers/) ### Kubernetes Jobs Market @@ -243,10 +278,11 @@ - Jenkins is more alive than ever. - Prometheus is synonymous with monitoring. No one comes close. - Terraform and Ansible lead IaC. -- [==kube.careers: Kubernetes jobs market trends for 2022 Q2==](https://kube.careers/kubernetes-trend-report-2022-q2) +- [kube.careers: Kubernetes jobs market trends for 2022 Q2](https://kube.careers/kubernetes-trend-report-2022-q2) - What's the average salary for a Kubernetes engineer? - What are the skill sets required for a Kubernetes job? - How much technical experience do you need in the current job market? +- [kube.careers: Kubernetes jobs market trends for 2022 Q3](https://kube.careers/kubernetes-trend-report-2022-q3) ### Certified Kubernetes Offerings @@ -581,6 +617,29 @@ - [medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch โ€” part 5](https://medium.com/@norlin.t/build-a-managed-kubernetes-cluster-from-scratch-part-5-a4c22f0c0245) - [topcloudops.com: Kubernetes Security, Rootless Containers](https://topcloudops.com/blog-detail?id=466c7bdd-ccb9-4722-abe5-d71a535113a2) Understanding docker and how to run container safely without compromising the host. - [topcloudops.com: Kubernetes Draining Nodes Properly](https://topcloudops.com/blog-detail?id=afa06d47-b8ea-4417-bb4c-7d164f8903e7) We describe the best way to drain without downtime + - [itnext.io: Kubernetes Draining Nodes Properly](https://itnext.io/kubernetes-draining-nodes-properly-79e18dca4d5e) +- [medium.com/devops-mojo: Kubernetes โ€” Open Standards (OCI, CRI, CNI, CSI, SMI, CPI) Overview](https://medium.com/devops-mojo/kubernetes-open-standards-oci-cri-cni-csi-smi-cpi-overview-what-is-k8s-open-standards-introduction-a860905af6f7) +- [itnext.io: Introduction to Kubernetes extensibility](https://itnext.io/kubernetes-extensibility-c5fed27f0952) +- [faun.pub: Deep into Container โ€” How Kubernetes works with Container Runtime](https://faun.pub/kubernetes-story-how-kubernetes-works-with-container-runtime-ce618a306f64) In this article, you'll learn how Kubernetes uses the Container Runtime to create containers. You will also discuss different types of container runtimes. +- [blog.axiomio.com: Seven Kubernetes Trends to Watch in Upcoming Years](https://blog.axiomio.com/seven-kubernetes-trends-to-watch-in-upcoming-years-e7d48e86c614) +- [vivek-syngh.medium.com: Running Highly Available Apps on Kubernetes](https://vivek-syngh.medium.com/running-highly-available-apps-on-kubernetes-17234b3dc0f) In this blog post, you'll learn a few tips for running highly available applications on Kubernetes: + - Using deployments + - RollingUpdate update strategy + - Spreading pods + - Pod disruption budgets +- [medium.com/@Paddy_Adallah: How to Choose Kubernetes Platforms for Enterprise Deployments](https://medium.com/@Paddy_Adallah/how-to-choose-kubernetes-platforms-for-enterprise-deployments-c04d5e436543) +- [sunnykkc13.medium.com: Deep Dive into Kubernetes](https://sunnykkc13.medium.com/deep-dive-into-kubernetes-238258c9a536) +- [medium.com/@issy972: Balancing reliability, cost and performance with Kubernetes](https://medium.com/@issy972/balancing-reliability-cost-and-performance-with-kubernetes-45aae8489a3c) +- [imoisharma.medium.com: How Leader election works in Kubernetesโ€” By M. Sharma](https://imoisharma.medium.com/how-leader-election-works-in-kubernetes-by-m-sharma-635d213b3fd1) In this post, you'll learn how you can use Kubernetes to easily perform leader elections in your distributed application +- [howtogeek.com: How to Clean Up Old Containers and Images in Your Kubernetes Cluster](https://www.howtogeek.com/devops/how-to-clean-up-old-containers-and-images-in-your-kubernetes-cluster/) An active Kubernetes cluster can accumulate old containers and images. Ensuring discarded resources are removed when redundant helps to free up resources on your clusterโ€™s nodes. Hereโ€™s how to approach garbage collection in Kubernetes +- [medium.com/blablacar: Operating Node.js in Kubernetes at scale at BlaBlaCar](https://medium.com/blablacar/operating-node-js-in-kubernetes-at-scale-at-blablacar-3afb6d5d4299) In this case study, you will learn how BlaBlaCar uses CPU and memory metrics and other Kubernetes features to configure scaling for Node.js apps +- [infoworld.com: How to beat the Kubernetes skills shortage](https://www.infoworld.com/article/3679749/how-to-beat-the-kubernetes-skills-shortage.html) While Kubernetes container management is key to digital transformation, Kubernetes talent is in short supply. Follow these 4 strategies of successful companies to fill the gap. +- [blog.kubesimplify.com: DIY: How To Build A Kubernetes Policy Engine](https://blog.kubesimplify.com/diy-how-to-build-a-kubernetes-policy-engine) With the help of Kubernetes Admission Controller, Go, cert-manager and ko! +- [==faun.pub: Git Clone using Init-container | Kubernetes==](https://faun.pub/git-clone-using-init-container-kubernetes-b49535be6968) +- [itnext.io: K8s Tips: Accessing the API Server From a Pod](https://itnext.io/k8s-tips-accessing-the-api-server-from-a-pod-f6f72bc847de) Donโ€™t let this happen unless it is really necessary +- [medium.com/@tamerberatcelik: When and why to use Kubernetes?](https://medium.com/@tamerberatcelik/when-and-why-to-use-kubernetes-fface756859f) +- [kymidd.medium.com: Letโ€™s Do DevOps: EKS K8s & Python Fuzzy Staging with AWS Secrets Manager, K8s Init disk, Secrets Injection](https://kymidd.medium.com/lets-do-devops-eks-k8s-python-fuzzy-staging-with-aws-secrets-manager-k8s-init-disk-secrets-b0d8022f3a5d) In this tutorial, you'll learn how to create a python program that uses IAM for Service Account to search for secrets in Secrets Manager and store them in a volume. The script can be used as an init container to inject secrets into any pod. +- [medium.com/geekculture: K8s โ€” Kubelet](https://medium.com/geekculture/k8s-kubelet-621fe55c3c7) The kubelet is the primary โ€œnode agentโ€ that runs on each node. It can register the node with the apiserver using one of: the hostname; a flag to override the hostname; or specific logic for a cloud provide ### kubeconfig @@ -607,6 +666,7 @@ - [itnexst.io: Docker and Kubernetes โ€” root vs. privileged](https://itnext.io/docker-and-kubernetes-root-vs-privileged-9d2a37453dec) - [containerjournal.com: Best of 2020: How Docker and Kubernetes Work Together](https://containerjournal.com/topics/container-ecosystems/how-docker-and-kubernetes-work-together/) - [blog.sighup.io: How to run Kubernetes without Docker](https://blog.sighup.io/how-to-run-kubernetes-without-docker/) Sooner or later this moment had to come, and it finally has: Kubernetes is deprecating Docker as a Container Runtime Interface in favor of the other supported runtimes. Let's try to explain why Docker seems really replaceable. +- [betterprogramming.pub: How to Migrate From Docker Compose to Kubernetes](https://betterprogramming.pub/how-to-migrate-from-docker-compose-to-kubernetes-b57eb229beb2) Move your services from docker-compose files to Kubernetes resources and deploy them #### Kubernetes vs Docker @@ -692,6 +752,8 @@ - [betterprogramming.pub: Understanding Kubernetes Multi-Container Pod Patterns](https://betterprogramming.pub/understanding-kubernetes-multi-container-pod-patterns-577f74690aee) A guide to Sidecar, Ambassador, and Adapter patterns with hands-on examples. - [medium.com/@danielaaronw: K8s Pod Anti-affinity](https://medium.com/@danielaaronw/k8s-pod-anti-affinity-dd2667a20c5f) How to ensure high availability when scheduling pods on a kubernetes cluster. - [mouliveera.medium.com: How to update configmap on POD without restart](https://mouliveera.medium.com/how-to-update-configmap-on-pod-without-restart-be3c0b4433af) +- [devopscube.com: Kubernetes Pod Priority, PriorityClass, and Preemption Explained ๐ŸŒŸ](https://devopscube.com/pod-priorityclass-preemption/) +- [medium.com/@meng.yan: What Happens When Deleting a Pod](https://medium.com/@meng.yan/what-happens-when-deleting-a-pod-d1219c7e1b53) #### Kubernetes ConfigMaps @@ -706,6 +768,9 @@ - [linuxadvise.com: Kubernetes Config Maps](https://www.linuxadvise.com/post/kubernetes-config-maps) - [aditya-sunjava.medium.com: Externalizing Configurations in Kubernetes Using ConfigMap and Secret](https://aditya-sunjava.medium.com/externalizing-configurations-in-kubernetes-using-configmap-and-secret-bfda0970d8ae) - [thenewstack.io: How to Make the Most of Kubernetes Environment Variables](https://thenewstack.io/how-to-make-the-most-of-kubernetes-environment-variables/)Environment variables play an important role in Kubernetes. You can use them not only to provide basic information about the operating system to your application, but also as the main configuration mechanism for your pods or for passing sensitive information. Itโ€™s not uncommon in Kubernetes to extract as much configuration as possible as info ConfigMaps and environment variables to keep your Docker images as generic as possible. As you can see, even something simple like environment variables have a few options in Kubernetes. +- [medium.com/@shrishtishreya: Kubernetes ConfigMaps Explained](https://medium.com/@shrishtishreya/kubernetes-configmaps-explained-c6e7c9a6e6a6) **A ConfigMap is an API object that lets you store configuration for other objects to use. Unlike most Kubernetes objects that have a spec, a ConfigMap has data and binaryData fields.** +- [medium.com/open-devops-academy: Learn Kubernetes: ConfigMap โ€” Inject the values of a ConfigMap in a container as a volume](https://medium.com/open-devops-academy/kubernetes-inject-the-values-of-a-configmap-in-a-container-as-a-volume-628c39f3ea43) +- [thorsten-hans.com: Hot-Reload .NET Configuration in Kubernetes with ConfigMaps](https://www.thorsten-hans.com/hot-reload-net-configuration-in-kubernetes-with-configmaps/) #### Kubernetes Secrets @@ -716,17 +781,13 @@ - Authorization management - Resource usage - GitOps friendliness +- [medium.com/4th-coffee: State of Kubernetes Secrets Management in 2022](https://medium.com/4th-coffee/state-of-kubernetes-secrets-management-in-2022-6148af91e7b5) +- [auth0.com: Shhhh... Kubernetes Secrets Are Not Really Secret!](https://auth0.com/blog/kubernetes-secrets-management/) Learn how to setup secure secrets on Kubernetes using Sealed Secrets, External Secrets Operator, and Secrets Store CSI driver. +- [faun.pub: Encrypting Kubernetes Secrets at Rest](https://faun.pub/encrypting-kubernetes-secrets-at-rest-1b835e228c6a) A guideline to encrypt kubernetes secrets data. #### Kubernetes Volumes -- [linkedin.com/pulse: What are Kubernetes Persistent Volumes?](https://www.linkedin.com/pulse/what-kubernetes-persistent-volumes-gyan-prakash-1f/) -- [blog.newrelic.com: Kubernetes Fundamentals, Part 5: Working with Kubernetes Volumes](https://blog.newrelic.com/engineering/how-to-use-kubernetes-volumes/) -- [==medium.com/codex: Kubernetes Persistent Volume Explained==](https://medium.com/codex/kubernetes-persistent-volume-explained-fb27df29c393) Learn what a Persistent Volume is and how to create a persistent volume from a storage class. Then, learn how to create a persistent volume claim and how to attach the PVC to a Pod: - - How to create a persistent volume from a storage class - - How to create a persistent volume claim - - How to attach the PVC to a Pod -- [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 Storage - Volumes](kubernetes-storage.md#kubernetes-volumes) #### Kubernetes Namespaces and Multi Tenancy. Self Service Namespaces @@ -758,10 +819,32 @@ - [thinksys.com: Understanding Multi-Tenancy in Kubernetes ๐ŸŒŸ](https://www.thinksys.com/devops/kubernetes-multi-tenancy/) - [containiq.com: Kubernetes Multi-Tenancy | Best Practices in 2022](https://www.containiq.com/post/kubernetes-multi-tenancy) In Kubernetes, multi-tenancy is when multiple users share a single cluster. In this article, youโ€™ll learn when to consider multi-tenancy, its benefits, and how to get the most out of it. - [doordash.engineering: Fast Feedback Loop for Kubernetes Product Development in a Production Environment](https://doordash.engineering/2022/06/23/fast-feedback-loop-for-kubernetes-product-development-in-a-production-environment/) +- [towardsaws.com: Kubernetes Multi-Tenancy Approach](https://towardsaws.com/kubernetes-multi-tenancy-approach-b0f58d615971) Using Minikube For Demonstration. In this article, you'll compare 2 approaches to multi-tenancy: + - Using RBAC and namespaces + - Using the Capsule operator +- [loft.sh: 10 Essentials For Kubernetes Multi-Tenancy](https://loft.sh/blog/10-essentials-for-kubernetes-multi-tenancy) + - Resource Limits + - Cost Tracking + - Audit Logging + - Network Policies + - RBAC + - Virtual Clusters + - Pod Security + - Usage Metrics + - Secrets Encryption at Rest + - Policy Engines +- [medium.com/@het.trivedi05: Designing Multi-Tenant Applications on Kubernetes](https://medium.com/@het.trivedi05/designing-multi-tenant-applications-on-kubernetes-f0470f8e641c) +- [blog.joshgav.com: Clusters for all! - 16 May 2022 on Multitenancy, Clusters](https://blog.joshgav.com/posts/cluster-level-multitenancy) In this article you will compare different tools for multitenancy in Kubernetes: + - vcluster + - Cluster API Provider Nested (CAPN) + - HyperShift + - kcp +- [divya-mohan0209.medium.com: Moโ€™ tenancy, Moโ€™ problems.](https://divya-mohan0209.medium.com/mo-tenancy-mo-problems-f031f75374f7) A curated (but not exhaustive) list of FOSS projects addressing multi-tenancy challenges in K8s. +- [cast.ai: Kubernetes Namespace: How To Use It To Organize And Optimize Costs](https://cast.ai/blog/kubernetes-namespace-how-to-use-it-to-organize-and-optimize-costs/) ##### Kiosk Multi-Tenancy Extension for Kubernetes -- [==loft-sh/kiosk==](https://github.com/loft-sh/kiosk) kiosk Multi-Tenancy Extension For Kubernetes - Secure Cluster Sharing & Self-Service Namespace Provisioning. +- [==loft-sh/kiosk==](https://github.com/loft-sh/kiosk) kiosk Multi-Tenancy Extension For Kubernetes - Secure Cluster Sharing & Self-Service Namespace Provisioning. - Kubernetes is designed as a single-tenant platform, which makes it hard for cluster admins to host multiple tenants in a single Kubernetes cluster. However, sharing a cluster has many advantages, e.g. more efficient resource utilization, less admin/configuration effort or easier sharing of cluster-internal resources among different tenants. - While there are hundreds of ways of setting up multi-tenant Kubernetes clusters and many Kubernetes distributions provide their own tenancy logic, there is no lightweight, pluggable and customizable solution that allows admins to easily add multi-tenancy capabilities to any standard Kubernetes cluster. @@ -778,6 +861,7 @@ - [linuxadvise.com: Kubernetes Node Selectors](https://www.linuxadvise.com/post/kubernetes-node-selectors) - [ithands-on.com: Kubernetes 101 : Changing a Pod's label on the fly](https://www.ithands-on.com/2021/04/kubernetes-101-changing-pods-label-on.html) - [blog.newrelic.com: Kubernetes Fundamentals, Part 4: How to Organize Clusters](https://blog.newrelic.com/engineering/how-to-organize-kubernetes-clusters/) +- [cast.ai: Kubernetes Labels: Expert Guide with 10 Best Practices](https://cast.ai/blog/kubernetes-labels-expert-guide-with-10-best-practices/) With Kubernetes labels, DevOps teams can troubleshoot issues faster, apply configuration changes en masse, and respond quickly to issues. Labels also give crucial insights into your costs, boosting your monitoring, allocation, and management capabilities. Following best practices when using labels helps you realize tremendous benefits from infrastructure visibility and efficient operations. #### Kubernetes Taints and Tolerations @@ -813,6 +897,12 @@ - [learnsteps.com: Basics on Kubernetes: What exactly is a deployment?](https://www.learnsteps.com/basics-on-kubernetes-what-exactly-is-a-deployment/) - [polarsquad.com: Check your Kubernetes deployments!](https://polarsquad.com/blog/check-your-kubernetes-deployments) - [yankeexe.medium.com: How Rolling and Rollback Deployments work in Kubernetes](https://yankeexe.medium.com/how-rolling-and-rollback-deployments-work-in-kubernetes-8db4c4dce599) +- [medium.com/okteto: Beginnerโ€™s Guide to Kubernetes Deployments](https://medium.com/okteto/beginners-guide-to-kubernetes-deployments-50f066d95d2b) +- [blog.devgenius.io: Zero downtime deployment with Kubernetes using Rolling update Strategy](https://blog.devgenius.io/zero-downtime-deployment-with-kubernetes-using-rolling-update-strategy-bff45de8c3c3) +- [dinushad92.medium.com: Building a resilient deployment on Kubernetes-part 3: Keep the deployment up to date with the latest releases](https://dinushad92.medium.com/building-a-resilient-deployment-on-kubernetes-part-3-keep-the-deployment-up-to-date-with-the-7296f18f275a) In this article, you'll learn the two strategies to update a Kubernetes deployment and their benefits: + - Rolling update + - Recreate +- [medium.com/@chamakenjefi: Kubernetes deployments using a ConfigMap with a custom index.html page](https://medium.com/@chamakenjefi/kubernetes-deployments-using-a-configmap-with-a-custom-index-html-page-5b4de0a7aa1b) #### Kubernetes StatefulSet @@ -821,11 +911,16 @@ - [loft.sh: Kubernetes StatefulSet - Examples & Best Practices](https://loft.sh/blog/kubernetes-statefulset-examples-and-best-practices/) - [loft-sh.medium.com: Kubernetes StatefulSet โ€” Examples & Best Practices](https://loft-sh.medium.com/kubernetes-statefulset-examples-best-practices-902cd50f7fff) - [tom-sapak.medium.com: Deployment vs. StatefulSet for stateful applications](https://tom-sapak.medium.com/deployment-vs-statefulset-for-stateful-applications-eebd6522e102) +- [itnext.io: Kubernetes StatefulSet Initialization with Unique Configs per Pod](https://itnext.io/kubernetes-statefulset-initialization-with-unique-configs-per-pod-7e02c01ada65) How to mount a unique configuration per pod for a stateful application (e.g. how to mount separate configurations for master and slave database pods) +- [niravshah2705.medium.com: Play with volume for statefulsets](https://niravshah2705.medium.com/play-with-volume-for-statefulsets-7fbf14221e74) Unlike Deployments, StatefulSets require some special care if you want to: + - Increase the available storage space + - Move the data to another zone or region #### Kubernetes DaemonSets - [Getting a shell on each node](https://gist.github.com/xandout/8d24558c75c53f3cb8bf0a97ec25fcfc) Learn how you can use a **DaemonSet to expose an SSH shell on each node** of your cluster (even if you don't have SSH installed) - [thenewstack.io: Kubernetes DaemonSets: A Detailed Introductory Tutorial](https://thenewstack.io/kubernetes-daemonsets-a-detailed-introductory-tutorial/) +- [blog.learncodeonline.in: Kubernetes Scheduling - DaemonSet](https://blog.learncodeonline.in/kubernetes-scheduling-daemonset) What is Kubernetes Daemon Set! How it is different from ReplicaSet! #### Kubernetes Jobs and Cron Jobs @@ -838,12 +933,24 @@ - [containiq.com: Kubernetes Jobs | Use Cases, Scheduling, and Failure](https://www.containiq.com/post/kubernetes-jobs) Learn more about Kubernetes best practices and job cases. This article will even teach you how to create kubernetes jobs and how to handle failures. - [medium.com/geekculture: Setup a CronJob to execute Kubectl or AWS commands](https://medium.com/geekculture/setup-a-cronjob-to-execute-kubectl-or-aws-commands-c1c15dd4ff1f) Kubernetes Tricks | AWS CLI | CronJob | Secrets | Backup Databases | Postgres Backup in Kubernetes - [dwdraju.medium.com: Kubernetes Job or CronJob: Which One to Use and When? ๐ŸŒŸ](https://dwdraju.medium.com/kubernetes-job-or-cronjob-which-one-to-use-and-when-4ffd4800d28e) +- [blog.devgenius.io: K8s โ€” Why Use Job Instead of Pod Directly?](https://blog.devgenius.io/k8s-why-use-job-instead-of-pod-directly-48cf4e24a0df) +- [medium.com/kudos-engineering: Migrating our cron jobs to Kubernetes](https://medium.com/kudos-engineering/migrating-our-cron-jobs-to-kubernetes-8597032d7622) In this case study, you will learn how the Engineering team at Kudos migrated all of their scheduled tasks to Kubernetes CronJobs +- [kubernetes-sigs/kueue: Kubernetes-native Job Queueing](https://github.com/kubernetes-sigs/kueue) Kueue is a set of APIs and controller for job queueing. It is a job-level manager that decides when a job should be admitted to start (as in pods can be created) and when it should stop (as in active pods should be deleted). +- [spacelift.io: CronJob in Kubernetes โ€“ Automating Tasks on a Schedule](https://spacelift.io/blog/kubernetes-cronjob) #### Kubernetes Services - [blog.alexellis.io: A Primer: Accessing services in Kubernetes](https://blog.alexellis.io/primer-accessing-kubernetes-services/) Learn how to access your applications on Kubernetes and the differences between a LoadBalancer, NodePort, port-forwarding and Ingress through examples - [faun.pub: Kubernetes โ€” Active/Passive Load Balancing with Services](https://faun.pub/active-passive-load-balancing-with-kubernetes-services-742cae1938af) There can be a number of reasons one might want to do active/passive load balancing, for example licensing constraints, etc. In this article, you will learn how to do so in Kubernetes using labels and services - [harness.io: Kubernetes Services Explained ๐ŸŒŸ](https://harness.io/blog/kubernetes-services-explained) This tutorial will explain the difference between four Kubernetes service types, and how you should choose the best one for your application. +- [devineer.medium.com: Kubernetes Services Explained](https://devineer.medium.com/kubernetes-services-explained-22b4dd11de02) +- [sharadregoti.com: Kubernetes Services Explained: Cluster IP, NodePort, Loadbalancer, Ingress, Ingress Controllers](https://sharadregoti.com/2022/06/24/01-explained-kubernetes-services-ingress.html) This article covers: + - How Kubernetes solves Service Discovery + - How a Load Balancer Service provisions a (cloud) Load Balancer + - How a production-ready Kubernetes cluster exposes its apps + - The difference between Ingress & Ingress controllers +- [whyk8s.substack.com: Why Services?](https://whyk8s.substack.com/p/why-services) Could Kubernetes have been built with only Pods and Deployments? What do load balancers and DNS have to do with it? +- [medium.com/@ankitrai_13207: Kubernetes: Deployment & Service](https://medium.com/@ankitrai_13207/kubernetes-deployment-service-6f32b7e63f16) ### Kubernetes Deployment Strategies @@ -864,6 +971,7 @@ - [prakashkumar0301.medium.com: Blue-Green Deployment with Kubernetes](https://prakashkumar0301.medium.com/blue-green-deployment-with-kubernetes-a37a534a2ef4) - [emirayhan.medium.com: Kubernetes (k8s) Deployment Strategies](https://emirayhan.medium.com/kubernetes-k8s-deployment-strategies-eb3a0f5cbc49) - [faun.pub: Kubernetes Deployment Strategies](https://faun.pub/kubernetes-deployment-strategies-f36e7e4d2be) In this post, we will delve into Kubernetes (K8s) deployment concepts and some common strategies, looking at the advantages and disadvantages of each. A suitable deployment strategy enables you to minimize downtime, enhance your customer experience, and increase reliability when releasing your application. +- [blog.devgenius.io: Kubernetes Deployment Strategy Explained ๐ŸŒŸ](https://blog.devgenius.io/kubernetes-deployment-strategy-explained-bf27fea088e1) ### Kubernetes API @@ -890,6 +998,7 @@ - Kubernetes Custom Resources - Kubernetes Custom Controllers - Kubernetes Admission Webhooks +- [==dev.to: The Kubernetes API architecture | Daniele Polencic== ๐ŸŒŸ](https://dev.to/danielepolencic/the-kubernetes-api-architecture-1pi9) #### Multi-Cluster Services API @@ -922,8 +1031,9 @@ - How to configure the deployment manifest of your application to efficiently report its state - [hmh.engineering: Dive into Kubernetes Healthchecks (part 2)](https://hmh.engineering/dive-into-kubernetes-healthchecks-part-2-a9f83eb712d5) - [medium.com/devops-mojo: Kubernetes โ€” Probes (Liveness, Readiness, and Startup) Overview](https://medium.com/devops-mojo/kubernetes-probes-liveness-readiness-startup-overview-introduction-to-probes-types-configure-health-checks-206ff7c24487) Introduction to Types of Probes and Configure Health Checks using Probes in Kubernetes. -- [doordash.engineering: How to Handle Kubernetes Health Checks](https://doordash.engineering/2022/08/09/how-to-handle-kubernetes-health-checks/) +- [doordash.engineering: How to Handle Kubernetes Health Checks](https://doordash.engineering/2022/08/09/how-to-handle-kubernetes-health-checks/) In this article, the team at DoorDash shares the lessons learned from not paying enough attention to the Kubernetes probes and how those contributed to an outage during Black Friday - [datree.io: 6 Best Practices for Effective Readiness and Liveness Probes](https://datree.io/resources/kubernetes-readiness-and-liveness-probes-best-practices) +- [containiq.com: Kubernetes Liveness Probe | Practical Guide](https://www.containiq.com/post/kubernetes-liveness-probe) Itโ€™s often helpful to check if your Kubernetes application responds to requests in a healthy manner. In this post, youโ€™ll learn about liveness probes, including when and how to use them. ### Kubernetes Limits and Requests @@ -938,6 +1048,15 @@ - [faun.pub: Practical example of how to set requests and limits on Kubernetes](https://faun.pub/practical-example-of-how-to-set-requests-and-limits-on-kubernetes-87521b599983) - [==home.robusta.dev: For the love of god, stop using CPU limits on Kubernetes== ๐ŸŒŸ๐ŸŒŸ](https://home.robusta.dev/blog/stop-using-cpu-limits/) **Do you really understand CPU limits and requests on Kubernetes?** - [==netdata.cloud: Kubernetes Throttling Doesnโ€™t Have To Suck. Let Us Help!== ๐ŸŒŸ๐ŸŒŸ](https://www.netdata.cloud/blog/kubernetes-throttling-doesnt-have-to-suck-let-us-help/) **CPU limits are probably the most misunderstood concept in Kubernetes CPU resources allocation and management.** +- [==dnastacio.medium.com: Why you should keep using CPU limits on Kubernetes== ๐ŸŒŸ๐ŸŒŸ](https://dnastacio.medium.com/why-you-should-keep-using-cpu-limits-on-kubernetes-60c4e50dfc61) Or why staying away from unused CPU may be good for your containers. +- [komodor.com: Kubernetes CPU Limits and Throttling](https://komodor.com/learn/kubernetes-cpu-limits-throttling/) CPU throttling means that applications are granted more constrained resources when they are near to the containerโ€™s CPU limit. +- [==github.com/FairwindsOps: Goldilocks is a utility that can help you identify a starting point for resource requests and limits==](https://github.com/FairwindsOps/goldilocks) + - [==levelup.gitconnected.com: How to guess the right size for your Kubernetes Pods?==](https://levelup.gitconnected.com/how-to-guess-the-right-size-for-your-kubernetes-pods-9c88686fec) Guessing the right size for your Kubernetes resources and FinOps management using Goldilocks +- [medium.com/omio-engineering: CPU limits and aggressive throttling in Kubernetes](https://medium.com/omio-engineering/cpu-limits-and-aggressive-throttling-in-kubernetes-c5b20bd8a718) + - Have you seen your application get stuck or fail to respond to health check requests, and you canโ€™t find any explanation? It might be because of the CPU quota limit. We will explain more here. + - TL;DR: We would highly recommend removing CPU Limits in Kubernetes (or Disable CFS quota in Kublet) if you are using a kernel version with CFS quota bug unpatched. There is a serious, known CFS bug in the kernel that causes un-necessary throttling and stalls. +- [hackernoon.com: Kubernetes Resource Quotas](https://hackernoon.com/kubernetes-resource-quotas) +- [containiq.com: Kubernetes CPU Limits and Throttling](https://www.containiq.com/post/kubernetes-cpu-limits-and-throttling) In this post, youโ€™ll learn how Kubernetes CPU limits and throttling work, including the core concepts, uses, how to assign resources to containers and pods, and how to troubleshoot issues. ### Kubernetes Scheduler. Kube Scheduler @@ -966,6 +1085,7 @@ - [banzaicloud.com: Sidecar container lifecycle changes in Kubernetes 1.18 ๐ŸŒŸ](https://banzaicloud.com/blog/k8s-sidecars/) - [medium: Delaying application start until sidecar is ready](https://medium.com/@marko.luksa/delaying-application-start-until-sidecar-is-ready-2ec2d21a7b74) Taking advantage of a peculiar Kubernetes implementation detail to block containers from starting before another container starts. - [pauldally.medium.com: Kubernetes โ€“ An Introduction to Sidecars](https://pauldally.medium.com/kubernetes-an-introduction-to-sidecars-21d99fbd7de3) +- [thenewstack.io: Sidecars are Changing the Kubernetes Load-Testing Landscape](https://thenewstack.io/sidecars-are-changing-the-kubernetes-load-testing-landscape/) Sidecars don't just capture traffic. They can replay it as well. They can also transform any metadata, like timestamps, before it sends it to your application. ### Kubernetes Annotations @@ -1026,6 +1146,21 @@ - [cloudogu.com: Kubernetes least privilege implementation using the Google Cloud as an axample](https://cloudogu.com/en/blog/kubernetes-least-privilege-gcp-example) How are you avoiding accidental changes to #kubernetes? This post describes what cloudogu do featuring "kubectl sudo", " helm sudo" and "sudo context". - [blog.runx.dev: 5 Common Kubernetes Mistakes and how to avoid them](https://blog.runx.dev/5-common-kubernetes-mistakes-and-how-to-avoid-them-150607beb475) - [medium.com/@valentin.marlier: How to setup a Managed Kubernetes cluster the good way ?](https://medium.com/@valentin.marlier/how-to-setup-a-managed-kubernetes-cluster-the-good-way-18b2f81193eb) +- [hackernoon.com: Kubernetes Cluster Must-Haves To Be Production Ready](https://hackernoon.com/kubernetes-cluster-must-haves-to-be-production-ready) +- [==argonaut.dev: Choosing an Optimal Kubernetes Worker Node Size== ๐ŸŒŸ](https://www.argonaut.dev/blog/optimal-k8s-worker-node-size) This post focuses on helping you choose the optimal number of worker nodes and their sizes to run applications reliably while minimizing the waste of resources. +- [cncf.io: Kubernetes best practice: How to (correctly) set resource requests and limits](https://www.cncf.io/blog/2022/10/20/kubernetes-best-practice-how-to-correctly-set-resource-requests-and-limits/) + - [fairwinds.com: Kubernetes Best Practice: How to (Correctly) Set Resource Requests and Limits](https://www.fairwinds.com/blog/how-to-correctly-set-resource-requests-and-limits) +- [medium.com/@krishnendupatra: Best practices to achieve Zero downtime on Kubernetes deployments](https://medium.com/@krishnendupatra/best-practices-to-achieve-zero-downtime-on-kubernetes-deployments-438f15cd811e) +- [==levelup.gitconnected.com: How to guess the right size for your Kubernetes Pods?==](https://levelup.gitconnected.com/how-to-guess-the-right-size-for-your-kubernetes-pods-9c88686fec) Guessing the right size for your Kubernetes resources and FinOps management using Goldilocks +- [==itnext.io: Integrating Compliance for Kubernetes Pipeline==](https://itnext.io/integrating-compliance-for-kubernetes-pipeline-c538415401c5) Security should be at the heart when designing and developing complex and advanced systems targeted at end-users or giant firms. The most efficient way for build a complex application or system is by using microservices and Kubernetes as a containerized deployment engine. As developers and architects, it is our responsibility to make sure we have the best and most secure products and applications to deliver by avoiding any weak points that can be a security threat or a vulnerability to the whole ecosystem. This post provides the best practices to keep in mind when building containerized applications in a CI/CD pipeline. +- [medium.com/saas-infra: Stabilize Kubernetes MicroServices โ€” The Right Resources Settings](https://medium.com/saas-infra/stabilize-your-kubernetes-microservices-with-the-correct-resources-settings-2071fa11495d) +- [techbeacon.com: 5 Best Practices for Deploying Kubernetes](https://techbeacon.com/enterprise-it/5-best-practices-deploying-kubernetes) + - Use an Integrated Secrets Vault + - Define Access Controls Using IAM + - Keep Configuration Data Inside K8s Deployments + - Configure Integrated Logging + - Define Resource Minimumsโ€”but not Maximums +- [medium.com/application-driven-infrastructure: Best Practices for Understanding Kubernetes Costs](https://medium.com/application-driven-infrastructure/best-practices-for-understanding-kubernetes-costs-f3c58a5e1ebf)
[![k8s experts be like](images/k8sexpertsbelike.jfif){: style="width:50%"}](https://twitter.com/memenetes) @@ -1035,6 +1170,7 @@ - [thenewstack.io: Kubernetes: Use PodDisruptionBudgets for Application Maintenance and Upgrades](https://thenewstack.io/kubernetes-use-poddisruptionbudgets-for-application-maintenance-and-upgrades/) - [medium.com/@visweswara: Pod Disruption Budget โ€” Budget that can save you One day](https://medium.com/@visweswara/pod-disruption-budget-budget-that-can-save-you-one-day-7c22c8a11d) +- [saahitya.hashnode.dev: Pod Disruption Budget(Pdb)](https://saahitya.hashnode.dev/pod-disruption-budgetpdb) ### Cost Estimation Strategies @@ -1053,6 +1189,7 @@ - [dev.to: Kubernetes Cost Management and Analysis Guide ๐ŸŒŸ](https://dev.to/cloudforecast/kubernetes-cost-management-and-analysis-guide-1e1b) - [hackernoon.com: Reducing Kubernetes Costs](https://hackernoon.com/reducing-kubernetes-costs) - [medium.com/streamotion-tech-blog: Visualising the Cost of Kubernetes](https://medium.com/streamotion-tech-blog/visualising-the-cost-of-kubernetes-ca64f642de8c) +- [infoworld.com: Sysdigโ€™s new Cost Advisor aims to cut Kubernetes costs](https://www.infoworld.com/article/3677851/sysdigs-new-cost-advisor-aims-to-cut-kubernetes-costs.html) The company claims that the new tool, in combination with its existing Sysdig Monitor, can cut Kubernetes costs by an average of 40%. #### kubecost @@ -1102,6 +1239,7 @@ - GitOps - Karmada - And compare the pros and cons +- [==yashwanth-nimmala.medium.com: Single Cluster vs. Multiple Kubernetes Clusters==](https://yashwanth-nimmala.medium.com/single-cluster-vs-multiple-kubernetes-clusters-fb0eed64bad1) #### Wide Cluster instead of Multi-Cluster @@ -1147,6 +1285,10 @@ - [Krew](https://krew.sigs.k8s.io/) is the plugin manager for kubectl command-line tool. - [itnext.io: Extending Kubernetes Cluster; Kubectl Plugins and Krew](https://itnext.io/extending-kubernetes-cluster-kubectl-plugins-and-krew-547a8bc839a3) - [darumatic.com: Improve Kubectl Command with Krew](https://darumatic.com/blog/improve_kubectl_command_with_krew) Krew is a tool that aims to ease plugin discovery, installation, upgrade, and removal on multiple operating systems. This article will show you how easy it is to grab and experiment with existing plugins. +- [==awstip.com: Essential plugins for Kubectl CLI==](https://awstip.com/essential-plugins-for-kubectl-cli-e35cbc99037b) +- [github.com/jordanwilson230: kubectl-plugins](https://github.com/jordanwilson230/kubectl-plugins/tree/krew) A collection of plugins installable via Krew. This repo contains two kubectl plugins: + - `kubectl exec-as` โ€” Like `kubectl exec`, but offers a `--user` flag to exec as root (or any other user) + - `kubectl prompt` โ€” Displays a warning prompt when issuing commands in a flagged cluster or namespace - kubectl trace is now on the krew index!! Go install it now! ```bash @@ -1207,6 +1349,18 @@ - [kei6u/kubectl-secret-data](https://github.com/kei6u/kubectl-secret-data) A kubectl plugin for finding decoded secret data with productive search flags. - [medium: Cool Kubernetes command line plugins](https://medium.com/nontechcompany/cool-kubernetes-command-line-plugins-4b0e50362426) - [martinheinz.dev: Making Kubernetes Operations Easy with kubectl Plugins](https://martinheinz.dev/blog/58) +- [github.com/sigstore: k8s-manifest-sigstore](https://github.com/sigstore/k8s-manifest-sigstore) kubectl plugin for signing Kubernetes manifest YAML files with sigstore +- [kubespy](https://github.com/huazhihao/kubespy) pod debugging tool for kubernetes clusters with docker runtimes + - [faun.pub: Spying on Kubernetes Pods with kubespy](https://faun.pub/spying-on-kubernetes-pods-with-kubespy-3043a3ed044b) +- [itnext.io: 6 kubectl plugins you must try](https://itnext.io/6-kubectl-plugins-you-must-try-1411dcbcf950) Here are six plugins from the plugin management tool for kubectl. + - Kubepug + - Rakkess + - Ketall + - kubectl-Score + - kubectl-tree + - Outdated +- [==davidB/kubectl-view-allocations==](https://github.com/davidB/kubectl-view-allocations/) kubectl plugin lists allocations for resources (cpu, memory, gpu,...) as defined into the manifest of nodes and running pods. +- [Ramilito/kubesess](https://github.com/Ramilito/kubesess) kubesess(ion) is a kubectl plugin for managing sessions. With this plugin, it is possible to have one context per active shell session. ??? note "Video: Kubectl plugins. Click to expand!" @@ -1268,6 +1422,8 @@ ### Assigning Pods to Nodes. Pod Affinity and Anti-Affinity - [Affinity and anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) +- [blog.kubecost.com: Kubernetes node affinity: examples & instructions](https://blog.kubecost.com/blog/kubernetes-node-affinity/) Pod scheduling is one of the most important aspects of Kubernetes cluster management. How pods are distributed across nodes directly impacts performance and resource utilization. Kubernetes node affinity is an advanced scheduling feature that helps administrators optimize the distribution of pods across a cluster. This article will review scheduling basics, Kubernetes node affinity and anti-affinity, pod affinity and anti-affinity, and provide practical examples to help you get comfortable using this cluster scheduling feature. +- [medium.com/dlt-labs-publication: Kubernetes: Understanding Pod Affinity, Taint & Toleration](https://medium.com/dlt-labs-publication/kubernetes-understanding-pod-affinity-taint-toleration-2f9b9b218dd5) ### Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin @@ -1314,6 +1470,7 @@ - [KubeFed: Kubernetes Cluster Federation](https://github.com/kubernetes-sigs/kubefed) - [aquasec.com: Kubernetes Federation: The Basics and a 5-Step Tutorial](https://www.aquasec.com/cloud-native-academy/kubernetes-in-production/kubernetes-federation/) Learn about Kubernetes Federation use cases, how it works, and see how to create your first Kubernetes Federation in 5 steps. - Kubernetes Federation, or KubeFed, is a tool for coordinating the configuration of multiple clusters in Kubernetes. You can determine which clusters KubeFed will manage, and what their configuration looks like, all from a single group of APIs in the hosting cluster. KubeFed offers low-level mechanisms that can be used as a foundation for increasingly complex production Kubernetes use cases across multiple clusters, such as geographic redundancy and disaster recovery. +- [medium.com/expedia-group-tech: Manage multi-cluster Kubernetes infrastructure with Kubefed v2](https://medium.com/expedia-group-tech/managing-a-federated-kubernetes-cluster-using-kubefed-v2-5f115dbdbe05) In this article, you will discuss the need for a multi-cluster architecture and how kubefed solves that. Then, you will deploy an app and proceed to test the setup with a hands-on example ### KubeCarrier @@ -1386,6 +1543,8 @@ - [kodekloud.com: CKA vs CKAD vs CKS โ€“ What is the Difference](https://kodekloud.com/cka-vs-ckad-vs-cks-what-is-the-difference/) - [bmuschko/ckad-prep](https://github.com/bmuschko/ckad-prep) Exercises demonstrated as part of the video course "Certified Kubernetes Application Developer (CKAD) Prep Course" published by O'Reilly Media. +- [blog.jcprz.com: My tips to pass the CKA exam and whatโ€™s next](https://blog.jcprz.com/my-tips-to-pass-the-cka-exam-and-whats-next-8df2c3d38a7e) +- [medium.com/@vamshisuram: How to crack CKAD exam (part โ€” 2)](https://medium.com/@vamshisuram/how-to-crack-ckad-exam-part-2-26330c32a4e) ## Books and eBooks @@ -1484,6 +1643,8 @@ + +
@@ -1562,6 +1723,12 @@ + + + + + + @@ -1593,6 +1760,22 @@ + + + + + + + + + + + + + + + + diff --git a/docs/linux.md b/docs/linux.md index fb6bcc2a..44fb7a72 100644 --- a/docs/linux.md +++ b/docs/linux.md @@ -1,4 +1,5 @@ # Linux and SSH + 1. [Introduction](#introduction) 2. [RHEL](#rhel) 3. [Rocky Linux](#rocky-linux) @@ -23,18 +24,19 @@ 22. [Linux processes](#linux-processes) 23. [Linux Memory](#linux-memory) 24. [Linux and Kubernetes](#linux-and-kubernetes) - 1. [Systemd](#systemd) - 2. [Blogs](#blogs) - 3. [CommandLineFu](#commandlinefu) - 4. [Wait until Your Dockerized Database Is Ready before Continuing](#wait-until-your-dockerized-database-is-ready-before-continuing) - 5. [Copr Build System](#copr-build-system) - 6. [Pulp](#pulp) - 7. [Hashicorp](#hashicorp) + 1. [Systemd](#systemd) + 2. [Blogs](#blogs) + 3. [CommandLineFu](#commandlinefu) + 4. [Wait until Your Dockerized Database Is Ready before Continuing](#wait-until-your-dockerized-database-is-ready-before-continuing) + 5. [Copr Build System](#copr-build-system) + 6. [Pulp](#pulp) + 7. [Hashicorp](#hashicorp) 25. [Linux Libraries](#linux-libraries) 26. [Linux Networking](#linux-networking) 27. [Networking Protocols](#networking-protocols) -28. [Images](#images) -29. [Tweets](#tweets) +28. [Linux Hardening Security](#linux-hardening-security) +29. [Images](#images) +30. [Tweets](#tweets) ## Introduction @@ -75,7 +77,7 @@ - [neovim](https://neovim.io/) hyperextensible Vim-based text editor - [blog.ashwinchat.com: 9 Months of Full Time Neovim + Tmux](https://blog.ashwinchat.com/9-months-of-full-time-vim/) -## SSH +## SSH - [gravitational.com: How to SSH Properly ๐ŸŒŸ](https://gravitational.com/blog/how-to-ssh-properly/) - [19 Common SSH Commands In Linux With Examples](https://phoenixnap.com/kb/linux-ssh-commands) @@ -95,6 +97,7 @@ - [thenewstack.io: SSH Made Easy with SSH Agent and SSH Config](https://thenewstack.io/ssh-made-easy-with-ssh-agent-and-ssh-config/) - [linuxteck.com: 10 basic and most useful 'ssh' client commands in Linux](https://www.linuxteck.com/basic-ssh-client-commands-in-linux/) - [cyberciti.biz: How to audit SSH server and client config on Linux/Unix](https://www.cyberciti.biz/tips/how-to-audit-ssh-server-and-client-config-on-linux-unix.html) OpenSSH is critical for Linux & Unix servers. However, misconfig can create issues. But fear not, you can audit the SSH server & client config easily. You don't have to be a security guru. New developers and sysadmins can look for security & other issues. +- [==iximiuz.com: A Visual Guide to SSH Tunnels: Local and Remote Port Forwarding== ๐ŸŒŸ](https://iximiuz.com/en/posts/ssh-tunnels/) ## OpenSSL @@ -230,14 +233,16 @@ - [==redhat.com: 20 one-line Linux commands to add to your toolbox==](https://www.redhat.com/sysadmin/one-line-linux-commands) Every Linux user has a favorite single-line command. Here are the 20 Linux commands we can't live without. - [termshark](https://github.com/gcla/termshark) A terminal UI for tshark, inspired by Wireshark - [baeldung.com: Maximum Number of Threads Per Process in Linux](https://www.baeldung.com/linux/max-threads-per-process) -- [opensource.com: Record your terminal session with Asciinema](https://opensource.com/article/22/1/record-terminal-session-asciinema) +- [opensource.com: Record your terminal session with Asciinema](https://opensource.com/article/22/1/record-terminal-session-asciinema) - [redhat.com: 5 scripts for getting started with the Nmap Scripting Engine](https://www.redhat.com/sysadmin/nmap-scripting-engine) The NSE boosts Nmap's power by adding scripting capabilities (custom or community-created) to the network scanning tool. - [redhat.com: Linux troubleshooting commands: 4 tools for DNS name resolution problems](https://www.redhat.com/sysadmin/DNS-name-resolution-troubleshooting-tools) Find out what's stopping you from accessing a server, printer, or another network resource with these four Linux troubleshooting commands. - [==jvns.ca: A list of new(ish) command line tools | Julia Evans==](https://jvns.ca/blog/2022/04/12/a-list-of-new-ish--command-line-tools/) +- [itsfoss.com: 5 htop Alternatives to Enhance Your Linux System Monitoring Experience](https://itsfoss.com/htop-alternatives/) +- [dev.to: 50 Linux Commands every developer NEED to know with example](https://dev.to/kanani_nirav/50-linux-commands-every-developer-need-to-know-with-example-mc) ## Makefiles -- [makefiletutorial.com ๐ŸŒŸ](https://makefiletutorial.com/) Learn Makefiles With the tastiest examples +- [makefiletutorial.com ๐ŸŒŸ](https://makefiletutorial.com/) Learn Makefiles With the tastiest examples ## Guestfish @@ -253,7 +258,7 @@ - [igoroseledko.com: Checking Multiple Variables in Bash](https://www.igoroseledko.com/checking-multiple-variables-in-bash/) - [Introduction to Bash Scripting Interactive training](https://ebook.bobby.sh/training.html) - - [dev.to: Introduction to Bash Scripting - A DO Hackathon Submission](https://dev.to/bobbyiliev/introduction-to-bash-scripting-5571) + - [dev.to: Introduction to Bash Scripting - A DO Hackathon Submission](https://dev.to/bobbyiliev/introduction-to-bash-scripting-5571) - [datafix.com.au: BASHing data - Data ops on the Linux command line ๐ŸŒŸ](https://datafix.com.au/BASHing/) - [medium: How to trigger an action at the end of the Shell/Bash script](https://medium.com/bash-tips-and-tricks/how-to-trigger-an-action-at-the-end-of-the-shell-bash-script-52b0ba9c157e) Using Bash/Shell trap, a built-in command to define any action to be executed before exiting the Bash or Shell script. You can define multiple actions and per signal. - [redhat.com: Bash scripting: How to read data from text files](https://www.redhat.com/sysadmin/data-text-files) Here's how to extract data from a text file such as reading in a list of servers to test connectivity to them. @@ -282,6 +287,8 @@ - [opensource.com: An introduction to programming with Bash (eBook)](https://opensource.com/downloads/bash-programming-guide) - [pythonspeed.com: Please stop writing shell scripts](https://pythonspeed.com/articles/shell-scripts/) - [linuxshelltips.com: Whatโ€™s the Difference Between ${} and $() in Bash](https://www.linuxshelltips.com/difference-between-and-in-bash/) +- [medium.com/kubehub: A Series on Bash Scripting](https://medium.com/kubehub/a-series-on-bash-scripting-eecd0293fab5) +- [levelup.gitconnected.com: Start Your Scripting Journey Today | Bash Script โ€” Part 1](https://levelup.gitconnected.com/start-your-scripting-journey-today-bash-script-part-1-46cbddf4e4e7) Everything You Need to Know to Write Bash Scripts ## Questions and Answers @@ -384,13 +391,17 @@ - [iximiuz.com: Illustrated introduction to Linux iptables](https://iximiuz.com/en/posts/laymans-iptables-101/) - [linuxteck.com: 15 basic useful firewall-cmd commands in Linux](https://www.linuxteck.com/basic-useful-firewall-cmd-commands-in-linux/) - [tecmint.com: 20 Netstat Commands for Linux Network Management](https://www.tecmint.com/20-netstat-commands-for-linux-network-management/) -- [redhat.com: 5 Linux network troubleshooting commands](https://www.redhat.com/sysadmin/five-network-commands) Linux provides many command-line tools to help sysadmins manage, configure, and troubleshoot network settings. +- [redhat.com: 5 Linux network troubleshooting commands ๐ŸŒŸ](https://www.redhat.com/sysadmin/five-network-commands) Linux provides many command-line tools to help sysadmins manage, configure, and troubleshoot network settings. ## Networking Protocols - [freecodecamp.org: TCP vs. UDP โ€” What's the Difference and Which Protocol is Faster?](https://www.freecodecamp.org/news/tcp-vs-udp/) - [howdns.works](https://howdns.works/) A fun and colorful explanation of how DNS works. +## Linux Hardening Security + +- [cyberciti.biz: 40 Linux Server Hardening Security Tips [2022 edition]](https://www.cyberciti.biz/tips/linux-security.html) + ## Images ??? note "Click to expand!" @@ -412,5 +423,11 @@ + + + + + + diff --git a/docs/lowcode-nocode.md b/docs/lowcode-nocode.md index 82d0f735..70848cad 100644 --- a/docs/lowcode-nocode.md +++ b/docs/lowcode-nocode.md @@ -9,4 +9,5 @@ - [itnext.io: For Developers the Low-Code Winter Is Coming](https://itnext.io/for-developers-the-low-code-winter-is-coming-76875d3606c0) Prepare for hard times or move to where the sun is shining - [thenewstack.io: Why Businesses Want to Enable โ€˜No-Codeโ€™ and โ€˜Low-Codeโ€™ Automation](https://thenewstack.io/why-businesses-want-to-enable-no-code-and-low-code-automation/) - [thenewstack.io: Low Code for Pro Coders](https://thenewstack.io/low-code-for-pro-coders/) -- [acloudguru.com: AWS adds to the no-code pile: Is it the end of the engineer?](https://acloudguru.com/blog/engineering/aws-adds-to-the-no-code-pile-is-it-the-end-of-the-engineer) \ No newline at end of file +- [acloudguru.com: AWS adds to the no-code pile: Is it the end of the engineer?](https://acloudguru.com/blog/engineering/aws-adds-to-the-no-code-pile-is-it-the-end-of-the-engineer) +- [techradar.com: Low-code could replace "traditional" coding within months](https://www.techradar.com/news/low-code-could-replace-traditional-coding-within-months) \ No newline at end of file diff --git a/docs/managed-kubernetes-in-public-cloud.md b/docs/managed-kubernetes-in-public-cloud.md index 84eb21f3..1b5fd919 100644 --- a/docs/managed-kubernetes-in-public-cloud.md +++ b/docs/managed-kubernetes-in-public-cloud.md @@ -11,6 +11,7 @@ 4. [EKS Distro (EKS-D)](#eks-distro-eks-d) 5. [Testing Kubernetes Canary deployment on EKS](#testing-kubernetes-canary-deployment-on-eks) 6. [AKS Azure Kubernetes Service](#aks-azure-kubernetes-service) + 1. [AKS Lite](#aks-lite) 7. [GKE Google Kubernetes Engine](#gke-google-kubernetes-engine) 8. [IKS IBM Cloud Kubernetes Service](#iks-ibm-cloud-kubernetes-service) 9. [Linode Kubernetes Engine LKE](#linode-kubernetes-engine-lke) @@ -60,6 +61,7 @@ - [dzone: kops vs EKS](https://dzone.com/articles/kops-vs-eks-a-comparison-guide) - [udemy.com: amazon eks starter kubernetes on aws](https://www.udemy.com/course/amazon-eks-starter-kubernetes-on-aws/) - [eksctl: EKS installer](https://github.com/weaveworks/eksctl) + - [medium.com/@thapliyal705: Create Amazon EKS Cluster from scratch using eksctl](https://medium.com/@thapliyal705/create-amazon-eks-cluster-from-scratch-using-eksctl-67e0d0900245) - [medium: Implementing Kubernetes Cluster using AWS EKS (AWS Managed Kubernetes)](https://medium.com/@devopsadvocate/how-to-setup-kubernetes-cluster-using-aws-eks-aws-managed-kubernetes-181d5567a8ef) - [Amazon EKS Security Best Practices](https://www.stackrox.com/post/2019/09/amazon-eks-security-best-practices/) - [thenewstack.io: Install and Configure OpenEBS on Amazon Elastic Kubernetes Service](https://thenewstack.io/tutorial-install-and-configure-openebs-on-amazon-elastic-kubernetes-service/) @@ -106,7 +108,7 @@ - [cast.ai: AWS EKS vs. ECS vs. Fargate: Where to manage your Kubernetes?](https://cast.ai/blog/aws-eks-vs-ecs-vs-fargate-where-to-manage-your-kubernetes/) - [cast.ai: 8 best practices to reduce your AWS bill for Kubernetes](https://cast.ai/blog/8-best-practices-to-reduce-your-aws-bill-for-kubernetes) - [aws whitepapers: Architecting Amazon EKS for PCI DSS Compliance (pdf) ๐ŸŒŸ๐ŸŒŸ](https://d1.awsstatic.com/whitepapers/architecting-amazon-eks-for-pci-dss-compliance.pdf) -- [github.com/aws/eks-charts ๐ŸŒŸ](https://github.com/aws/eks-charts) +- [==github.com/aws/eks-charts== ๐ŸŒŸ](https://github.com/aws/eks-charts) Amazon EKS Helm chart repository - [AWS Load Balancer Controller ๐ŸŒŸ](https://kubernetes-sigs.github.io/aws-load-balancer-controller) - [Updating a managed node group](https://docs.aws.amazon.com/eks/latest/userguide/update-managed-node-group.html) amazon eks managed node groups now supports parallel node upgrades - [particule.io: Create Kubernetes federated clusters on AWS](https://particule.io/en/blog/aws-federated-eks/) @@ -165,6 +167,41 @@ - [==aws.github.io/aws-eks-best-practices: Amazon EKS Best Practices Guides== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://aws.github.io/aws-eks-best-practices/networking/index/) **Welcome to the EKS Best Practices Guides. The primary goal of this project is to offer a set of best practices for day 2 operations for Amazon EKS. We elected to publish this guidance to GitHub so we could iterate quickly, provide timely and effective recommendations for variety of concerns, and easily incorporate suggestions from the broader community.** - [==Amazon EKS Best Practices Guide for Networking==](https://aws.github.io/aws-eks-best-practices/networking/index/) Intro to Amazon VPC Container Network Interface (VPC CNI) in the context of Kubernetes cluster networking. VPC CNI is the default networking plugin supported by EKS. The VPC CNI is highly configurable to support different use cases. - [medium.com/@chandranathmondal: ==Self-service Amazon EKS Cluster provisioning with Kubernetes configuration applied== ๐ŸŒŸ](https://medium.com/@chandranathmondal/self-service-amazon-eks-cluster-provisioning-with-kubernetes-configuration-applied-372bce839d7) +- [AWS and Kubecost collaborate to deliver cost monitoring for EKS customers](https://aws.amazon.com/blogs/containers/aws-and-kubecost-collaborate-to-deliver-cost-monitoring-for-eks-customers/) +- [eng.grip.security: Enabling AWS IAM Group Access to an EKS Cluster Using RBAC](https://eng.grip.security/enabling-aws-iam-group-access-to-an-eks-cluster-using-rbac) There is no standardized method for providing IAM group access to an EKS cluster or namespace. In this article, you will learn how you can use an IAM role to authenticate the user group automatically and transparently when kubectl is being used. +- [medium.com/@andriikrymus: DNS config for EKS](https://medium.com/@andriikrymus/dns-config-for-eks-61eb70c3e31e) Elastic Kubernetes Service provide coredns add-on for k8s. Unfortunately, this add-on lucks of configuration options (for example, nodeSelector). In this article, you will learn how to patch it, and configure it the way you want it. +- [cast.ai: EKS Security Checklist: 10 Best Practices for a Secure Cluster](https://cast.ai/blog/eks-security-checklist-10-best-practices-for-a-secure-cluster/) +- [==github.com/kubernetes-sigs/aws-load-balancer-controller==](https://github.com/kubernetes-sigs/aws-load-balancer-controller) AWS Load Balancer Controller is a controller to help manage Elastic Load Balancers for a Kubernetes cluster. It satisfies: + - Ingress resources by provisioning Application Load Balancers + - Service resources by provisioning Network Load Balancers +- [thenewstack.io: Amazon Web Services Gears Elastic Kubernetes Service for Batch Work](https://thenewstack.io/amazon-web-services-gears-elastic-kubernetes-service-for-batch-jobs/) AWS Batch is ideal for developers looking for a more simplified workflow when it comes to managing Kubernetes clusters and pods to use with their batch jobs. +- [silvr.medium.com: Using Kyverno To Enforce AWS Load Balancer Annotations For Centralized Logging To S3](https://silvr.medium.com/using-kyverno-to-enforce-aws-load-balancer-annotations-for-centralized-logging-to-s3-af5dc1f1f3e0) In this tutorial, you'll learn how to use Kyverno to automatically configure annotations that enable access logs for an AWS Network Load Balancer (NLB) to be forwarded to an S3 bucket for a service of type `LoadBalancer`. +- [blog.jimmyray.io: Kubernetes Workload Identity with AWS SDK for Go v2](https://blog.jimmyray.io/kubernetes-workload-identity-with-aws-sdk-for-go-v2-927d2f258057) Using AWS SDK for Go v2 and AWS IAM Roles for Service Accounts. In this article, you'll learn how to use the AWS SDK for Go v2 and AWS IAM Roles for Service Accounts to grant permissions to access AWS services from wuthin Kubernetes +- [github.com/rebataur/djkube](https://github.com/rebataur/djkube) Tool for Django Developers to setup full stack EKS Kubernetes with all necessary tools including DevSecOps in 40 minutes. If you are a Python Django developer then djkube provides you with best user experience in easily running your full-stack Django apps on Kubernetes in AWS with just a few clicks. +- [==aws.amazon.com: Troubleshooting Amazon EKS API servers with Prometheus and Grafana==](https://aws.amazon.com/blogs/containers/troubleshooting-amazon-eks-api-servers-with-prometheus/) +- [medium.com/geekculture: EKS โ€” Kubernetes โ€” Not Ready nodes](https://medium.com/geekculture/eks-kubernetes-not-ready-nodes-dafb300ed299) Today Iโ€™m going to talk about an issue that I encounter a couple of days ago while working on EKS 1.21. +- [==faun.pub: How to access AWS services from EKS==](https://faun.pub/how-to-access-aws-services-from-eks-ab5fa003a1b6) Solutions to access AWS APIs from Kubernetes +- [aws.amazon.com: Persistent storage for Kubernetes](https://aws.amazon.com/blogs/storage/persistent-storage-for-kubernetes/) +- [aws.amazon.com: Machine Learning with Kubeflow on Amazon EKS with Amazon EFS](https://aws.amazon.com/blogs/storage/machine-learning-with-kubeflow-on-amazon-eks-with-amazon-efs/) +- [faun.pub: AWS EKS: The Ultimate Guide To Deploy AWS Load Balancer Controller add-on](https://faun.pub/aws-eks-the-ultimate-guide-to-deploy-an-ingress-controller-on-kubernetes-5952cb27c067) In this article, you'll learn how to set up an Ingress Controller on EKS in 5 steps: + - Creating a cluster with EKSctl + - Creating the IAM OIDC provider + - Creating an IAM Policy + - Creating the Role + - Installing the ALB Ingress controller +- [==medium.com/@ankit.wal: Understanding IAM roles for service accounts, IRSA, on AWS EKS==](https://medium.com/@ankit.wal/the-how-of-iam-roles-for-service-accounts-irsa-on-aws-eks-3d76badb8942) A simple visual explanation of how IRSA works to help you understand and remember. IRSA is the AWS EKS native way to allow applications running in EKS pods to access AWS API, using permissions configured in AWS IAM roles. Itโ€™s an improvement over the previous architecture of applications running in pods to use the IAM roles of the underlying EKS nodes. Being able to configure access to AWS API per service account tends towards the principle of least privilege, and more secure architecture. +- [blog.realvarez.com: Reduce Amazon EKS cost by scaling node groups to zero ๐ŸŒŸ](https://blog.realvarez.com/reduce-amazon-eks-cost-by-scaling-node-groups-to-zero/) - [blog.devops.dev: Reduce Amazon EKS cost by scaling node groups to zero](https://blog.devops.dev/reduce-amazon-eks-cost-by-scaling-node-groups-to-zero-41dce9db50ef) +- [dev.to: Autoprovisioning NFS volumes in EKS with CDK](https://dev.to/memark/autoprovisioning-nfs-volumes-in-eks-with-cdk-4fn9) +- [levelup.gitconnected.com: Running Workflows on windows with Jenkins pipeline and Kubernetes](https://levelup.gitconnected.com/running-workflows-on-windows-with-jenkins-pipeline-and-kubernetes-52752a89a0e7) +- [nivogt.medium.com: Boost your Kubernetes clusterโ€™s Autoscaler on AWS EKS with Karpenter](https://nivogt.medium.com/boost-your-kubernetes-clusters-autoscaler-on-aws-eks-with-karpenter-4d23955944f2) +- [awslabs/eks-node-viewer](https://github.com/awslabs/eks-node-viewer) eks-node-viewer is a tool for visualizing dynamic node usage within a cluster. It was originally developed as an internal tool at AWS for demonstrating consolidation with Karpenter. +- [towardsaws.com: Autoscale Kubernetes Metrics Server on Amazon EKS](https://towardsaws.com/autoscale-kubernetes-metrics-server-fa398f8a600a) +- [==aws-samples/hardeneks==](https://github.com/aws-samples/hardeneks) Runs checks to see if an EKS cluster follows EKS Best Practices. +- [faun.pub: Analyze AWS EKS Audit logs with Falco](https://faun.pub/analyze-aws-eks-audit-logs-with-falco-95202167f2e) +- [docs.aws.amazon.com: Managing Amazon EKS add-ons](https://docs.aws.amazon.com/eks/latest/userguide/managing-add-ons.html) +- [docs.aws.amazon.com: Access container applications privately on Amazon EKS using AWS PrivateLink and a Network Load Balancer](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-eks-using-aws-privatelink-and-a-network-load-balancer.html) AWS Prescriptive Guidance includes patterns for EKS. +- [aws.amazon.com: Addressing latency and data transfer costs on EKS using Istio](https://aws.amazon.com/blogs/containers/addressing-latency-and-data-transfer-costs-on-eks-using-istio/) In this blog, you will learn how to use Istio topology-aware routing to reduce latency and data transfer costs between EKS nodes deployed in different Availability Zones +- [aws.amazon.com: Addressing IPv4 address exhaustion in Amazon EKS clusters using private NAT gateways](https://aws.amazon.com/blogs/containers/addressing-ipv4-address-exhaustion-in-amazon-eks-clusters-using-private-nat-gateways/) This post highlights the advantages of implementing a network architecture with a private NAT Gateway to deploy an Amazon EKS cluster. This enables communication across Amazon EKS clusters deployed to VPCs with overlapping CIDRs. ### EKS and IaC with Crossplane @@ -187,6 +224,8 @@ - Standalone clusters - Distribute environments - [blog.techknowtrendz.com: Taking Amazon EKS Anywhere for a spin](https://blog.techknowtrendz.com/taking-amazon-eks-anywhere-for-a-spin) Bringing EKS to a datacenter near you +- [rafay.co: Amazon EKS and EKS Anywhere โ€“ All You Need To Know](https://rafay.co/the-kubernetes-current/amazon-eks-and-eks-anywhere-all-you-need-to-know/) Take a look into both AmazonEKS and EKSAnywhere and how they are different. By the end of this post, you will be able to pick the right offering for your organization. +- [aws.amazon.com: Blue/Green Kubernetes upgrades for Amazon EKS Anywhere using Flux](https://aws.amazon.com/blogs/containers/blue-green-kubernetes-upgrades-for-amazon-eks-anywhere-using-flux/) ### EKS Distro (EKS-D) @@ -196,7 +235,7 @@ - [medium: Kubernetes + EKS + Canary Deployment](https://medium.com/@jerome.decoster/kubernetes-eks-canary-deployment-1ef79ae89dfc) -## AKS Azure Kubernetes Service +## AKS Azure Kubernetes Service - [docs.microsoft.com: Baseline architecture for an Azure Kubernetes Service (AKS) cluster ๐ŸŒŸ](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/containers/aks/baseline-aks) In this reference architecture, you'll build a baseline infrastructure that deploys an AKS cluster. The article includes recommendations for networking, security, identity, management, and monitoring. - [docs.microsoft.com: Microservices architecture on Azure Kubernetes Service (AKS) ๐ŸŒŸ](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/containers/aks-microservices/aks-microservices) This reference architecture shows a microservices application deployed to Azure Kubernetes Service (AKS). It describes a basic AKS configuration that can be the starting point for most deployments. The architecture consists of the following components: @@ -267,6 +306,18 @@ - [medium.com/dzerolabs: Accessing Azure Key Vault Secrets in Azure Kubernetes with Secrets Store CSI Driver ๐ŸŒŸ](https://medium.com/dzerolabs/kubernetes-saved-today-f-cked-tomorrow-a-rant-azure-key-vault-secrets-%C3%A0-la-kubernetes-fc3be5e65d18) A little bit of standardization goes a long way. Much better than documenting steps that can soon become outdated. Azure Key Vault Provider for Secrets Store CSI Driver maps a Kubernetes resource called SecretProviderClass to an Azure Key Vault and lets you select which secrets, keys, and/or certificates you'd like to expose. - [==buchatech.com/2022: A Guide to Navigating the AKS Enterprise Documentation & Scripts== ๐ŸŒŸ๐ŸŒŸ](https://www.buchatech.com/2022/08/a-guide-to-navigating-the-aks-enterprise-documentation-scripts/) This blog's goal is to guide you through the AKS Enterprise Docs as you architect, deploy, and operate your AKS. - [docs.microsoft.com: Start and stop an Azure Kubernetes Service (AKS) node pool ๐ŸŒŸ](https://docs.microsoft.com/en-us/azure/aks/start-stop-nodepools) Your AKS workloads may not need to run continuously, for example a development cluster that has node pools running specific workloads. To optimize your costs, you can completely turn off (stop) your node pools in your AKS cluster, allowing you to save on compute costs. +- [==dev.to/thenjdevopsguy: Monitoring AKS With Prometheus and Grafana== ๐ŸŒŸ](https://dev.to/thenjdevopsguy/monitoring-aks-with-prometheus-and-grafana-9o8) +- [techcommunity.microsoft.com: Azure Kubernetes Service Microsoft Ignite announcements](https://techcommunity.microsoft.com/t5/apps-on-azure-blog/azure-kubernetes-service-microsoft-ignite-announcements/ba-p/3650443) +- [==isovalent.com: Announcing Azure CNI Powered by Cilium==](https://isovalent.com/blog/post/azure-cni-cilium/) +- [==dev.to: Access Secrets in AKV using Managed identities for AKS== ๐ŸŒŸ](https://dev.to/vivekanandrapaka/access-secrets-from-akv-using-managed-identities-for-aks-91p) The purpose of this post is to show you how to access secrets from AKS cluster that are stored in Azure Key Vault. +- [==blog.baeke.info: AKS Workload Identity Revisited==](https://blog.baeke.info/2022/11/24/aks-workload-identity-revisited/) +- [==azure.microsoft.com: Private preview: Azure Kubernetes Service (AKS) Backup== ๐ŸŒŸ](https://azure.microsoft.com/en-us/updates/private-preview-aks-backup/) +- [==medium.com/@gjoshevski: Reduce the cost of running AKS cluster by leveraging Azure Spot VMs| 70% and more== ๐ŸŒŸ๐ŸŒŸ](https://medium.com/@gjoshevski/reduce-the-cost-of-running-aks-cluster-by-leveraging-azure-spot-vms-70-and-more-e917f568c3b9) +- [community.ops.io: One day I woke up to a crashed AKS cluster and this is what I did to get it back to life](https://community.ops.io/javi_labs/one-day-wake-up-to-a-crashed-aks-cluster-and-this-is-what-i-did-to-get-it-back-to-life-1592) One day, Javier found a crashed AKS cluster with three nodes stopped and all pods in the "Terminating" state. Learn how Javier debugged the cluster and brought it back to life. + +### AKS Lite + +- [thenewstack.io: Microsoft Takes Kubernetes to the Edge with AKS Lite](https://thenewstack.io/microsoft-takes-kubernetes-to-the-edge-with-aks-lite/) At it Ignite conference, Microsoft announced that a public preview of Azure Kubernetes Service (AKS) on Windows IoT and Windows devices, known as AKS lite, will be available next month. ## GKE Google Kubernetes Engine @@ -304,6 +355,15 @@ - [medium.com/@glen.yu: Getting started with eBPF and Cilium on GKE](https://medium.com/@glen.yu/getting-started-with-ebpf-and-cilium-on-gke-6553c5d7e02a) Through Cilium, users can add functionality such as encryption and L7 network policy enforcement previously only available in a service mesh โ€” but without the operational complexity of having to manage one. - [medium.com/@glen.yu: NGINX Ingress or GKE Ingress?](https://medium.com/@glen.yu/nginx-ingress-or-gke-ingress-d87dd9db504c) There are tons of ingress controllers out there in the Kubernetes ecosystem, so how do we know which one is right for you? In this article, you will learn the differences between the NGINX and GKE Ingress. - [medium.com/google-developer-experts: Getting started with GKE Gateway controller](https://medium.com/google-developer-experts/getting-started-with-gke-gateway-controller-ee45c3bc8996) +- [cloud.google.com: Introducing Kubernetes control plane metrics in GKE](https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-control-plane-metrics-are-generally-available) +- [google/gke-policy-automation](https://github.com/google/gke-policy-automation) This repository contains the tool and the policy library for validating GKE clusters against configuration best practices +- [medium.com/google-cloud: Monitoring Kubernetes Clusters on GKE (Google Container Engine)](https://medium.com/google-cloud/gke-monitoring-84170ea44833) This is a hands-on guide to monitoring and logging at different layers in the Kubernetes Engine stack + - GCP components (compute) + - Kubernetes objects (cluster nodes) + - Containerized applications + - Application specific metrics +- [blog.devgenius.io: Explore API Priority and Fairness to Ease the Load of the APIServer](https://blog.devgenius.io/explore-api-priority-and-fairness-to-ease-the-load-of-the-apiserver-a4fe9c4e7174) Walk through incident remediation using APF +- [faun.pub: Make Your Kubernetes Cluster Highly Available and Fault Tolerant ๐ŸŒŸ](https://faun.pub/deploy-active-active-multi-region-kubernetes-cluster-with-terraform-f2652e43f47e) End to End setup of Multi Region Autopilot Kubernetes Cluster with Application Deployment Example ## IKS IBM Cloud Kubernetes Service diff --git a/docs/message-queue.md b/docs/message-queue.md index 10b361bf..2aba7886 100644 --- a/docs/message-queue.md +++ b/docs/message-queue.md @@ -31,23 +31,24 @@ 7. [Apache Pulsar](#apache-pulsar) 8. [Apache Flink](#apache-flink) 9. [Hazelcast JET](#hazelcast-jet) + 10. [Postgress as message queue](#postgress-as-message-queue) 9. [Workflow Engines](#workflow-engines) -10. [Zeebe](#zeebe) - 1. [Apache Airflow](#apache-airflow) - 2. [Couler](#couler) -11. [Red Hat AMQ (ActiveMQ Artemis broker and Apache Kafka)](#red-hat-amq-activemq-artemis-broker-and-apache-kafka) - 1. [Red Hat AMQ Broker (ActiveMQ Artemis)](#red-hat-amq-broker-activemq-artemis) - 2. [Red Hat AMQ Streams](#red-hat-amq-streams) - 3. [Slides of Red Hat AMQ Streams](#slides-of-red-hat-amq-streams) -12. [Open Data Hub AI-as-a-Service (AIaaS) platform](#open-data-hub-ai-as-a-service-aiaas-platform) -13. [KEDA. Kubernetes Event Driven Autoscaling](#keda-kubernetes-event-driven-autoscaling) -14. [Integration Platform as a Solution (iPaaS). Platforms for collecting, storing and routing customer event data](#integration-platform-as-a-solution-ipaas-platforms-for-collecting-storing-and-routing-customer-event-data) - 1. [IpaaS Vendors](#ipaas-vendors) -15. [eBooks](#ebooks) -16. [Related](#related) -17. [Questions and Answers](#questions-and-answers) -18. [Videos](#videos) -19. [Tweets](#tweets) + 1. [Zeebe](#zeebe) + 2. [Apache Airflow](#apache-airflow) + 3. [Couler](#couler) +10. [Red Hat AMQ (ActiveMQ Artemis broker and Apache Kafka)](#red-hat-amq-activemq-artemis-broker-and-apache-kafka) + 1. [Red Hat AMQ Broker (ActiveMQ Artemis)](#red-hat-amq-broker-activemq-artemis) + 2. [Red Hat AMQ Streams](#red-hat-amq-streams) + 3. [Slides of Red Hat AMQ Streams](#slides-of-red-hat-amq-streams) +11. [Open Data Hub AI-as-a-Service (AIaaS) platform](#open-data-hub-ai-as-a-service-aiaas-platform) +12. [KEDA. Kubernetes Event Driven Autoscaling](#keda-kubernetes-event-driven-autoscaling) +13. [Integration Platform as a Solution (iPaaS). Platforms for collecting, storing and routing customer event data](#integration-platform-as-a-solution-ipaas-platforms-for-collecting-storing-and-routing-customer-event-data) + 1. [IpaaS Vendors](#ipaas-vendors) +14. [eBooks](#ebooks) +15. [Related](#related) +16. [Questions and Answers](#questions-and-answers) +17. [Videos](#videos) +18. [Tweets](#tweets) ## Message Queue in Kubernetes. Event-driven Messaging. Real-Time Data Streaming @@ -72,7 +73,7 @@ - [dzone: Why Pub/Sub Isnโ€™t Enough for Modern Apps](https://dzone.com/articles/why-pubsub-isnt-enough-for-modern-apps) Pub/Sub is the most appropriate way of architecting the delivery side of an event-driven architecture (especially for the web). - [baeldung.com: Pub-Sub vs. Message Queues ๐ŸŒŸ](https://www.baeldung.com/pub-sub-vs-message-queues) - [engineering.atspotify.com: Spotifyโ€™s Event Delivery โ€“ The Road to the Cloud (Part I)](https://engineering.atspotify.com/2016/02/25/spotifys-event-delivery-the-road-to-the-cloud-part-i/) -- [medium: Monolithic to Microservices Architecture with Patterns & Best Practices ๐ŸŒŸ](https://medium.com/design-microservices-architecture-with-patterns/monolithic-to-microservices-architecture-with-patterns-best-practices-a768272797b2) +- [==medium: Monolithic to Microservices Architecture with Patterns & Best Practices== ๐ŸŒŸ](https://medium.com/design-microservices-architecture-with-patterns/monolithic-to-microservices-architecture-with-patterns-best-practices-a768272797b2) - [infoq.com: Turning Microservices Inside-Out](https://www.infoq.com/articles/microservices-inside-out/) - [towardsdatascience.com: Architecture for High-Throughput Low-Latency Big Data Pipeline on Cloud ๐ŸŒŸ](https://towardsdatascience.com/scalable-efficient-big-data-analytics-machine-learning-pipeline-architecture-on-cloud-4d59efc092b5) Scalable and efficient data pipelines are as important for the success of analytics, data science, and machine learning as reliable supply lines are for winning a war. - [dzone: RESTful Applications in An Event-Driven Architecture](https://dzone.com/articles/restful-applications-in-an-event-driven-architecture) Hybrid architecture with both RESTful and event-driven services. @@ -106,6 +107,7 @@ - [blog.bitsrc.io: Why Microservices Should use Event Sourcing ๐ŸŒŸ](https://blog.bitsrc.io/why-microservices-should-use-event-sourcing-9755a54ebfb4) 6 Reasons where you need to use Event Sourcing in Micro-services - [==emirayhan.medium.com: What is the difference Message Queue and Message Bus?== ๐ŸŒŸ](https://emirayhan.medium.com/what-is-the-difference-message-queue-and-message-bus-7f2e2867eff6) - [verraes.net: DDD and Messaging Architectures ๐ŸŒŸ](https://verraes.net/2019/05/ddd-msg-arch/) **An overview of my different series on patterns in distributed systems. A good collection of Messaging Patterns** +- [medium.com/event-driven-utopia: Comparing Stateful Stream Processing and Streaming Databases](https://medium.com/event-driven-utopia/comparing-stateful-stream-processing-and-streaming-databases-c8c670f3f4bb) How do these two technologies work? how do they differ, and when is the right time to use them? ## RPC vs Messaging @@ -133,6 +135,7 @@ - [blog.rabbitmq.com: First Application With RabbitMQ Streams](https://blog.rabbitmq.com/posts/2021/07/rabbitmq-streams-first-application/) - [geshan.com.np: How to use RabbitMQ and Node.js with Docker and Docker-compose](https://geshan.com.np/blog/2021/07/rabbitmq-docker-nodejs/) - [salaboy.com: Event-Driven applications with CloudEvents on Kubernetes](https://salaboy.com/2022/01/29/event-driven-applications-with-cloudevents-on-kubernetes/) +- [medium.com/@paolo.gazzola: How to deploy a high available and fault tolerant RabbitMQ service in an on-premise Kubernetes multi-node cluster environment](https://medium.com/@paolo.gazzola/deploy-a-rabbitmq-cluster-in-an-on-premise-kubernetes-multi-node-cluster-enviroment-5dd71d84dafc) ### Redis message broker @@ -346,6 +349,12 @@ comsysto about their usage of Debezium, touching on many details like outbox pat - [towardsdev.com: Performance Testing Your Kubernetes Kafka Cluster](https://towardsdev.com/performance-testing-your-kubernetes-kafka-cluster-95f6e7d8dfc5) In this article, you will learn how to benchmark Apache Kafka instances running on Kubernetes against parallel loads. - [==medium.com/@hardiktaneja_99752: Lessons after running Kafka in production== ๐ŸŒŸ](https://medium.com/@hardiktaneja_99752/lessons-after-running-kafka-in-production-626974ffd700) TLDR: Have atleast as many paritions (P) as max number of consumers(C), but number of partitions should always be multiple of number of consumers. P = n * C, n =1,2,3โ€ฆ - [==betterprogramming.pub: Monitoring Kafka Applications โ€” Implementing Healthchecks and Tracking Lag==](https://betterprogramming.pub/monitoring-kafkaapplications-implementing-healthchecks-and-tracking-lag-3976cc6f00d5) For KafkaConsumer, Streams, Spring-Kafka, Kafka-Connect +- [thenewstack.io: LinkedIn Layered Architecture Minimizes Kafka Scaling Issues](https://thenewstack.io/linkedin-layered-architecture-minimizes-kafka-scaling-issues/) With Kafka, too many data producers can cause issues, as can having too many data consumers. Here's how LinkedIn separated the resources to alleviate exhaustion. +- [developers.redhat.com: End-to-end field-level encryption for Apache Kafka Connect](https://developers.redhat.com/articles/2022/09/27/end-end-field-level-encryption-apache-kafka-connect) +- [blog.datumo.io: Setting up Kafka on Kubernetes - an easy way](https://blog.datumo.io/setting-up-kafka-on-kubernetes-an-easy-way-26ae150b9ca8) In this article, you will learn how to create a basic deployment for Kafka (with Zookeeper) on Kubernetes +- [==linkedin.com: Kafka Cluster Setup on Kubernetes==](https://www.linkedin.com/pulse/kaka-cluster-setup-kubernetes-avinash-kumar-chandran/) +- [medium.com/wix-engineering: Troubleshooting Kafka for 2000 Microservices at Wix](https://medium.com/wix-engineering/troubleshooting-kafka-for-2000-microservices-at-wix-986ee382fd1e) Debugging microservicesโ€™ event driven communication is not trivial, especially when itโ€™s based on event streaming platforms like Apache Kafka. While scale grows more easily and the distributed system becomes more decoupled and resilient, the operational aspects become much harder. +- [engineering.grab.com: Zero trust with Kafka](https://engineering.grab.com/zero-trust-with-kafka) #### Kafka Tools @@ -436,14 +445,18 @@ comsysto about their usage of Debezium, touching on many details like outbox pat - [Hazelcast JET](https://jet-start.sh/) Open-Source Distributed Stream Processing - [devops.com: Hazelcast Simplifies Streaming for Extremely Fast Event Processing in IoT, Edge and Cloud Environments](https://devops.com/hazelcast-simplifies-streaming-for-extremely-fast-event-processing-in-iot-edge-and-cloud-environments/) +### Postgress as message queue + +- [dagster.io: Postgres: a better message queue than Kafka?](https://dagster.io/blog/skip-kafka-use-postgres-message-queue) + ## Workflow Engines - [wikipedia: Workflow Engine](https://en.wikipedia.org/wiki/Workflow_engine) -## Zeebe +### Zeebe -- [infoq.com: Event Streams and Workflow Engines โ€“ Kafka and Zeebe ๐ŸŒŸ](https://www.infoq.com/news/2019/05/kafka-zeebe-streams-workflows) - [Zeebe workflow engine](https://zeebe.io/) +- [infoq.com: Event Streams and Workflow Engines โ€“ Kafka and Zeebe ๐ŸŒŸ](https://www.infoq.com/news/2019/05/kafka-zeebe-streams-workflows) - [Orchestration Made Easy with Zeebe and Kafka](https://www.softobiz.com/orchestration-made-easy-with-zeebe-and-kafka/) ### Apache Airflow @@ -458,6 +471,14 @@ comsysto about their usage of Debezium, touching on many details like outbox pat - [dev.to: Get started with Apache Airflow](https://dev.to/arunkc/get-started-with-apache-airflow-1218) - [betterprogramming.pub: Running Airflow Using Kubernetes Executor and Kubernetes Pod Operator with Istio](https://betterprogramming.pub/running-airflow-using-kubernetes-executor-and-kubernetes-pod-operator-with-istio-d5aa7af16ef5) There are many obstacles when you deploy Airflow with the Kubernetes executor, Pod Operator and Istio since the Istio proxy sidecar makes the worker pod hang and run forever. In this article, you will learn how to overcome that. - [towardsdatascience.com: Apache Airflow Architecture ๐ŸŒŸ](https://towardsdatascience.com/apache-airflow-architecture-496b9cb28288) A deep dive into Apache Airflow architecture and how it orchestrates workflows +- [==airflow.apache.org: KubernetesPodOperator== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/stable/operators.html) + - The KubernetesPodOperator allows you to create and run Pods on a Kubernetes cluster. + - The KubernetesPodOperator uses the Kubernetes API to launch a pod in a Kubernetes cluster. By supplying an image URL and a command with optional arguments, the operator uses the Kube Python Client to generate a Kubernetes API request that dynamically launches those individual pods. + - The KubernetesPodOperator enables task-level resource configuration and is optimal for custom Python dependencies that are not available through the public PyPI repository. It also allows users to supply a template YAML file using the pod_template_file parameter. Ultimately, it allows Airflow to act a job orchestrator - no matter the language those jobs are written in. +- [dataengineeringcentral.substack.com: Why is everyone trying to kill Airflow? ๐ŸŒŸ](https://dataengineeringcentral.substack.com/p/why-is-everyone-trying-to-kill-airflow?sd=pf) Apache Airflow has been the ruler of Data Engineering orchestration for years, is the end in sight? +- [airflow.apache.org: Add Owner Links to DAG](https://airflow.apache.org/docs/apache-airflow/stable/howto/add-owner-links.html) You can set the owner_links argument on your DAG object, which will make the owner a clickable link in the main DAGs view page instead of a search filter. +- [docs.astronomer.io: Dynamically generating DAGs in Airflow](https://docs.astronomer.io/learn/dynamically-generating-dags) How to load DAGs from YAML files in Airflow dynamically? +- [blog.devgenius.io: Send information from Databricks to Airflow](https://blog.devgenius.io/send-information-from-databricks-to-airflow-810a7d49ff81) ### Couler @@ -539,7 +560,7 @@ Red Hat AMQ 7|JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite|Apache ActiveMQ Artemi ## Related -- [Service meshes to the rescue: Load balancing and scaling long-lived connections in Kubernetes ๐ŸŒŸ](https://learnk8s.io/kubernetes-long-lived-connections) Kubernetes doesn't load balance long-lived connections, some Pods might receive more requests than others, In case you are using HTTP/2, gRPC, RSockets, AMQP. Any work around? +- [==Service meshes to the rescue: Load balancing and scaling long-lived connections in Kubernetes== ๐ŸŒŸ](https://learnk8s.io/kubernetes-long-lived-connections) Kubernetes doesn't load balance long-lived connections, some Pods might receive more requests than others, In case you are using HTTP/2, gRPC, RSockets, AMQP. Any work around? ## Questions and Answers @@ -566,5 +587,9 @@ Red Hat AMQ 7|JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite|Apache ActiveMQ Artemi + + + + - \ No newline at end of file + diff --git a/docs/mkdocs.md b/docs/mkdocs.md index 11907477..c5817ecf 100644 --- a/docs/mkdocs.md +++ b/docs/mkdocs.md @@ -6,7 +6,8 @@ 4. [GitHub Pages](#github-pages) 5. [GitBook](#gitbook) 6. [Alternatives. Jekyll open source static site generator](#alternatives-jekyll-open-source-static-site-generator) -7. [Tweets](#tweets) +7. [Videos](#videos) +8. [Tweets](#tweets) ## Introduction @@ -53,10 +54,18 @@ - [opensource.com: Build your website with Jekyll](https://opensource.com/article/21/9/build-website-jekyll) Jekyll is an open source static site generator. You can write your content in Markdown, use HTML/CSS for structure and presentation, and Jekyll compiles it all into static HTML. +## Videos + +??? note "Click to expand!" + +
+ +
+ ## Tweets ??? note "Click to expand!"
-
\ No newline at end of file + diff --git a/docs/mlops.md b/docs/mlops.md index 346f43d5..7f9192aa 100644 --- a/docs/mlops.md +++ b/docs/mlops.md @@ -46,6 +46,12 @@ - [towardsdatascience.com: From Jupyter Notebooks to Real-life: MLOps ๐ŸŒŸ](https://towardsdatascience.com/from-jupyter-notebooks-to-real-life-mlops-9f590a7b5faa) Why is it a must-have? - [==guru99.com: Artificial Intelligence Tutorial for Beginners: Learn Basics of AI== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://www.guru99.com/ai-tutorial.html) - [datarevenue.com: Airflow vs. Luigi vs. Argo vs. MLFlow vs. KubeFlow](https://www.datarevenue.com/en-blog/airflow-vs-luigi-vs-argo-vs-mlflow-vs-kubeflow) Choosing a task orchestration tool +- [infoworld.com: 13 open source projects transforming AI and machine learning](https://www.infoworld.com/article/3673976/13-open-source-projects-transforming-ai-and-machine-learning.html) From deepfakes to natural language processing and more, the open source world is ripe with projects to support software development on the frontiers of artificial intelligence and machine learning. +- [towardsdatascience.com: From Dev to Deployment: An End to End Sentiment Classifier App with MLflow, SageMaker, and Streamlit](https://towardsdatascience.com/from-dev-to-deployment-an-end-to-end-sentiment-classifier-app-with-mlflow-sagemaker-and-119043ea4203) In this tutorial, weโ€™ll build an NLP app starting from DagsHub-MLflow, then diving into deployment in SageMaker and EC2 with the front end in Streamlit. +- [valuecoders.com: How AI And ML Have Revamped Mobile App Development?](https://www.valuecoders.com/blog/technology-and-apps/how-ai-and-ml-have-revamped-mobile-app-development/) +- [elconfidencial.com: La batalla entre Google y Meta que nadie esperaba: revolucionar la biologรญa ๐ŸŒŸ](https://www.elconfidencial.com/tecnologia/ciencia/2022-11-18/carrera-google-meta-revolucionar-biologia_3520865/) El sistema AlphaFold de Google revela la estructura en 3D de las proteรญnas y ya es utilizado por miles de biรณlogos, pero Meta contraataca con otro algoritmo. ยฟCuรกl es mejor? +- [swirlai.substack.com: SAI #08: Request-Response Model Deployment - The MLOps Way, Spark - Executor Memory Structure and more... ๐ŸŒŸ](https://swirlai.substack.com/p/sai-08-request-response-model-deployment) +- [about.gitlab.com: How is AI/ML changing DevOps?](https://about.gitlab.com/blog/2022/11/16/how-is-ai-ml-changing-devops/) ## Object Detection Libraries @@ -56,6 +62,7 @@ - https://mlflow.org - [towardsdatascience.com: A Beginner-Friendly Introduction to Kubernetes ๐ŸŒŸ](https://towardsdatascience.com/a-beginner-friendly-introduction-to-kubernetes-540b5d63b3d7) With a hands-on MLFlow deployment example - [towardsdatascience.com: Empowering Spark with MLflow](https://towardsdatascience.com/empowering-spark-with-mlflow-58e6eb5d85e8) +- [artifacthub.io: mlflow-server](https://artifacthub.io/packages/helm/mlflowserver/mlflow-server) A Helm chart for MLFlow On Kubernetes ## Kubeflow @@ -73,7 +80,7 @@ - [==Machine Learning in Production. What does an end-to-end ML workflow look like in production? (transcript)== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://www.union.ai/blog-post/machine-learning-in-production) - [Play Recording](https://twitter.com/i/spaces/1ZkKzbXLekWKv) - Kelsey Hightower joined the @flyteorg team to discuss what ML looks like in the real world, from ingesting data to consuming ML models via an API. - @kelseyhightower You can't go swimming in a #data_lake if you actually can't swim, right? You're going to drown. ๐ŸŠโ€โ™‚๏ธ - - @ketanumare Machine Learning products deteriorate in time. If you have the best model today it's not guaranteed to be the best model tomorrow. + - @ketanumare Machine Learning products deteriorate in time. If you have the best model today it's not guaranteed to be the best model tomorrow. - @thegautam It's hard to verify models before you put them in production. We need our systems to be fully reproducible, which is why an #orchestration_tool is important, running multiple models in parallel. - @ketanumare We at @union_ai unify the extremely fragmented world of ML and give the choice to users when to use proprietary technology versus when to use open source. (1/2) - @ketanumare #Flyte makes it seamless to work on #kubernetes with spark jobs, and that's a big use case, but you can also use @databricks. Similarly, we are working on Ray and you can also use @anyscalecompute. (2/2) @@ -88,6 +95,8 @@ - @Forcebananza Flyte creates a way for all these teams to work together partially because writing workflows, writing reusable componentsโ€ฆ is actually simple enough for data scientists and data engineers to work with. - @kelseyhightower We're now at a stage where we can start to leverage systems like https://flyte.org to give us more of an opinionated end-to-end workflow. What we call #ML can become a real discipline where practitioners can use a common set of terms and practices. - [stackoverflow.com: How is Flyte tailored to "Data and Machine Learning"?](https://stackoverflow.com/questions/72657318/how-is-flyte-tailored-to-data-and-machine-learning) +- [union.ai: Production-Grade ML Pipelines: Flyteโ„ข vs. Kubeflow](https://www.union.ai/blog-post/production-grade-ml-pipelines-flyte-vs-kubeflow) Kubeflow and Flyte are both production-grade, Kubernetes-native orchestrators for machine learning. Which is best for ML engineers? Check out this head-to-head comparison. +- [mlops.community: MLOps Simplified: orchestrating ML pipelines with infrastructure abstraction. Enabled by Flyte](https://mlops.community/flyte-mlops-simplified/) ## Azure ML @@ -115,6 +124,7 @@ - [canvatechblog.com: Supporting GPU-accelerated Machine Learning with Kubernetes and Nix](https://canvatechblog.com/supporting-gpu-accelerated-machine-learning-with-kubernetes-and-nix-7c1da8e42f61) In this article, you'll learn how to package and run machine learning workloads in Kubernetes using Nix and NVIDIA - [Nix](https://nixos.org/manual/nix/stable/) - [github.com/NVIDIA/nvidia-docker: NVIDIA/nvidia-docker/volumes.go](https://github.com/NVIDIA/nvidia-docker/blob/8c0eeba474cace48fdb8216f518063db2bd2d4d1/tools/src/nvidia/volumes.go#L103) NVIDIAโ€™s documentation is disappointingly evasive on what the โ€œdriverโ€ is, but we find a good answer in their official source code. +- [==catalog.ngc.nvidia.com: NVIDIA GPU Operator - Helm chart== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://catalog.ngc.nvidia.com/orgs/nvidia/helm-charts/gpu-operator) ## Other Tools @@ -123,6 +133,9 @@ - VSCode DVC: - [DVC](https://marketplace.visualstudio.com/items?itemName=Iterative.dvc) Machine learning experiment management with tracking, plots, and data versioning. - [docs.microsoft.com: Machine Learning Experimentation in VS Code with DVC Extension](https://docs.microsoft.com/en-us/shows/vs-code-livestreams/machine-learning-experimentation-in-vs-code-with-dvc-extension) +- [tensorchord/envd: Reproducible development environment for AI/ML ๐ŸŒŸ](https://github.com/tensorchord/envd) envd (ษชnหˆvdษช) is a command-line tool that helps you create the container-based development environment for AI/ML. https://envd.tensorchord.ai/ +- [postgresml/postgresml ๐ŸŒŸ](https://github.com/postgresml/postgresml) PostgresML is an end-to-end machine learning system. It enables you to train models and make online predictions using only SQL, without your data ever leaving your favorite database. +- [blog.devgenius.io: Training model with Jenkins using docker: MLOPS](https://blog.devgenius.io/training-model-with-jenkins-using-docker-mlops-b18579ddb677) ## Samples @@ -164,5 +177,7 @@ + + diff --git a/docs/monitoring.md b/docs/monitoring.md index 0bab7ded..79bdd518 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -15,7 +15,7 @@ 5. [Grafana](#grafana) 6. [Kibana](#kibana) 7. [Prometheus and Grafana Interactive Learning](#prometheus-and-grafana-interactive-learning) -8. [Logging & Centralized Log Management](#logging--centralized-log-management) +8. [Logging \& Centralized Log Management](#logging--centralized-log-management) 1. [ElasticSearch](#elasticsearch) 1. [Elastic Cloud on Kubernetes (ECK)](#elastic-cloud-on-kubernetes-eck) 2. [OpenSearch](#opensearch) @@ -23,18 +23,18 @@ 4. [Logstash Grok for Log Parsing](#logstash-grok-for-log-parsing) 9. [Performance](#performance) 10. [List of Performance Analysis Tools](#list-of-performance-analysis-tools) - 1. [Thread Dumps. Debugging Java Applications](#thread-dumps-debugging-java-applications) + 1. [Thread Dumps. Debugging Java Applications](#thread-dumps-debugging-java-applications) 11. [Debugging Java Applications on OpenShift and Kubernetes](#debugging-java-applications-on-openshift-and-kubernetes) 12. [Distributed Tracing. OpenTelemetry and Jaeger](#distributed-tracing-opentelemetry-and-jaeger) - 1. [Microservice Observability with Distributed Tracing. OpenTelemetry.io](#microservice-observability-with-distributed-tracing-opentelemetryio) - 2. [Jaeger VS OpenTelemetry. How Jaeger works with OpenTelemetry](#jaeger-vs-opentelemetry-how-jaeger-works-with-opentelemetry) - 3. [Jaeger vs Zipkin](#jaeger-vs-zipkin) - 4. [Grafana Tempo distributed tracing system](#grafana-tempo-distributed-tracing-system) + 1. [Microservice Observability with Distributed Tracing. OpenTelemetry.io](#microservice-observability-with-distributed-tracing-opentelemetryio) + 2. [Jaeger VS OpenTelemetry. How Jaeger works with OpenTelemetry](#jaeger-vs-opentelemetry-how-jaeger-works-with-opentelemetry) + 3. [Jaeger vs Zipkin](#jaeger-vs-zipkin) + 4. [Grafana Tempo distributed tracing system](#grafana-tempo-distributed-tracing-system) 13. [Application Performance Management (APM)](#application-performance-management-apm) - 1. [Elastic APM](#elastic-apm) - 2. [Dynatrace APM](#dynatrace-apm) + 1. [Elastic APM](#elastic-apm) + 2. [Dynatrace APM](#dynatrace-apm) 14. [Message Queue Monitoring](#message-queue-monitoring) - 1. [Red Hat AMQ 7 Broker Monitoring solutions based on Prometheus and Grafana](#red-hat-amq-7-broker-monitoring-solutions-based-on-prometheus-and-grafana) + 1. [Red Hat AMQ 7 Broker Monitoring solutions based on Prometheus and Grafana](#red-hat-amq-7-broker-monitoring-solutions-based-on-prometheus-and-grafana) 15. [Serverless Monitoring](#serverless-monitoring) 16. [Distributed Tracing in Apache Beam](#distributed-tracing-in-apache-beam) 17. [Krossboard Converged Kubernetes usage analytics](#krossboard-converged-kubernetes-usage-analytics) @@ -71,6 +71,7 @@ - [matiasmct.medium.com: Observability at Scale](https://matiasmct.medium.com/observability-at-scale-52d0d9a5fb9b) - [dynatrace.com: How to solve the challenges of multicloud AWS, Azure and GCP observability](https://www.dynatrace.com/news/blog/how-to-solve-the-challenges-of-multicloud-aws-azure-and-gcp-observability/) - [logz.io: Top 11 Open Source Monitoring Tools for Kubernetes ๐ŸŒŸ](https://logz.io/blog/open-source-monitoring-tools-for-kubernetes/) + - [logz.io: Unified Observability: Announcing Kubernetes 360](https://logz.io/blog/unified-observability-kubernetes-360/) A single, unified platform combining a true log analytics solution, the best Prometheus metrics monitoring, and the value of distributed tracing powered by Jaeger that enables DevOps teams to monitor application SLOs in a simple, efficient and actionable manner. - [thenewstack.io: Kubernetes Observability Challenges in Cloud Native Architecture ๐ŸŒŸ](https://thenewstack.io/kubernetes-observability-challenges-in-cloud-native-architecture/) - [opsdis.com: Building a custom monitoring solution with Grafana, Prometheus and Loki](https://opsdis.com/custom-monitoring-solution-with-grafana-prometheus-and-loki/) - [harness.io: Metrics to Improve Continuous Integration Performance](https://harness.io/blog/continuous-integration/continuous-integration-performance-metrics/) @@ -103,10 +104,15 @@ - [infoworld.com: The RED method: A new strategy for monitoring microservices](https://www.infoworld.com/article/3638693/the-red-method-a-new-strategy-for-monitoring-microservices.html) By using the RED metricsโ€”rate, error, and durationโ€”you can get a solid understanding of how your services are performing for end-users. - [intellipaat.com: Top 10 DevOps Monitoring Tools](https://intellipaat.com/blog/devops-monitoring-tools) Are you a DevOps engineer? Are you confused about which DevOps monitoring tools to use for monitoring? If so, go through this comprehensive blog to know more about different types of DevOps monitoring tools, their purpose, and their importance. - [==cncf.io: How to add observability to your application pipeline==](https://www.cncf.io/blog/2021/11/23/how-to-add-observability-to-your-application-pipeline/) -- [storiesfromtheherd.com: Unpacking Observability](https://storiesfromtheherd.com/unpacking-observability-a-beginners-guide-833258a0591f) +- [storiesfromtheherd.com: Unpacking Observability](https://storiesfromtheherd.com/unpacking-observability-a-beginners-guide-833258a0591f) - [logz.io: A Monitoring Reality Check: More of the Same Wonโ€™t Work](https://logz.io/blog/monitoring-reality-check/) - [medium.com/buildpiper: Observability for Monitoring Microservices โ€” Top 5 Ways!](https://medium.com/buildpiper/observability-for-monitoring-microservices-top-5-ways-587871e726d0) Knowing whatโ€™s running inside the container, how the application and code are performing is critical for tackling important issues. Discussed here are some important Microservices monitoring tools and approaches. Take a look! - [medium.com/@cbkwgl: Continuous Monitoring in DevOps ๐ŸŒŸ](https://medium.com/@cbkwgl/continuous-monitoring-in-devops-8d4db48a0e24) +- [logz.io: The Open Source Observability Adoption and Migration Curve](https://logz.io/blog/open-source-observability-adoption-migration-curve/) +- [==devopscube.com: What Is Observability? Comprehensive Beginners Guide==](https://devopscube.com/what-is-observability/) +- [tiagodiasgeneroso.medium.com: Observability Concepts you should know](https://tiagodiasgeneroso.medium.com/observability-concepts-you-should-know-943fc057b208) +- [faun.pub: Getting started with Observability](https://faun.pub/getting-started-with-observability-657d57aab1c7) How to implement Observability +- [medium.com/@badawekoo: Monitoring in DevOps lifecycle](https://medium.com/@badawekoo/monitoring-in-devops-lifecycle-4d9a2f277eb0) ### Key Performance Indicator (KPI) @@ -192,6 +198,7 @@ OpenShift Cluster Monitoring components cannot be extended since they are read o ## Prometheus - [Prometheus](prometheus.md) + ## Grafana - [Grafana](grafana.md) @@ -217,6 +224,7 @@ OpenShift Cluster Monitoring components cannot be extended since they are read o - [devops.com: How Centralized Log Management Can Save Your Company](https://devops.com/how-centralized-log-management-can-save-your-company/) - [acloudguru.com: Getting started with the Elastic Stack](https://acloudguru.com/blog/engineering/getting-started-with-the-elastic-stack) +- [betterprogramming.pub: The Art of Logging](https://betterprogramming.pub/creating-a-human-and-machine-freindly-logging-format-bb6d4bb01dca) Creating a human- and machine-friendly logging format ### ElasticSearch @@ -242,6 +250,8 @@ OpenShift Cluster Monitoring components cannot be extended since they are read o - [jertel/elastalert2](https://github.com/jertel/elastalert2) ElastAlert 2 is a continuation of the original yelp/elastalert project. ElastAlert 2 is a standalone software tool for alerting on anomalies, spikes, or other patterns of interest from data in Elasticsearch and OpenSearch. ElastAlert 2 is backwards compatible with the original ElastAlert rules - [medium.com/hepsiburadatech: Hepsiburada Search Engine on Kubernetes](https://medium.com/hepsiburadatech/hepsiburada-search-engine-on-kubernetes-1fe03a3e71a3) In this case study, you'll learn how Hepsiburada migrated from an on-premises active-active Elasticsearch cluster (manually scaled) deployed in two data centers to a multi-zone Google Cloud Kubernetes cluster that can scale automatically. +- [dev.to/sagary2j: ELK Stack Deployment using MiniKube single node architecture](https://dev.to/sagary2j/elk-stack-deployment-using-minikube-single-node-architecture-16cl) In this tutorial, you will learn how to deploy and expose Elastic Search, Logstash and Kibana on minikube. +- [search-guard.com/sgctl-elasticsearch: SGCTL - TAKE BACK CONTROL](https://search-guard.com/sgctl-elasticsearch/) In this article, we look at the new Search Guard Control command line tool that ships with Search Guard FLX and demonstrate how easy it has become to configure security for Elasticsearch. #### Elastic Cloud on Kubernetes (ECK) @@ -439,8 +449,10 @@ done - [thenewstack.io: End-User Tracing in a SkyWalking-Observed Browser](https://thenewstack.io/end-user-tracing-in-a-skywalking-observed-browser/) - [AppDynamics ๐ŸŒŸ](https://www.appdynamics.com/) - [New Relic ๐ŸŒŸ](https://newrelic.com/) + - [newrelic.com: Creating dashboards with Terraform and JSON templates](https://newrelic.com/blog/how-to-relic/create-nr-dashboards-with-terraform-part-1) Learn how to quickly update New Relic dashboards with Terraform by using JSON templatesโ€”no HCL required. - [Dynatrace ๐ŸŒŸ](https://www.dynatrace.com/) - - [==SigNoz: Open source Application Performance Monitoring (APM) & Observability tool== ๐ŸŒŸ](https://github.com/SigNoz/signoz) SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. + - [==SigNoz: Open source Application Performance Monitoring (APM) & Observability tool== ๐ŸŒŸ](https://github.com/SigNoz/signoz) SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. + - [golang.ch: A Golang-based open-source alternative to DataDog, New Relic, etc](https://golang.ch/a-golang-based-open-source-alternative-to-datadog-new-relic-etc/) - [savecost/datav ๐ŸŒŸ](https://github.com/savecost/datav) A modern APM for metrics,traces and logs, also datav is a lightweight alternative to Grafana. It has fully native support for open-telemetry, is an open-source alternative to DataDog, NewRelic. ### Elastic APM diff --git a/docs/networking.md b/docs/networking.md index 85c220e6..4fa89567 100644 --- a/docs/networking.md +++ b/docs/networking.md @@ -9,6 +9,9 @@ 4. [HTTP Structured Fields](#http-structured-fields) 4. [Container Networking](#container-networking) 5. [Load Balancing](#load-balancing) +6. [DNS](#dns) +7. [Images](#images) +8. [Tweets](#tweets) ## Introduction @@ -41,7 +44,7 @@ - [wikipedia: List of HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) - [slideshare: Http Status Code Errors in SEO](http://www.slideshare.net/AdelaRoger/http-status-code-errors-in-seo) -- [http.cat ๐ŸŒŸ](https://http.cat) +- [http.cat ๐ŸŒŸ](https://http.cat) ### HTTP/2 @@ -80,4 +83,24 @@ ## Load Balancing -- [harshityadav95.medium.com: Load Balancing Layer 4 vs Layer 7](https://harshityadav95.medium.com/load-balancing-layer-4-vs-layer-7-f37a839afd9c) \ No newline at end of file +- [harshityadav95.medium.com: Load Balancing Layer 4 vs Layer 7](https://harshityadav95.medium.com/load-balancing-layer-4-vs-layer-7-f37a839afd9c) + +## DNS + +- [==media.pearsoncmg.com: Recursive/Iterative Queries in DNS==](https://media.pearsoncmg.com/aw/ecs_kurose_compnetwork_7/cw/content/interactiveanimations/recursive-iterative-queries-in-dns/index.html) In Chapter 2 of the text the authors give examples of recursive and iterative DNS queries. This DNS interactive animation animates additional combinations of iterative and recursive queries among four name servers. + +## Images + +??? note "Click to expand!" + +
+ ![how does https work](images/how_does_https_work.png) +
+ +## Tweets + +??? note "Click to expand!" + +
+ +
diff --git a/docs/newsfeeds.md b/docs/newsfeeds.md index b04ba054..5939e103 100644 --- a/docs/newsfeeds.md +++ b/docs/newsfeeds.md @@ -7,6 +7,7 @@ ## Subreddits - [reddit.com/r/devops](https://www.reddit.com/r/devops/) + - [Internal Developer Platforms - what toolchain would you use for Maven + NPM + K8 projects?](https://www.reddit.com/r/devops/comments/xj1jxg/internal_developer_platforms_what_toolchain_would/) - [reddit.com/r/redhat](https://www.reddit.com/r/redhat) - [reddit.com/r/openshift](https://www.reddit.com/r/openshift/) - [reddit.com/r/kubernetes](https://www.reddit.com/r/kubernetes/) diff --git a/docs/nosql.md b/docs/nosql.md index 3fd9cd2e..b9d32866 100644 --- a/docs/nosql.md +++ b/docs/nosql.md @@ -32,6 +32,7 @@ - [datastax.medium.com: SQL versus NoSQL: The Pros and Cons](https://datastax.medium.com/sql-versus-nosql-the-pros-and-cons-488d4a7ba92f) - [intellipaat.com: NoSQL vs. SQL - Difference between SQL and NoSQL](https://intellipaat.com/blog/nosql-vs-sql-what-is-better/) One has been predominantly used by firms for storing structured data in various forms, while another lets the companies store unstructured and semi-structured data also. Which among them is better and more efficient? Letโ€™s analyze in this blog! - [medium.com/@suvankar.dey80: Time Series SQL vs No SQL](https://medium.com/@suvankar.dey80/time-series-sql-vs-no-sql-a8c7f40d80a8) +- [thenewstack.io: Why Choose a NoSQL Database? There Are Many Great Reasons](https://thenewstack.io/why-choose-a-nosql-database-there-are-many-great-reasons/) With JSON data models and multimodel access, a NoSQL database can meet massive performance demands and still evolve rapidly. ### Couchbase @@ -62,6 +63,8 @@ - [polarsparc.com: Hands-on MongoDB :: Part-5 ๐ŸŒŸ](https://www.polarsparc.com/xhtml/MongoDB-5.html) - [betterprogramming.pub: MongoDB Schema Validation Rules](https://betterprogramming.pub/mongodb-schema-validation-rules-8a1afc6ea67b) How to apply schema validation rules in a collection. - [hashinteractive.com: MONGODUMP AND MONGORESTORE VS MONGOEXPORT AND MONGOIMPORT](https://hashinteractive.com/blog/mongodump-and-mongorestore-vs-mongoexport-and-mongoimport/) +- [==adamtheautomator.com: How To Perform a MongoDB Kubernetes Installation== ๐ŸŒŸ](https://adamtheautomator.com/mongodb-kubernetes/) In this tutorial, you'll learn how to deploy MongoDB to Kubernetes using the MongoDB Operator. +- [code.likeagirl.io: Docker: Setup Simple Application with MongoDB for Data Storage](https://code.likeagirl.io/docker-setup-simple-application-with-mongodb-for-data-storage-272bdb3036ad) ### Redis diff --git a/docs/ocp4.md b/docs/ocp4.md index 2e672c7f..b399ab6c 100644 --- a/docs/ocp4.md +++ b/docs/ocp4.md @@ -10,7 +10,7 @@ 7. [ROSA Red Hat OpenShift Service on AWS](#rosa-red-hat-openshift-service-on-aws) 8. [CI/CD in OpenShift](#cicd-in-openshift) 2. [Downloads](#downloads) -3. [OpenShift End-to-End. Day 0, Day 1 & Day 2](#openshift-end-to-end-day-0-day-1--day-2) +3. [OpenShift End-to-End. Day 0, Day 1 \& Day 2](#openshift-end-to-end-day-0-day-1--day-2) 4. [OCP 4 Overview](#ocp-4-overview) 1. [Three New Functionalities](#three-new-functionalities) 2. [New Technical Components](#new-technical-components) @@ -25,7 +25,7 @@ 5. [OpenShift Container Storage Operator (OCS)](#openshift-container-storage-operator-ocs) 1. [OCS 3 (OpenShift 3)](#ocs-3-openshift-3) 2. [OCS 4 (OpenShift 4)](#ocs-4-openshift-4) - 6. [Cluster Network Operator (CNO) & Routers](#cluster-network-operator-cno--routers) + 6. [Cluster Network Operator (CNO) \& Routers](#cluster-network-operator-cno--routers) 7. [ServiceMesh Operator](#servicemesh-operator) 8. [Serverless Operator (Knative)](#serverless-operator-knative) 6. [Monitoring and Observability](#monitoring-and-observability) @@ -36,39 +36,40 @@ 7. [Build Images. Next-Generation Container Image Building Tools](#build-images-next-generation-container-image-building-tools) 8. [OpenShift Registry and Quay Registry](#openshift-registry-and-quay-registry) 9. [Local Development Environment](#local-development-environment) -5. [OpenShift on Azure](#openshift-on-azure) -6. [OpenShift Youtube](#openshift-youtube) -7. [OpenShift 4 Training](#openshift-4-training) -8. [OpenShift 4 Roadmap](#openshift-4-roadmap) -9. [Kubevirt Virtual Machine Management on Kubernetes](#kubevirt-virtual-machine-management-on-kubernetes) -10. [Networking and Network Policy in OCP4. SDN/CNI plug-ins](#networking-and-network-policy-in-ocp4-sdncni-plug-ins) - 1. [Multiple Networks with SDN/CNI plug-ins. Usage scenarios for an additional network](#multiple-networks-with-sdncni-plug-ins-usage-scenarios-for-an-additional-network) - 2. [Istio CNI plug-in](#istio-cni-plug-in) - 3. [Calico CNI Plug-in](#calico-cni-plug-in) - 4. [Third Party Network Operators with OpenShift](#third-party-network-operators-with-openshift) - 5. [Ingress Controllers in OpenShift using IPI](#ingress-controllers-in-openshift-using-ipi) -11. [Storage in OCP 4. OpenShift Container Storage (OCS)](#storage-in-ocp-4-openshift-container-storage-ocs) -12. [Red Hat Advanced Cluster Management for Kubernetes](#red-hat-advanced-cluster-management-for-kubernetes) -13. [OpenShift Kubernetes Engine (OKE)](#openshift-kubernetes-engine-oke) -14. [Red Hat CodeReady Containers. OpenShift 4 on your laptop](#red-hat-codeready-containers-openshift-4-on-your-laptop) -15. [OpenShift Hive: Cluster-as-a-Service. Easily provision new PaaS environments for developers](#openshift-hive-cluster-as-a-service-easily-provision-new-paas-environments-for-developers) -16. [OpenShift 4 Master API Protection in Public Cloud](#openshift-4-master-api-protection-in-public-cloud) -17. [Backup and Migrate to OpenShift 4](#backup-and-migrate-to-openshift-4) -18. [OKD4. OpenShift 4 without enterprise-level support](#okd4-openshift-4-without-enterprise-level-support) -19. [OpenShift Serverless with Knative](#openshift-serverless-with-knative) -20. [Helm Charts and OpenShift 4](#helm-charts-and-openshift-4) -21. [Red Hat Marketplace](#red-hat-marketplace) -22. [Kubestone. Benchmarking Operator for K8s and OpenShift](#kubestone-benchmarking-operator-for-k8s-and-openshift) -23. [OpenShift Cost Management](#openshift-cost-management) -24. [Operators in OCP 4](#operators-in-ocp-4) -25. [Quay Container Registry](#quay-container-registry) -26. [Application Migration Toolkit](#application-migration-toolkit) -27. [Developer Sandbox](#developer-sandbox) -28. [OpenShift Topology View](#openshift-topology-view) -29. [OpenBuilt Platform for the Construction Industry](#openbuilt-platform-for-the-construction-industry) -30. [Scripts](#scripts) -31. [Slides](#slides) -32. [Tweets](#tweets) +5. [GitOps Catalog](#gitops-catalog) +6. [OpenShift on Azure](#openshift-on-azure) +7. [OpenShift Youtube](#openshift-youtube) +8. [OpenShift 4 Training](#openshift-4-training) +9. [OpenShift 4 Roadmap](#openshift-4-roadmap) +10. [Kubevirt Virtual Machine Management on Kubernetes](#kubevirt-virtual-machine-management-on-kubernetes) +11. [Networking and Network Policy in OCP4. SDN/CNI plug-ins](#networking-and-network-policy-in-ocp4-sdncni-plug-ins) + 1. [Multiple Networks with SDN/CNI plug-ins. Usage scenarios for an additional network](#multiple-networks-with-sdncni-plug-ins-usage-scenarios-for-an-additional-network) + 2. [Istio CNI plug-in](#istio-cni-plug-in) + 3. [Calico CNI Plug-in](#calico-cni-plug-in) + 4. [Third Party Network Operators with OpenShift](#third-party-network-operators-with-openshift) + 5. [Ingress Controllers in OpenShift using IPI](#ingress-controllers-in-openshift-using-ipi) +12. [Storage in OCP 4. OpenShift Container Storage (OCS)](#storage-in-ocp-4-openshift-container-storage-ocs) +13. [Red Hat Advanced Cluster Management for Kubernetes](#red-hat-advanced-cluster-management-for-kubernetes) +14. [OpenShift Kubernetes Engine (OKE)](#openshift-kubernetes-engine-oke) +15. [Red Hat CodeReady Containers. OpenShift 4 on your laptop](#red-hat-codeready-containers-openshift-4-on-your-laptop) +16. [OpenShift Hive: Cluster-as-a-Service. Easily provision new PaaS environments for developers](#openshift-hive-cluster-as-a-service-easily-provision-new-paas-environments-for-developers) +17. [OpenShift 4 Master API Protection in Public Cloud](#openshift-4-master-api-protection-in-public-cloud) +18. [Backup and Migrate to OpenShift 4](#backup-and-migrate-to-openshift-4) +19. [OKD4. OpenShift 4 without enterprise-level support](#okd4-openshift-4-without-enterprise-level-support) +20. [OpenShift Serverless with Knative](#openshift-serverless-with-knative) +21. [Helm Charts and OpenShift 4](#helm-charts-and-openshift-4) +22. [Red Hat Marketplace](#red-hat-marketplace) +23. [Kubestone. Benchmarking Operator for K8s and OpenShift](#kubestone-benchmarking-operator-for-k8s-and-openshift) +24. [OpenShift Cost Management](#openshift-cost-management) +25. [Operators in OCP 4](#operators-in-ocp-4) +26. [Quay Container Registry](#quay-container-registry) +27. [Application Migration Toolkit](#application-migration-toolkit) +28. [Developer Sandbox](#developer-sandbox) +29. [OpenShift Topology View](#openshift-topology-view) +30. [OpenBuilt Platform for the Construction Industry](#openbuilt-platform-for-the-construction-industry) +31. [Scripts](#scripts) +32. [Slides](#slides) +33. [Tweets](#tweets) ## OpenShift Container Platform 4 (OCP 4) @@ -149,6 +150,7 @@ - [github.com/openshift/hypershift: HyperShift](https://github.com/openshift/hypershift) Hyperscale OpenShift - clusters with hosted control planes. HyperShift is a middleware for hosting OpenShift control planes at scale that solves for cost and time to provision, as well as portability cross cloud with strong separation of concerns between management and workloads. Clusters are fully compliant OpenShift Container Platform (OCP) clusters and are compatible with standard OCP and Kubernetes toolchains. - [michaelkotelnikov.medium.com: Managing Network Security Lifecycles in Multi Cluster OpenShift Environments with OpenShift Platform Plus](https://michaelkotelnikov.medium.com/maintaining-network-traffic-compliance-in-multi-cluster-openshift-environments-with-openshift-54fe369aa346) In this article, you will learn how the tools in the OpenShift Platform Plus bundle help an organization maintain and secure network traffic flows in multi cluster OpenShift environments. - [medium.com/@shrishs: Application Backup and Restore using Openshift API for Data Protection(OADP)](https://medium.com/@shrishs/application-backup-and-restore-using-openshift-api-for-data-protection-oadp-790d39ad96d4) +- [==dev.to: Deep Dive into AWS OIDC identity provider when installing OpenShift using manual authentication mode with STS==](https://dev.to/mtulio/deep-dive-into-aws-oidc-identity-provider-when-installing-openshift-with-iam-sts-manual-sts-support-1bo7) ### OpenShift Guide @@ -286,11 +288,11 @@ - [CRI-O](https://cri-o.io/)ย as a container runtime - [SELinux](https://www.slideshare.net/openshift/openshift-18812162) enabled by default - [Machine API](https://github.com/openshift/machine-api-operator/tree/master): Provisioning of nodes. Abstraction mechanism added (API objects to declaratively manage the cluster): - - Based on [Kubernetes Cluster API project](https://github.com/kubernetes-sigs/cluster-api) - - Provides a new set of machine resources: + - Based on [Kubernetes Cluster API project](https://github.com/kubernetes-sigs/cluster-api) Cluster API is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters. + - Provides a new set of machine resources: - Machine - Machine Deployment - - MachineSet: + - MachineSet: - distributes easily your nodes among different Availability Zones - manages multiple node pools (e.g. pool for testing, pool for machine learning with GPU attached, etc) - **Everything โ€œjust another podโ€** @@ -579,9 +581,14 @@ oc login - [Red Hat OpenShift 4.2 on your laptop: Introducing Red Hat CodeReady Containers](https://developers.redhat.com/blog/2019/09/05/red-hat-openshift-4-on-your-laptop-introducing-red-hat-codeready-containers/)
+## GitOps Catalog + +- [==github.com/redhat-cop/gitops-catalog==](https://github.com/redhat-cop/gitops-catalog) Tools and technologies that are hosted on an OpenShift cluster. The GitOps Catalog includes kustomize bases and overlays for a number of OpenShift operators and applications. + ## OpenShift on Azure - [Introducing Azure Red Hat OpenShift on OpenShift 4 ๐ŸŒŸ](https://www.openshift.com/blog/introducing-azure-red-hat-openshift-on-openshift-4) +- [dkrallis.wordpress.com: How to create an OpenShift Cluster in Azure and how you can interact with Azure DevOps environment โ€“ Part A](https://dkrallis.wordpress.com/2022/11/25/how-to-create-an-openshift-cluster-in-azure-and-how-you-can-interact-with-azure-devops-environment-part-a/) ## OpenShift Youtube diff --git a/docs/other-awesome-lists.md b/docs/other-awesome-lists.md index 979f8e19..a0beb935 100644 --- a/docs/other-awesome-lists.md +++ b/docs/other-awesome-lists.md @@ -1,4 +1,4 @@ -# Other Awesome Lists +# Awesome Lists 1. [Inspired By](#inspired-by) 2. [Other Awesome Kubernetes Lists](#other-awesome-kubernetes-lists) @@ -22,8 +22,8 @@ 17. [QA](#qa) 18. [API](#api) 19. [Development](#development) - 1. [Bash](#bash) - 2. [Powershell](#powershell) + 1. [Bash](#bash) + 2. [Powershell](#powershell) 20. [Data Processing](#data-processing) 21. [Big Data](#big-data) 22. [Machine Learning and MLOps](#machine-learning-and-mlops) @@ -56,6 +56,7 @@ - [==mikeroyal/Kubernetes-Guide: Kubernetes Guide== ๐ŸŒŸ](https://github.com/mikeroyal/Kubernetes-Guide) A guide covering Kubernetes including the applications and tools that will make you a better and more efficient Kubernetes developer. - [fairwinds.com: Top 12 Kubernetes Resources: Learn and Stay Up-to-Date](https://www.fairwinds.com/blog/top-12-kubernetes-resources) - [github.com/joseadanof: Awesome Cloud Native Trainings](https://github.com/joseadanof/awesome-cloudnative-trainings) In this repository, you will find all the free training with and without certificates that were released for different companies supporting Cloud Native Computing Foundations Projects and Kubernetes. +- [divya-mohan0209.medium.com: Moโ€™ tenancy, Moโ€™ problems.](https://divya-mohan0209.medium.com/mo-tenancy-mo-problems-f031f75374f7) A curated (but not exhaustive) list of FOSS projects addressing multi-tenancy challenges in K8s. ## Other Awesome Lists @@ -79,6 +80,10 @@ - [lorien/awesome-web-scraping: Awesome Web Scraping](https://github.com/lorien/awesome-web-scraping) List of libraries, tools and APIs for web scraping and data processing. - [==Devdocs.io API Documentation== ๐ŸŒŸ](https://devdocs.io/) - [==developer.hashicorp.com== ๐ŸŒŸ](https://developer.hashicorp.com/) **Learn at your own pace in one place with reference docs, step by step tutorials, videos, and real hands-on lab workstations to automate your infrastructure, networking, and security workflows.** +- [github.com/iximiuz: Awesome Container Tinkering](https://github.com/iximiuz/awesome-container-tinkering) List of awesome tools to tinker with containers. +- [github.com/ran-isenberg: AWS Lambda Handler Cookbook (Python) ๐ŸŒŸ](https://github.com/ran-isenberg/aws-lambda-handler-cookbook) This repository provides a working, deployable, open source based, AWS Lambda handler and CDK Python code. This handler embodies Serverless best practices and has all the bells and whistles for a proper production ready handler. +- [koslib/awesome-containerized-security ๐ŸŒŸ](https://github.com/koslib/awesome-containerized-security) A collection of tools to improve your containerized apps security posture +- [steveazz/awesome-slo: Awesome SLOs](https://github.com/steveazz/awesome-slo) A curated list of useful resources for SLIs/SLOs ### Project Management @@ -109,11 +114,12 @@ - [Awesome DevOps](https://github.com/awesome-soft/awesome-devops) - [==bregman-arie/devops-resources== ๐ŸŒŸ](https://github.com/bregman-arie/devops-resources) DevOps resources - Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP - [andredesousa/devops-best-practices](https://github.com/andredesousa/devops-best-practices) -- [MichaelCade/90DaysOfDevOps ๐ŸŒŸ](https://github.com/MichaelCade/90DaysOfDevOps) This repository is my documenting repository for learning the world of DevOps. +- [MichaelCade/90DaysOfDevOps ๐ŸŒŸ](https://github.com/MichaelCade/90DaysOfDevOps) This repository is my documenting repository for learning the world of DevOps. ### DevSecOps - [==sottlmarek/DevSecOps: Ultimate DevSecOps library== ๐ŸŒŸ](https://github.com/sottlmarek/DevSecOps) + - [==sottlmarek/DevSecOps - kubernetes==](https://github.com/sottlmarek/DevSecOps#kubernetes) - [hahwul/DevSecOps](https://github.com/hahwul/DevSecOps) Collection and Roadmap for everyone who wants DevSecOps ### GitOps @@ -165,10 +171,12 @@ ### Configuration Management -- [Awesome Ansible](https://github.com/jdauphant/awesome-ansible) +- [jdauphant/Awesome Ansible](https://github.com/jdauphant/awesome-ansible) - [mrxpalmeiras: Ansible Cheat Sheet](https://sites.google.com/site/mrxpalmeiras/ansible/ansible-cheat-sheet) -- [Awesome Packer](https://github.com/dawitnida/awesome-packer) -- [Awesome Terraform](https://github.com/shuaibiyy/awesome-terraform) +- [==ansible-community/awesome-ansible: Awesome Ansible== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://github.com/ansible-community/awesome-ansible) +- [dawitnida/Awesome Packer](https://github.com/dawitnida/awesome-packer) +- [shuaibiyy/Awesome Terraform](https://github.com/shuaibiyy/awesome-terraform) +- [ElYusubov/AWESOME-Azure-Bicep: AWESOME Azure Bicep](https://github.com/ElYusubov/AWESOME-Azure-Bicep) ### Security @@ -241,6 +249,7 @@ - [visenger/awesome-mlops: Awesome MLOps](https://github.com/visenger/awesome-mlops) - [ekramasif/Basic-Machine-Learning](https://github.com/ekramasif/Basic-Machine-Learning) **This is a repo of basic Machine Learning!** This repository contains a topic-wise curated list of Machine Learning and Deep Learning tutorials, articles and other resources. +- [abhishek-ch/around-dataengineering: A very Long never ending Learning around Data Engineering & Machine Learning](https://github.com/abhishek-ch/around-dataengineering) ## Open Source Alternatives diff --git a/docs/postman.md b/docs/postman.md index c1f2e30b..50089860 100644 --- a/docs/postman.md +++ b/docs/postman.md @@ -29,6 +29,7 @@ - [dev.to: 1 Tip to Double Your Productivity in Postman](https://dev.to/jburroughs/1-tip-to-double-your-productivity-using-postman-3bdm) - [==blog.postman.com: Introducing the Secret Variable Type in Postman==](https://blog.postman.com/introducing-secret-variable-type-in-postman/) - [blog.postman.com: Meet Matrix: Postmanโ€™s Internal Tool for Working with Microservices](https://blog.postman.com/matrix-postman-internal-tool-microservices/) +- [blog.postman.com: First 5 Things to Try If Youโ€™re New to Postman](https://blog.postman.com/postman-first-5-things-to-try/) ## Newman diff --git a/docs/project-management-methodology.md b/docs/project-management-methodology.md index f9917887..cdee12ef 100644 --- a/docs/project-management-methodology.md +++ b/docs/project-management-methodology.md @@ -1,4 +1,4 @@ -# Project Management Methodology +# Project Management 1. [Project Management Methodology](#project-management-methodology) 1. [Spanish](#spanish) @@ -71,6 +71,20 @@ - [autoblog.com: VW CEO lost his job over buggy software that delayed new models](https://www.autoblog.com/2022/07/25/vw-ceo-herbert-diess-fired-over-cariad-buggy-software/) - [techcrunch.com: Protestware on the rise: Why developers are sabotaging their own code](https://techcrunch.com/2022/07/27/protestware-code-sabotage/) - [hbr.org: How to Debate Ideas Productively at Work](https://hbr.org/2019/01/how-to-debate-ideas-productively-at-work) +- [betterprogramming.pub: Techniques for Managing Your Time and Cognitive Load as a Senior Leader](https://betterprogramming.pub/techniques-for-managing-your-time-and-cognitive-load-as-a-senior-leader-2b9eadb0daa4) +- [medium.com/awesome-agile: 10 Ways Managers are Wasting Their Developers' Potential](https://medium.com/awesome-agile/10-ways-managers-are-wasting-their-developers-potential-5c0d78d8f8ba) +- [betterprogramming.pub: Stop Hiring Software Engineers](https://betterprogramming.pub/stop-hiring-software-engineers-8545520437ac) Consider product engineers. +- [hbr.org: The Surprising Power of Simply Asking Coworkers How Theyโ€™re Doing](https://hbr.org/2019/02/the-surprising-power-of-simply-asking-coworkers-how-theyre-doing) +- [medium.com/developer-purpose: Think before you code. Engineeringโ€™s most underrated advice](https://medium.com/developer-purpose/think-before-you-code-engineerings-most-underrated-advice-40b47e08a3fc) +- [betterprogramming.pub: How to Grow as a (Software) Engineering Manager](https://betterprogramming.pub/how-do-you-grow-as-a-software-engineering-manager-33a05873693) Tips to thrive outside of the corporate ladder +- [betterprogramming.pub: Good Leadership Is About Growth, Not Brilliance](https://betterprogramming.pub/good-leadership-is-about-growth-not-brilliance-af8ca30f1a3a) Leadership isnโ€™t about personal greatness and entitlement; itโ€™s the humility to lead with courage and passion +- [betterhumans.pub: 8 Communication Hacks I Use To Appear More Senior As a Young Employee](https://betterhumans.pub/8-communication-hacks-i-use-to-appear-more-senior-as-a-young-employee-9106468bf5aa) Become more influential by learning the language of these subtle cues +- [jproco.medium.com: Deliver a Product Roadmap That Survives Startup Velocity](https://jproco.medium.com/deliver-a-product-roadmap-that-survives-startup-velocity-f9be4fb9893e) This is how you build the car while itโ€™s speeding down the highway +- [medium.com/career-of-you: A Ten-Step Process for Team Leaders to Reduce Meeting Overload and Take Back Their Time](https://medium.com/career-of-you/a-ten-step-process-for-team-leaders-to-reduce-meeting-overload-and-take-back-their-time-407cf1f8f09b) +- [betterprogramming.pub: The Importance of Code Ownership ๐ŸŒŸ](https://betterprogramming.pub/the-underestimated-importance-of-clear-code-ownership-baed758e47b8) Well-owned code is well-maintained code +- [infoworld.com: What to do when your devops team is downsized](https://www.infoworld.com/article/3682654/what-to-do-when-your-devops-team-is-downsized.html) Five tips to help you manage the emotional and practical repercussions when colleagues are let go. +- [bootcamp.uxdesign.cc: A quick win to prepare for every meeting using templates](https://bootcamp.uxdesign.cc/a-quick-win-to-prepare-for-every-meeting-using-templates-d2359c849433) +- [huryn.substack.com: 3 Ways to Create 10X Better Product Roadmaps](https://huryn.substack.com/p/3-ways-to-create-10x-better-product) ### Spanish @@ -98,6 +112,7 @@ - [pymesyautonomos.com: ยฟEstรก trabajando el empleado realmente desde su casa?](https://www.pymesyautonomos.com/management/esta-trabajando-empleado-realmente-su-casa) - [estrategiadeproducto.com: La espiral de mierda](https://www.estrategiadeproducto.com/p/evitar-caer-espiral-de-mierda) ยฟPor quรฉ todo parece ir mรกs lento si cada vez somos mรกs? Analizamos las causas que llevan a que muchas startups fracasen durante su proceso de escala y cรณmo evitarlo. - [estrategiadeproducto.com: La segunda mayor mentira sobre Product Management](https://www.estrategiadeproducto.com/p/segunda-mayor-mentira-product-management) No. Un Product Manager no es la intersecciรณn de Diseรฑo, Tecnologรญa y Negocio. +- [mariocortes.net: La crisis de seniority](https://www.mariocortes.net/la-crisis-de-seniority/) El โ€œseniorityโ€ no estรก relacionado exclusivamente con la experiencia profesional, sino a la capacidad de un profesional para enfrentarse a un problema o reto y la aptitud con la que se enfrenta a รฉl. ### Team Topologies diff --git a/docs/project-management-tools.md b/docs/project-management-tools.md index e10645ca..18e3e5b7 100644 --- a/docs/project-management-tools.md +++ b/docs/project-management-tools.md @@ -21,6 +21,9 @@ Jira and Bitbucket integration. Now you can transition issues right from your me - [opensource.com: A guide to simplifying invoicing with this open source tool](https://opensource.com/article/21/7/open-source-invoicing-po) [project-open](https://www.project-open.com/) simplifies one of the most challenging activities in IT: writing customer invoices. - [devops.com: Clubhouse Becomes Shortcut to Transform Software Project Management](https://devops.com/clubhouse-becomes-shortcut-to-transform-software-project-management/) - [engineeringmanagement.info: Planning and Schedule Free Templates](https://www.engineeringmanagement.info/2017/02/planning-and-schedule-free-templates.html) Download free over 300, customizable project plan templates for Microsoft Word to track, manage, and prioritize your projects. +- Microsoft Excel: + - [mundodeportivo.com: 31 plantillas de Excel gratis agrupadas por usos](https://www.mundodeportivo.com/urbantecno/office/plantillas-de-excel-gratis-agrupadas-por-usos) +- [namelix.com](https://namelix.com) Struggling to come up with a business name? Namelix can help you out. ## Alternatives @@ -63,5 +66,7 @@ Jira and Bitbucket integration. Now you can transition issues right from your me + + diff --git a/docs/prometheus.md b/docs/prometheus.md index efe9da10..dc64d570 100644 --- a/docs/prometheus.md +++ b/docs/prometheus.md @@ -22,21 +22,21 @@ 10. [Prometheus Alarms and Event Tracking](#prometheus-alarms-and-event-tracking) 11. [Prometheus and Cloud Monitoring](#prometheus-and-cloud-monitoring) 12. [Prometheus Installers](#prometheus-installers) - 1. [Binaries, source code or Docker](#binaries-source-code-or-docker) - 2. [Ansible Roles](#ansible-roles) + 1. [Binaries, source code or Docker](#binaries-source-code-or-docker) + 2. [Ansible Roles](#ansible-roles) 13. [Prometheus Operator](#prometheus-operator) - 1. [kube Prometheus](#kube-prometheus) - 1. [Prometheus Operator with Helm3](#prometheus-operator-with-helm3) - 2. [Kube-prometheus-stack (best choice)](#kube-prometheus-stack-best-choice) - 3. [Kubernetes Cluster Monitoring Stack based on Prometheus Operator](#kubernetes-cluster-monitoring-stack-based-on-prometheus-operator) + 1. [kube Prometheus](#kube-prometheus) + 1. [Prometheus Operator with Helm3](#prometheus-operator-with-helm3) + 2. [Kube-prometheus-stack (best choice)](#kube-prometheus-stack-best-choice) + 3. [Kubernetes Cluster Monitoring Stack based on Prometheus Operator](#kubernetes-cluster-monitoring-stack-based-on-prometheus-operator) 14. [Prometheus SaaS Solutions](#prometheus-saas-solutions) 15. [Proof of Concept: ActiveMQ Monitoring with Prometheus](#proof-of-concept-activemq-monitoring-with-prometheus) - 1. [PoC: ActiveMQ 5.x Monitoring with Telegraf Collector, Prometheus and Grafana Dashboard 10702](#poc-activemq-5x-monitoring-with-telegraf-collector-prometheus-and-grafana-dashboard-10702) - 1. [Deployment and Configuration](#deployment-and-configuration) - 2. [PoC: ActiveMQ Artemis Monitoring with Prometheus Metrics Plugin (Micrometer Collector) and Prometheus. Grafana Dashboard not available](#poc-activemq-artemis-monitoring-with-prometheus-metrics-plugin-micrometer-collector-and-prometheus-grafana-dashboard-not-available) - 1. [Deployment and Configuration](#deployment-and-configuration-1) - 3. [Validation of Artemis Broker Monitoring with JMeter](#validation-of-artemis-broker-monitoring-with-jmeter) - 1. [JMeter Example Test Plans](#jmeter-example-test-plans) + 1. [PoC: ActiveMQ 5.x Monitoring with Telegraf Collector, Prometheus and Grafana Dashboard 10702](#poc-activemq-5x-monitoring-with-telegraf-collector-prometheus-and-grafana-dashboard-10702) + 1. [Deployment and Configuration](#deployment-and-configuration) + 2. [PoC: ActiveMQ Artemis Monitoring with Prometheus Metrics Plugin (Micrometer Collector) and Prometheus. Grafana Dashboard not available](#poc-activemq-artemis-monitoring-with-prometheus-metrics-plugin-micrometer-collector-and-prometheus-grafana-dashboard-not-available) + 1. [Deployment and Configuration](#deployment-and-configuration-1) + 3. [Validation of Artemis Broker Monitoring with JMeter](#validation-of-artemis-broker-monitoring-with-jmeter) + 1. [JMeter Example Test Plans](#jmeter-example-test-plans) 16. [Prometheus and Azure](#prometheus-and-azure) 17. [Managed Prometheus in AWS](#managed-prometheus-in-aws) 18. [Managed Prometheus in GCP](#managed-prometheus-in-gcp) @@ -134,6 +134,9 @@ Thanos Metrics with prometheus in Kubernetes environments. - [medium.com/kubecost: Prometheus Grafana: configuration & query examples ๐ŸŒŸ](https://medium.com/kubecost/prometheus-grafana-configuration-query-examples-885b91b6ca6) - [sysdig.com: Prometheus 2.37 โ€“ The first long-term supported release! ๐ŸŒŸ](https://sysdig.com/blog/prometheus-2-37-lts/) - [dev.to: How to monitor nginx in Kubernetes with Prometheus](https://dev.to/eckelon/how-to-monitor-nginx-in-kubernetes-with-prometheus-j5f) In this article, you'll learn how to monitor nginx in Kubernetes with Prometheus and troubleshoot issues related to latency, saturation, etc +- [promlabs.com: Avoid These 6 Mistakes When Getting Started With Prometheus](https://promlabs.com/blog/2022/12/11/avoid-these-6-mistakes-when-getting-started-with-prometheus) +- [itnext.io: Hardening Monitoring: a step-by-step guide](https://itnext.io/hardening-monitoring-a-step-by-step-guide-7a18007c915) In this article, I walk through how to serve metrics-server, prometheus-server and prometheus-adapter securely. +- [blog.devops.dev: Deploying Prometheus and Grafana in a Multi-Node Kubernetes Cluster and Auto-Scaling with KEDA](https://blog.devops.dev/deploying-prometheus-and-grafana-in-a-multi-node-kubernetes-cluster-and-auto-scaling-with-keda-eccecfbd8950)
[![prometheus architecture](images/prometheus-architecture.png)](https://github.com/prometheus/prometheus) @@ -200,7 +203,7 @@ Thanos Metrics with prometheus in Kubernetes environments. - ยฟCuรกl es la cardinalidad de las mรฉtricas? La cardinalidad es el nรบmero de etiquetas que cada mรฉtrica puede tener. Es una cuestiรณn muy frecuente en las mรฉtricas pertenecientes a entornos dinรกmicos donde a los contenedores se les asignan un ID รณ nombre diferente cada vez que son lanzados, reiniciados o movidos entre nodos (caso de kubernetes). - ยฟEs necesaria la Alta Disponibilidad (HA)? - ยฟDurante cuรกnto tiempo es necesario mantener las mรฉtricas y con quรฉ resoluciรณn? -- La implementaciรณn de HA es laboriosa porque la funcionalidad de cluster requiere aรฑadir plugins de terceros al servidor Prometheus. Es necesario tratar con "backups" y "restores", y el almacenamiento de mรฉtricas por un periodo de tiempo extendido harรก que la base de datos crezca exponencialmente. Los servidores Prometheus proporcionan almacenamiento persistente, pero Prometheus no fue creado para el almacenamiento distribuido de mรฉtricas a lo largo de mรบltiples nodos de un cluster con replicaciรณn y capacidad curativa (como es el caso de Kubernetes). Esto es conocido como **"almacenamiento a largo-plazo" (Long-Term)** y actualmente es un requisito en unos pocos casos de uso, por ejemplo en la planificaciรณn de la capacidad para monitorizar cรณmo la infraestructura necesita evolucionar, contracargos para facturar diferentes equipos รณ departamentos para un caso especรญfico que han hecho de la infraestructura, anรกlisis de tendencias de uso, o adherirse a regulaciones para verticales especรญficos como banca, seguros, etc. +- La implementaciรณn de HA es laboriosa porque la funcionalidad de cluster requiere aรฑadir plugins de terceros al servidor Prometheus. Es necesario tratar con "backups" y "restores", y el almacenamiento de mรฉtricas por un periodo de tiempo extendido harรก que la base de datos crezca exponencialmente. Los servidores Prometheus proporcionan almacenamiento persistente, pero Prometheus no fue creado para el almacenamiento distribuido de mรฉtricas a lo largo de mรบltiples nodos de un cluster con replicaciรณn y capacidad curativa (como es el caso de Kubernetes). Esto es conocido como **"almacenamiento a largo-plazo" (Long-Term)** y actualmente es un requisito en unos pocos casos de uso, por ejemplo en la planificaciรณn de la capacidad para monitorizar cรณmo la infraestructura necesita evolucionar, contracargos para facturar diferentes equipos รณ departamentos para un caso especรญfico que han hecho de la infraestructura, anรกlisis de tendencias de uso, o adherirse a regulaciones para verticales especรญficos como banca, seguros, etc. ### Storage Solutions for Prometheus @@ -218,9 +221,10 @@ Thanos Metrics with prometheus in Kubernetes environments. - [prometheus-operator.dev: Thanos and the Prometheus Operator ๐ŸŒŸ](https://prometheus-operator.dev/docs/operator/thanos/) - [Thanos Architecture Overview ๐ŸŒŸ](https://github.com/thanos-io/thanos#architecture-overview) - [enmilocalfunciona.io: Aprende a configurar Thanos usando docker-compose](https://enmilocalfunciona.io/aprende-a-configurar-thanos-usando-docker-compose/) - - [goatlas-io/atlas](https://github.com/goatlas-io/atlas) Atlas provides the ability to easily run a secure distributed Thanos deployment. + - [goatlas-io/atlas](https://github.com/goatlas-io/atlas) Atlas provides the ability to easily run a secure distributed Thanos deployment. - [==thanos-io/kube-thanos: Kubernetes specific configuration for deploying Thanos==](https://github.com/thanos-io/kube-thanos) - [medium.com/nerd-for-tech: Deep Dive into Thanos-Part I | Pavan Kumar](https://medium.com/nerd-for-tech/deep-dive-into-thanos-part-i-f72ecba39f76) Monitoring Kubernetes Workloads with Thanos and Prometheus Operator. + - [particule.io: Multi-Cluster Monitoring with Thanos ๐ŸŒŸ](https://particule.io/en/blog/thanos-monitoring/) In this article, you'll learn the limitations of a Prometheus-only monitoring stack and why moving to a Thanos-based stack can improve metrics retention and reduce overall costs for your clusters - [**M3**:](https://www.m3db.io/) An open source, large-scale metrics platform developed by Uber. It has its own time series database, M3DB. Like Thanos, M3 also uses a side-car container to push the metrics to the DB. In addition, it supports metric deduplication and merging, and provides distributed query support. Although it's exciting to see attempts to address the challenges of running Prometheus at scale, these are very young projects that are not widely used yet. - [VictoriaMetrics](https://victoriametrics.com/) @@ -262,6 +266,7 @@ Although it's exciting to see attempts to address the challenges of running Prom - [prometheus-community/elasticsearch_exporter](https://github.com/prometheus-community/elasticsearch_exporter) Prometheus exporter for various metrics about ElasticSearch, written in Go. - [medium.com/@akashjoffical08: Monitor Uptime of Endpoints in K8s using Blackbox Exporter ๐ŸŒŸ](https://medium.com/@akashjoffical08/monitor-uptime-of-endpoints-in-k8s-using-blackbox-exporter-f80166a328e9) - [sstarcher/helm-exporter](https://github.com/sstarcher/helm-exporter) Helm-exporter exports Helm releases, charts, and version statistics in the Prometheus format +- [blog.devops.dev: Monitoring MySQL using Prometheus, Grafana and mysqld_exporter in Kubernetes](https://blog.devops.dev/monitoring-mysql-using-prometheus-and-grafana-in-kubernetes-16e7ae3de5dd) #### Certificates Expiration diff --git a/docs/public-cloud-solutions.md b/docs/public-cloud-solutions.md index e4c0c820..76fda900 100644 --- a/docs/public-cloud-solutions.md +++ b/docs/public-cloud-solutions.md @@ -10,12 +10,15 @@ 8. [GAIA-X](#gaia-x) 9. [Outages](#outages) 10. [Podcasts](#podcasts) -11. [Videos](#videos) -12. [Twitter](#twitter) +11. [Images](#images) +12. [Videos](#videos) +13. [Twitter](#twitter) + ## Public Cloud References - [cloud-mercato.com: Public Cloud Reference ๐ŸŒŸ](https://pcr.cloud-mercato.com/) A unique website gathering all catalogs - [cloud-mercato.com: State of the art of Public Object Storage Europe ๐ŸŒŸ](https://projector.cloud-mercato.com/projects/state-of-the-art-of-public-object-storage-europe) +- [learntocloud.guide](https://learntocloud.guide) ## Cloud Agnostic Design @@ -25,6 +28,7 @@ - [cybernews.com: Trouble in paradise: IT professionals unhappy with cloud services](https://cybernews.com/cloud/trouble-in-paradise-it-professionals-unhappy-with-cloud-services/) Only 8% of IT professionals surveyed around the globe believe they are getting the most from the cloud. A staggering 76% said they think their company is hitting a 'wall' as many of the daily tools were not designed to unify a multi-cloud, multi-tool world. 73% of the respondents agreed that they'd reached a point where they are struggling with efficiency scaling cloud efforts. Complexities with cloud adoption have increased, meaning that many business units and engineers within an organization decide to find isolated local solutions. That translates to companies having thousands of 'islands of automation' across teams, business units, subsidiaries, and locations. **Close to 63% of respondents said cyber threats specifically targeting cloud services were the main obstacle to cloud adoption.** Unsurprisingly, 60% said that the lack of security solutions protecting cross-platform environments was the critical hindrance for smoother general cloud adoption. - [medium.com/adeo-tech: Multi-Cloud Kubernetes Survival Guide ๐ŸŒŸ](https://medium.com/adeo-tech/multi-cloud-kubernetes-survival-guide-49eee9aa58e2) +- [acloudguru.com: Multicloud Fluency: 6 reasons you should learn multiple clouds](https://acloudguru.com/blog/engineering/why-learn-multiple-cloud-platforms) ## Public Cloud Services Comparison @@ -46,6 +50,7 @@ - [betterprogramming.pub: AWS vs. Digital Ocean vs. Hetzner Cloud โ€” Which Has the Best Value for Money?](https://betterprogramming.pub/aws-vs-digital-ocean-vs-hetzner-cloud-which-has-the-best-value-for-money-bd9cb3c06dee) - [cloudtechtwitter.com: Let's check about AWS v/s Azure Service](https://www.cloudtechtwitter.com/2022/05/lets-check-about-aws-vs-azure-services.html) - [simform.com: AWS vs. Azure vs. GCP: A Complete Comparison Guide](https://www.simform.com/blog/aws-vs-azure-vs-gcp/) +- [faddom.com: Cloud Computing Costs & Pricing Comparisons for 2023](https://faddom.com/cloud-computing-costs-and-pricing-comparison/) ## Openshift as a Service @@ -95,6 +100,14 @@ - [hablemosdenube.com](https://www.hablemosdenube.com) +## Images + +??? note "Click to expand!" + +
+ ![cloud_advantages](images/cloud_advantages.png) +
+ ## Videos ??? note "Click to expand!" diff --git a/docs/pulumi.md b/docs/pulumi.md index fb966ec2..9ebc6257 100644 --- a/docs/pulumi.md +++ b/docs/pulumi.md @@ -20,3 +20,5 @@ - [siliconangle.com: Pulumiโ€™s new registry aims to ease sharing and reusing cloud infrastructure building blocks](https://siliconangle.com/2021/10/18/pulumis-new-registry-makes-easy-share-reuse-cloud-infrastructure-building-blocks/) - [pulumi.com: Running Containers on ECS Fargate](https://www.pulumi.com/registry/packages/aws/how-to-guides/ecs-fargate/) Learn to build and publish a Docker container to a private ECR and spin up a load-balanced AWS ECS Fargate service in just a few lines up code in this tutorial. - [pulumi.com: Convert Your Terraform to Pulumi](https://www.pulumi.com/tf2pulumi/) +- [garden.io: Pulumi vs. Terraform: A comparison of Infrastructure as Code tools](https://garden.io/blog/pulumi-vs-terraform) +- [==pulumi/kube2pulumi==](https://github.com/pulumi/kube2pulumi) Upgrade your Kubernetes YAML to a modern language \ No newline at end of file diff --git a/docs/python.md b/docs/python.md index 7bf6c225..ff385d13 100644 --- a/docs/python.md +++ b/docs/python.md @@ -14,14 +14,14 @@ 12. [Python testing](#python-testing) 13. [Python Cyber Security](#python-cyber-security) 14. [Data Science](#data-science) - 1. [Python Pandas and pivot tables](#python-pandas-and-pivot-tables) - 2. [PandasDatabase](#pandasdatabase) - 3. [NumPy](#numpy) - 4. [Orchest. Data Pipelines with Python and R code. No frameworks. No YAML](#orchest-data-pipelines-with-python-and-r-code-no-frameworks-no-yaml) + 1. [Python Pandas and pivot tables](#python-pandas-and-pivot-tables) + 2. [PandasDatabase](#pandasdatabase) + 3. [NumPy](#numpy) + 4. [Orchest. Data Pipelines with Python and R code. No frameworks. No YAML](#orchest-data-pipelines-with-python-and-r-code-no-frameworks-no-yaml) 15. [Python standard library Modules and Code](#python-standard-library-modules-and-code) 16. [Python and AWS](#python-and-aws) 17. [Python Tools](#python-tools) - 1. [Web Scraping with Python](#web-scraping-with-python) + 1. [Web Scraping with Python](#web-scraping-with-python) 18. [Jython](#jython) 19. [Eclipse IDE](#eclipse-ide) 20. [Python Libraries](#python-libraries) @@ -233,6 +233,9 @@ - [superfastpython.com: Threading vs Multiprocessing in Python](https://superfastpython.com/threading-vs-multiprocessing-in-python/) - [betterprogramming.pub: Python List Comprehensions Are More Powerful Than You Might Think](https://betterprogramming.pub/python-list-comprehensions-are-more-powerful-than-you-might-think-3363a90e5bb0) Write better list comprehensions with the help of these unknown features and tricks - [medium.com/@yonatanzunger: Advanced Python: Achieving High Performance with Code Generation ๐ŸŒŸ๐ŸŒŸ](https://medium.com/@yonatanzunger/advanced-python-achieving-high-performance-with-code-generation-796b177ec79) +- [mishrapartha.blogspot.com: A Beginnerโ€™s Guide to Python for Data Science - Part 5 Adding Comments in Python](https://mishrapartha.blogspot.com/2022/11/a-beginners-guide-to-python-for-data_19.html) +- [morioh.com: How to create Google Map in Python using Gmaps](https://morioh.com/p/a9bdee14b0d2) +- [pydantic/pydantic](https://github.com/pydantic/pydantic) Data parsing and validation using Python type hints ## PHP vs Python @@ -392,6 +395,7 @@ - [joke2k/faker ๐ŸŒŸ](https://github.com/joke2k/faker) Faker is a Python package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you. - [makeuseof.com: 10 Useful Tools for Python Developers](https://www.makeuseof.com/python-developer-tools/) Whether you need Python tools for data science, machine learning, web development, or anything in between, this list has you covered. - [dev.to: Code Quality Tools in Python](https://dev.to/dollardhingra/code-quality-tools-in-python-4k2a) +- [==google/python-fire== ๐ŸŒŸ](https://github.com/google/python-fire) Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object. ### Web Scraping with Python @@ -440,6 +444,7 @@
## Tweets +
Click to expand! @@ -456,5 +461,9 @@ + + + + -
\ No newline at end of file + diff --git a/docs/qa.md b/docs/qa.md index 369b8678..d4fb0d57 100644 --- a/docs/qa.md +++ b/docs/qa.md @@ -50,6 +50,12 @@ the #1 test automation community. - [dev.to: Test-Driven-Development with Django: Unit Testing & Integration testing with Docker, Flask & Github Actions](https://dev.to/koladev/test-driven-development-with-django-unit-testing-integration-testing-with-docker-flask-github-actions-2047) - [smashingmagazine.com: Testing Pipeline 101 For Frontend Testing](https://www.smashingmagazine.com/2022/02/testing-pipeline-101-frontend-testing/) - [infoq.com: Maintaining Software Quality with Microservices](https://www.infoq.com/presentations/microservices-software-quality/) +- [speakerdeck.com/thockin: Code Review in Kubernetes](https://speakerdeck.com/thockin/code-review-in-kubernetes) +- [adequatica.medium.com: Principles of Writing Automated Tests](https://adequatica.medium.com/principles-of-writing-automated-tests-a2b72218264c) While working on test automation in different projects, Iโ€™ve learned that there are not enough static analyzers and code formatters for writing good tests. The team had to have an agreement on how the tests should be written. +- [getxray.app: The top 5 software testing trends of 2022](https://www.getxray.app/blog/the-top-5-software-testing-trends-of-2022) +- [linkedin.com: Microservices are testable in isolation ๐ŸŒŸ](https://www.linkedin.com/pulse/microservices-testable-isolation-chris-richardson/) +- [dzone: Testing the Untestable and Other Anti-Patterns](https://dzone.com/articles/testing-the-untestable-and-other-anti-patterns) The productive path to establishing and maintaining effective test automation is not easy. In this post, explore well-intentioned yet harmful anti-patterns. +- [softwaretestingsapiens.com: Roadmap to learn API Testing in Just 30 days](https://www.softwaretestingsapiens.com/roadmap-to-learn-api-testing/) ## Blogs @@ -86,6 +92,7 @@ the #1 test automation community. - [spinscale.de: Using Testcontainers To Test Elasticsearch Plugins](https://spinscale.de/posts/2021-08-25-using-testcontainers-to-test-elasticsearch-plugins.html) - [testcontainers-spring-boot ๐ŸŒŸ](https://github.com/Playtika/testcontainers-spring-boot) Container auto-configurations for spring-boot based integration tests. If you use Testcontainers with Spring Boot you may be interested in the Playtika_Ltd Testcontainers library that provides auto-configurations for springboot based integration tests. It contains modules e.g. for kafka rabbitmq mongodb - [atomicjar.com: Announcing Testcontainers Cloud: Integration Testing has never been easier](https://www.atomicjar.com/2021/11/announcing-testcontainers-cloud/) Ever wished for integration tests to be faster, easier, and more efficient? Wish no more! We're happy to announce Testcontainers Cloud - a lightweight, fast, and secure integration testing platform for everyone. + - [vladmihalcea.com: Testcontainers Database Integration Testing](https://vladmihalcea.com/testcontainers-database-integration-testing/) - [Metabob](https://www.metabob.com/) Metabob is an AI Static Analysis Tool that enables developers to quickly identify the causes behind errors and performance sinks. An AI-assisted tool to visualize and debug Python code. - [dzone: Top Microservices Testing Tools Testers Should Know About](https://dzone.com/articles/top-microservices-testing-tools-testers-should-kno) - [SystemTap](https://sourceware.org/systemtap/) @@ -106,6 +113,7 @@ the #1 test automation community. ## Performance Testing - [devops.com: Best Practices for Application Performance Testing](https://devops.com/best-practices-for-application-performance-testing/) +- [softwarequickguide.com: What is performance testing and performance testing tools](https://softwarequickguide.com/what-is-performance-testing-and-performance-testing-tools) ## Kubernetes conformance testing tools diff --git a/docs/rancher.md b/docs/rancher.md index 4ac5ef14..d6086112 100644 --- a/docs/rancher.md +++ b/docs/rancher.md @@ -1,26 +1,27 @@ # SUSE Rancher 1. [Rancher: Enterprise management for Kubernetes](#rancher-enterprise-management-for-kubernetes) -2. [Rancher Desktop](#rancher-desktop) -3. [Rancher Academy (online training)](#rancher-academy-online-training) -4. [Rancher 2](#rancher-2) +2. [Rancher and Terraform](#rancher-and-terraform) +3. [Rancher Desktop](#rancher-desktop) +4. [Rancher Academy (online training)](#rancher-academy-online-training) +5. [Rancher 2](#rancher-2) 1. [Rancher Networking and CNI Providers](#rancher-networking-and-cni-providers) 2. [Rancher 2 RKE](#rancher-2-rke) -5. [K3S](#k3s) +6. [K3S](#k3s) 1. [K3s Tools](#k3s-tools) 2. [K3S Use Cases](#k3s-use-cases) 3. [K3S in Public Clouds](#k3s-in-public-clouds) 4. [K3D](#k3d) 5. [K3OS](#k3os) -6. [K3C](#k3c) -7. [Hosted Rancher](#hosted-rancher) -8. [Rancher on Microsoft Azure](#rancher-on-microsoft-azure) -9. [Rancher RKE on vSphere](#rancher-rke-on-vsphere) -10. [Rancher Kubernetes on Oracle Cloud](#rancher-kubernetes-on-oracle-cloud) -11. [Rancher Software Defined Storage with Longhorn](#rancher-software-defined-storage-with-longhorn) -12. [Rancher Fleet to manage multiple kubernetes clusters](#rancher-fleet-to-manage-multiple-kubernetes-clusters) -13. [Kubernautic](#kubernautic) -14. [Harvester Hyperconverged Infrastructure Software](#harvester-hyperconverged-infrastructure-software) +7. [K3C](#k3c) +8. [Hosted Rancher](#hosted-rancher) +9. [Rancher on Microsoft Azure](#rancher-on-microsoft-azure) +10. [Rancher RKE on vSphere](#rancher-rke-on-vsphere) +11. [Rancher Kubernetes on Oracle Cloud](#rancher-kubernetes-on-oracle-cloud) +12. [Rancher Software Defined Storage with Longhorn](#rancher-software-defined-storage-with-longhorn) +13. [Rancher Fleet to manage multiple kubernetes clusters](#rancher-fleet-to-manage-multiple-kubernetes-clusters) +14. [Kubernautic](#kubernautic) +15. [Harvester Hyperconverged Infrastructure Software](#harvester-hyperconverged-infrastructure-software) ## Rancher: Enterprise management for Kubernetes @@ -28,7 +29,6 @@ - [rancher.com: Custom alerts using Prometheus queries](https://rancher.com/blog/2020/custom-monitoring) - [zdnet.com: Rancher Labs closes $40M funding round to "run Kubernetes everywhere"](https://www.zdnet.com/article/rancher-labs-closes-40m-funding-round-to-run-kubernetes-everywhere/) The six year-old startup is going after new markets that want to run Kubernetes clusters at the edge. - [medium: Quick Fix: Mounting a ConfigMap to an Existing Volume in Kubernetes Using Rancher](https://medium.com/swlh/quick-fix-mounting-a-configmap-to-an-existing-volume-in-kubernetes-using-rancher-d01c472a10ad) -- [Deploy a Rancher Cluster with GitLab CI and Terraform](https://rancher.com/blog/2020/deploy-with-gitlab-ci) - [Faster Kubernetes Development with Rancher, DevSpace and Loft](https://rancher.com/blog/2020/faster-kubernetes-development-rancher-devspace-loft) - [Multi-Cluster Vulnerability Scanning with Alcide and Rancher](https://rancher.com/blog/2020/multi-cluster-vulnerability-scanning-alcide-rancher) - [Monitor Etcd with Prometheus and Grafana using Rancher](https://rancher.com/blog/2020/monitor-etcd-prometheus-grafana-rancher) @@ -50,10 +50,15 @@ - [suse.com: My First Impressions with SUSE Rancher Kubernetes Projects](https://www.suse.com/c/rancher_blog/my-first-impressions-with-suse-rancher-kubernetes-projects/)
-[![rancher architecture](images/rancher.png)](https://www.youtube.com/watch?v=2LNxGVS81mE) +[![rancher architecture](images/rancher.png)](https://www.youtube.com/watch?v=2LNxGVS81mE)

+## Rancher and Terraform + +- [Deploy a Rancher Cluster with GitLab CI and Terraform](https://rancher.com/blog/2020/deploy-with-gitlab-ci) +- [==akyriako.medium.com: Provision an on-prems Kubernetes Cluster with Rancher, Terraform and Ansible==](https://akyriako.medium.com/provision-an-on-prems-kubernetes-cluster-with-rancher-terraform-and-ansible-e26e24059319) Automate the provisioning of on-premises Rancher RKE Clusters and the registration of their nodes via Terraform and Ansible + ## Rancher Desktop - [==rancherdesktop.io==](https://rancherdesktop.io) Kubernetes and container management to the desktop. Rancher Desktop is an open-source project to bring Kubernetes and container management to the desktop. @@ -66,7 +71,7 @@ ## Rancher 2 -- [**Rancher 2**](https://rancher.com/docs/rancher/v2.x/en/) +- [**Rancher 2**](https://rancher.com/docs/rancher/v2.x/en/) ### Rancher Networking and CNI Providers @@ -77,6 +82,7 @@ - [**Rancher 2 RKE**](https://rancher.com/products/rke/) Rancher 2 that runs in docker containers. RKE is a CNCF-certified Kubernetes distribution that runs entirely within Docker containers. It solves the common frustration of installation complexity with Kubernetes by removing most host dependencies and presenting a stable path for deployment, upgrades, and rollbacks. - [Rancher.com: Setup a basic Kubernetes cluster with ease using RKE](https://rancher.com/blog/2018/2018-09-26-setup-basic-kubernetes-cluster-with-ease-using-rke/) - [Bootstrap RKE Kubernetes Cluster in AWS Environment](https://github.com/LukeMwila/bootstrap-rke-cluster-in-aws) +- [github.com/gruberdev/local-gitops: Local Gitops ๐ŸŒŸ](https://github.com/gruberdev/local-gitops) An automated local cluster setup w/ tls, monitoring, ingress and DNS configuration. The goal of this project is to provide a simplified approach to creating your own local cluster, as well as all the utilities you'll need to run a functional cluster using GitOps ## K3S @@ -110,11 +116,14 @@ - [blog.nootch.net: Kubernetes at Home With K3s](https://blog.nootch.net/post/kubernetes-at-home-with-k3s/) - Try out the Kubernetes 1.23 with K3s distro: `curl -sfL https://get.k3s.io |INSTALL_K3S_VERSION="v1.23.1-rc1+k3s1" sh -` You can try on ubuntu katakoda playground in your browser :) - [==medium.com/@ostridelabs: k8s vs k3s: The Comprehensive Difference==](https://medium.com/@ostridelabs/k8s-vs-k3s-the-comprehensive-difference-f7667d141c0) +- [justinpolidori.it: LDAP authentication with Dex on Kubernetes with Vcluster (K3S)](https://www.justinpolidori.it/posts/20220611_vcluster_auth/) In this article, you'll learn how to grant access to users of a vcluster using DEX as a federated OpenID provider and kubelogin as a plugin for OIDC integration +- [itnext.io: Running K3S workload in a restricted environment](https://itnext.io/running-k3s-workload-in-a-restricted-environment-c2f593d19005) ### K3s Tools - [tinyzimmer/k3p](https://github.com/tinyzimmer/k3p) A k3s packager and installer, primarily intended for airgapped deployments - [alexellis/k3sup](https://github.com/alexellis/k3sup) bootstrap Kubernetes with k3s over SSH < 1 min ๐Ÿš€. k3sup is a light-weight utility to get from zero to KUBECONFIG with k3s on any local or remote VM. All you need is ssh access and the k3sup binary to get kubectl access immediately. +- [clanktron/k3s-ansible](https://github.com/clanktron/k3s-ansible) Automated build of HA k3s Cluster with kube-vip, Cilium, and MetalLB ### K3S Use Cases @@ -133,6 +142,8 @@ - [**k3d**](https://github.com/rancher/k3d) k3s that runs in docker containers. - [cncf.io: Introduction to k3d: Run K3s in Docker](https://www.cncf.io/blog/2021/03/16/introduction-to-k3d-run-k3s-in-docker/) - [itnext.io: Kubernetes + Rancher Cluster Manager 2.6 on your macOS laptop with k3d/k3s in 5 min](https://itnext.io/kubernetes-rancher-cluster-manager-2-6-on-your-macos-laptop-with-k3d-k3s-in-5-min-8acdb94f3376) +- [dev.to/iamunnip: Building a local Kubernetes cluster using k3d](https://dev.to/iamunnip/building-a-local-kubernetes-cluster-using-k3d-2p3d) +- [akyriako.medium.com: Provision a Highly Available K3S Cluster with K3D](https://akyriako.medium.com/provision-a-high-availability-k3s-cluster-with-k3d-a7519f476c9c) ### K3OS diff --git a/docs/registries.md b/docs/registries.md index acd5f2f2..b51d48c4 100644 --- a/docs/registries.md +++ b/docs/registries.md @@ -144,4 +144,6 @@ ## Other Alternatives -- [uber/kraken](https://github.com/uber/kraken) P2P Docker registry capable of distributing TBs of data in seconds \ No newline at end of file +- [uber/kraken](https://github.com/uber/kraken) P2P Docker registry capable of distributing TBs of data in seconds +- [medium.com/swlh: Deploy Your Private Docker Registry as a Pod in Kubernetes](https://medium.com/swlh/deploy-your-private-docker-registry-as-a-pod-in-kubernetes-f6a489bf0180) In this tutorial, you'll deploy a TLS-enabled Private Docker Registry as a Pod. This will help you to push your custom-built images to the registry, which later can be pulled by any of the worker nodes. + diff --git a/docs/scaffolding.md b/docs/scaffolding.md index 8c11d78b..8743b999 100644 --- a/docs/scaffolding.md +++ b/docs/scaffolding.md @@ -40,6 +40,7 @@ - [Cloud Code](https://cloud.google.com/code) Skaffold is the underlying engine that drives Cloud Code. - [ashishtechmill.com: CI/CD Workflow for Spring Boot Application on Kubernetes via Skaffold](https://ashishtechmill.com/cicd-workflow-for-spring-boot-application-on-kubernetes-via-skaffold) This article will cover how to create CI/CD workflow for a SpringBoot Application deployed to Kubernetes using Skaffold. - [==piotrminkowski.com: Development on Kubernetes with Telepresence and Skaffold==](https://piotrminkowski.com/2021/12/21/development-on-kubernetes-with-telepresence-and-skaffold) Development on Kubernetes with Telepresence and Skaffold. In this article, you will learn how to use Telepresence, Skaffold and the Jib Maven plugin to improve your Java development workflow on Kubernetes. + - [dev.to: Getting Started With Skaffold](https://dev.to/thenjdevopsguy/getting-started-with-skaffold-5120) - [Draft](https://draft.sh/) - [Garden](https://garden.io/) - [codefresh.io: The ultimate guide for local development on Kubernetes: Draft vs Skaffold vs Garden.io](https://codefresh.io/howtos/local-k8s-draft-skaffold-garden/) diff --git a/docs/securityascode.md b/docs/securityascode.md index 1f467fed..40672025 100644 --- a/docs/securityascode.md +++ b/docs/securityascode.md @@ -47,6 +47,8 @@ - [thenewstack.io: Weaveworks Adds Policy as Code to Secure Kubernetes Apps (Magalix)](https://thenewstack.io/weaveworks-adds-policy-as-code-to-secure-kubernetes-apps/) - [Magalix](https://www.magalix.com) - [fugue.co: Securing a Kubernetes pod with Regula and Open Policy Agent](https://www.fugue.co/blog/securing-a-kubernetes-pod-with-regula-and-open-policy-agent) - [dev.to: Load external data into OPA: The Good, The Bad, and The Ugly](https://dev.to/permit_io/load-external-data-into-opa-the-good-the-bad-and-the-ugly-26lc) There are several ways to create a data fetching mechanism for the Open Policy Agent - each of them has its pros and cons. In this guide, you will compare and decide which one is the best for you. +- [inspektor.cloud: Evaluating open policy agent in rust using wasm](https://inspektor.cloud/blog/evaluating-open-policy-agent-in-rust-using-wasm/) +- [medium.com/4th-coffee: What is Policy-as-Code? An Introduction to Open Policy Agent](https://medium.com/4th-coffee/what-is-policy-as-code-an-introduction-to-open-policy-agent-6098463f8461) ### Open Policy Agent in Kubernetes @@ -133,6 +135,10 @@ - Clone multiple resources - OpenTelemetry - Multi-tenancy +- [medium.com/compass-true-north: Governing Multi-Tenant Kubernetes Clusters with Kyverno](https://medium.com/compass-true-north/governing-multi-tenant-kubernetes-clusters-with-kyverno-3e11ba4a64ad) With Kyverno: + - Invalid resources can be blocked with helpful errors + - Misconfigured resources can be corrected on the fly + - New resources can be dynamically generated ### Kyverno E-Learning diff --git a/docs/serverless.md b/docs/serverless.md index 7b7808ab..3c2655c8 100644 --- a/docs/serverless.md +++ b/docs/serverless.md @@ -43,6 +43,15 @@ - [kohera.be: Should I use serverless for all my Azure SQL Databases? ๐ŸŒŸ](https://kohera.be/azure-cloud/should-i-use-serverless-for-all-my-azure-sql-databases/) - [dev.to/brentmitchell: After 5 years, I'm out of the serverless compute cult](https://dev.to/brentmitchell/after-5-years-im-out-of-the-serverless-compute-cult-3f6d) - [readysetcloud.io: Building Serverless Applications That Scale The Perfect Amount ๐ŸŒŸ](https://www.readysetcloud.io/blog/allen.helton/how-to-design-serverless-apps-that-scale-the-perfect-amount/) **When designing serverless apps, you must consider the right level of scale. Your architecture choices will vary greatly depending on the expected load. "Just because serverless services can scale doesn't mean they will scale".** +- [==jeromevdl.medium.com: When to use a Lambda function, and when not?== ๐ŸŒŸ](https://jeromevdl.medium.com/when-to-use-a-lambda-function-and-when-not-9a225e6dd2dd) +- [==c-sharpcorner.com: Why and When to use Azure Functions==](https://www.c-sharpcorner.com/article/why-and-when-to-use-azure-functions/) +- [dzone: When to Use Logic Apps and Azure Functions](https://dzone.com/articles/when-to-use-logic-apps-and-azure-functions) Here we take a look at two of the programs in Azure's toolbox, Logic Apps and Azure Functions, and compare them with each other. +- [dvtsoftware.com: When is it a good choice to use Azure serverless functions?](https://www.dvtsoftware.com/en/news-insights/insights/item/389-when-is-it-a-good-choice-to-use-azure-serverless-functions) +- [serverlessguru.com: Enterprise Serverless Adoption ๐ŸŒŸ](https://www.serverlessguru.com/blog/enterprise-serverless-adoption) Adopting a new architecture may be intimidating. Having to migrate all of your workloads over to your cloud provider can be time-consuming and stressful. Iโ€™m sure youโ€™re wondering, โ€œHow can I benefit from serverless?โ€ In this article, Iโ€™m going to detail how some of the biggest companies in the world are maximizing efficiencies within their organization using serverless technology! Letโ€™s dive in. +- [aws.amazon.com: Serverless or Kubernetes on AWS ๐ŸŒŸ](https://aws.amazon.com/architecture/serverless/serverless-or-kubernetes/) +- [==serverlessland.com/event-driven-architecture: Introduction to Event Driven Architecture== ๐ŸŒŸ](https://serverlessland.com/event-driven-architecture) What are Event Driven Architectures ? +- [medium.com/@marinradjenovic: Why do you still need to think of scalability when architecting Serverless apps?](https://medium.com/@marinradjenovic/why-do-you-still-need-to-think-of-scalability-when-architecting-serverless-apps-a2e1f14e3eca) +- [architectelevator.com: Concerned about Serverless Lock-in? Consider Patterns!](https://architectelevator.com/cloud/serverless-design-patterns/) Design patterns have helped us improve software design for decades. In the cloud, they can also reduce our switching cost. Thatโ€™s magic! ### Governance @@ -55,6 +64,7 @@ - [economictimes.indiatimes.com: Thoughtworks XConf Tech Talk Series: Serverless vs. Kubernetes when deploying microservices](https://economictimes.indiatimes.com/tech/technology/thoughtworks-xconf-tech-talk-series-serverless-vs-kubernetes-when-deploying-microservices/articleshow/89085544.cms) - [acloudguru.com: Containers vs serverless: Which is right for you?](https://acloudguru.com/blog/engineering/containers-vs-serverless-which-is-right-for-you) Serverless is one of the hottest new cloud trends. However, I have found it leads to more harm than good in the long run. While I understand some of the problems listed above are not unique to serverless, they are much more prolific; leading engineers to spend most of their time with YAML configuration or troubleshooting function execution rather than crafting business logic. What I find odd is the lack of complaints from the community. If Iโ€™m alone in my assessment, Iโ€™d love to hear from you in the comments below. Iโ€™ve spent a significant amount of time over the last few years working to undo my own serverless mistakes as well as those made by other developers. Maybe Iโ€™m the one who has been brainwashed? Time will tell. - [oliverjumpertz.medium.com: Serverless vs. Kubernetes](https://oliverjumpertz.medium.com/serverless-vs-kubernetes-58b0b387dc98) +- [==thenewstack.io: Serverless vs. Kubernetes: The Peopleโ€™s Vote==](https://thenewstack.io/serverless-vs-kubernetes-the-peoples-vote/) A breakout session at AWS' recent Re:Invent conference provided a six point comparison of serverless and Kubernetes to finally determine which architecture was better. The audience voted on which would be the winner. ### Case Studies @@ -66,7 +76,7 @@ - [wikipedia: FaaS Function as a Service](https://en.wikipedia.org/wiki/Function_as_a_service) - [redhat.com: What is Function-as-a-Service (FaaS)?](https://www.redhat.com/en/topics/cloud-native-apps/what-is-faas) - [stackify.com: What Is Function-as-a-Service? Serverless Architectures Are Here!](https://stackify.com/function-as-a-service-serverless-architecture/) -- [==dev.to: FaaS on Kubernetes: From AWS Lambda & API Gateway To Knative & Kong API Gateway==](https://dev.to/pmbanugo/faas-on-kubernetes-from-aws-lambda-api-gateway-to-knative-kong-api-gateway-4n84) In this post, you will learn how to build and deploy a REST API powered by serverless functions running on Kubernetes. You will learn how to use Knative, Kong API Gateway, and the kazi CLI +- [==dev.to: FaaS on Kubernetes: From AWS Lambda & API Gateway To Knative & Kong API Gateway==](https://dev.to/pmbanugo/faas-on-kubernetes-from-aws-lambda-api-gateway-to-knative-kong-api-gateway-4n84) In this post, you will learn how to build and deploy a REST API powered by serverless functions running on Kubernetes. You will learn how to use Knative, Kong API Gateway, and the kazi CLI - [pmbanugo.me: FaaS on Kubernetes: From AWS Lambda & API Gateway To Knative & Kong API Gateway](https://pmbanugo.me/faas-on-kubernetes-from-aws-lambda-api-gateway-to-knative-kong-api-gateway) ### Serverless Ecosystems Comparison diff --git a/docs/servicemesh.md b/docs/servicemesh.md index 3e404fa4..17614b1b 100644 --- a/docs/servicemesh.md +++ b/docs/servicemesh.md @@ -22,7 +22,7 @@ - [infoq.com: Service Mesh Ultimate Guide:](https://www.infoq.com/articles/service-mesh-ultimate-guide/) Managing Service-to-Service Communications in the Era of Microservices - [deloitte.com: Service Mesh en arquitecturas de microservicios](https://www2.deloitte.com/es/es/pages/technology/articles/service-mesh-en-arquitecturas-de-microservicios.html) -- [Service meshes to the rescue: Load balancing and scaling long-lived connections in Kubernetes](https://learnk8s.io/kubernetes-long-lived-connections) +- [==Service meshes to the rescue: Load balancing and scaling long-lived connections in Kubernetes==](https://learnk8s.io/kubernetes-long-lived-connections) - [blog.christianposta.com: Do I Need an API Gateway if I Use a Service Mesh?](https://blog.christianposta.com/microservices/do-i-need-an-api-gateway-if-i-have-a-service-mesh/) - [thenewstack.io: Service Mesh Adds Security, Observability and Traffic Control to Kubernetes](https://thenewstack.io/service-mesh-adds-security-observability-and-traffic-control-to-kubernetes/) - [lucperkins.dev: Service mesh use cases](https://lucperkins.dev/blog/service-mesh-use-cases/) @@ -122,6 +122,8 @@ - [thenewstack.io: Is Linkerd Winning the Service Mesh Race?](https://thenewstack.io/is-linkerd-winning-the-service-mesh-race/) - [medium.com/attest-product-and-technology: Debugging mislabelled route metrics from Linkerd](https://medium.com/attest-product-and-technology/debugging-mislabelled-route-metrics-from-linkerd-dda47fdff04a) - [buoyant.io: Upgrading to Linkerd 2.12: Zero-trust-ready route-based policy, Gateway API, access logging](https://buoyant.io/service-mesh-academy/upgrading-to-linkerd-2-12) In this webinar, you'll hear all about the Linkerd 2.12 release and what you need to know to upgrade. This massive release introduces route-based policy to Linkerd, allowing users to define and enforce authorization policies based on HTTP paths or gRPC methods in a fully zero-trust way. It also introduces support for iptables-nft and Apache-style access logging, authorizes all probes by default (even in default-deny clusters), and includes a host of other improvements and performance enhancements. +- [medium.com/@eshiett314: Mutual TLS with Emissary-Ingress and Linkerd](https://medium.com/@eshiett314/mutual-tls-with-emissary-ingress-and-linkerd-4aa3ffe0413f) In this article, you'll learn the meaning of Mutual TLS, why it is needed in Kubernetes and also implement it with Emissary-ingress +- [weeraman.com: Getting started with Linkerd](https://weeraman.com/getting-started-with-linkerd-415d6485227f) ## Maesh Service Mesh diff --git a/docs/sonarqube.md b/docs/sonarqube.md index 4ab6c908..2c931dc8 100644 --- a/docs/sonarqube.md +++ b/docs/sonarqube.md @@ -24,6 +24,7 @@ - [Dzone.com: Code Analysis Part 2 - Analyzing Code with SonarQube](https://dzone.com/articles/code-analysis-part-2-analyzing-code-with-sonarqube) - [navsinghoberoi.medium.com: Configure Sonarqube to analyse health of a project](https://navsinghoberoi.medium.com/configure-sonarqube-to-analyse-health-of-a-project-5cb80ff6616b) - [thenewstack.io: How to Analyze Code and Find Vulnerabilities with SonarQube](https://thenewstack.io/how-to-analyze-code-and-find-vulnerabilities-with-sonarqube/) +- [itnext.io: SonarQube: running tests from Jenkins Pipeline in Docker](https://itnext.io/sonarqube-running-tests-from-jenkins-pipeline-from-docker-7740702b6f42) ## Integrations diff --git a/docs/sre.md b/docs/sre.md index c1a67b3f..2756d511 100644 --- a/docs/sre.md +++ b/docs/sre.md @@ -75,6 +75,7 @@ - [toolbox.com: Site Reliability Engineering: What Is It and How Can It Help Scale Operations? ๐ŸŒŸ](https://www.toolbox.com/tech/devops/articles/automating-sre-to-scale-operations/) Site Reliability Engineering (SRE) is an essential task that bridges the gap between developers and operations. Hereโ€™s how organizations can refine it further by leveraging automation. - [==devops.com: SRE Vs. Platform Engineering: Whatโ€™s the Difference?==](https://devops.com/sre-vs-platform-engineering-whats-the-difference/) - [==cncf.io: DevOps vs. SRE vs. Platform Engineering? The gaps might be smaller than you think==](https://www.cncf.io/blog/2022/07/01/devops-vs-sre-vs-platform-engineering-the-gaps-might-be-smaller-than-you-think/) +- [dzone.com: DevOps vs. SRE vs. Platform Engineer vs. Cloud Engineer; Substance or Semantics?](https://dzone.com/articles/devops-vs-sre-vs-platform-engineer-vs-cloud-engine) ## SRE Tools diff --git a/docs/terraform.md b/docs/terraform.md index a3ff97ae..c80be25b 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -7,64 +7,65 @@ 3. [HashiCorp Cloud](#hashicorp-cloud) 4. [Blogs and Newsletters](#blogs-and-newsletters) 5. [Terraform](#terraform) - 1. [Managing secrets in your Terraform code](#managing-secrets-in-your-terraform-code) - 2. [Terraform Cloud](#terraform-cloud) + 1. [Alternatives to Terraform](#alternatives-to-terraform) + 2. [Managing secrets in your Terraform code](#managing-secrets-in-your-terraform-code) + 3. [Terraform Cloud](#terraform-cloud) 1. [Alternatives to Terraform Cloud](#alternatives-to-terraform-cloud) - 3. [HCL](#hcl) - 4. [CDK Cloud Development Kit Terraform](#cdk-cloud-development-kit-terraform) - 5. [Python Boto3 and Terraform](#python-boto3-and-terraform) - 6. [Terraform Infracost](#terraform-infracost) - 7. [Awesome Terraform](#awesome-terraform) - 8. [Terraform Cheat Sheets](#terraform-cheat-sheets) - 9. [Best Practices](#best-practices) - 10. [Terraform and CI/CD. Terraform Workspace](#terraform-and-cicd-terraform-workspace) - 11. [Terraform Boilerplates](#terraform-boilerplates) - 12. [Terraform and Kubernetes](#terraform-and-kubernetes) - 13. [Terraform Kubernetes Boilerplates](#terraform-kubernetes-boilerplates) - 1. [Hashicorp Terraform Kubernetes Collection](#hashicorp-terraform-kubernetes-collection) - 2. [Learnk8s Terraform and Managed Kubernetes](#learnk8s-terraform-and-managed-kubernetes) - 3. [OpenShift and Terraform](#openshift-and-terraform) - 4. [Other Boilerplates](#other-boilerplates) - 14. [Terraform Kubernetes Operator](#terraform-kubernetes-operator) - 15. [Terraform K3s Boilerplates](#terraform-k3s-boilerplates) - 16. [Terraform and GCP](#terraform-and-gcp) - 1. [Terraform GKE Boilerplates](#terraform-gke-boilerplates) - 17. [Terraform and AWS](#terraform-and-aws) - 1. [Terraform EKS Boilerplates](#terraform-eks-boilerplates) - 2. [AWSCC. Terraform AWS Cloud Control Provider](#awscc-terraform-aws-cloud-control-provider) - 3. [AWS Control Tower Account Factory for Terraform (AFT)](#aws-control-tower-account-factory-for-terraform-aft) - 18. [Terraform with Azure](#terraform-with-azure) - 1. [Azure Terrafy and AzAPI Terraform Provider](#azure-terrafy-and-azapi-terraform-provider) - 2. [Terraform in Azure DevOps](#terraform-in-azure-devops) - 3. [Terraform Azure Stack Provider](#terraform-azure-stack-provider) - 4. [Terraform AKS Boilerplates](#terraform-aks-boilerplates) - 19. [Terraform and OCI](#terraform-and-oci) - 20. [Terraform and Minikube](#terraform-and-minikube) - 21. [Terraform and Apache Kafka](#terraform-and-apache-kafka) - 22. [Terraform and JMeter](#terraform-and-jmeter) - 23. [Terraform Video Tutorials](#terraform-video-tutorials) + 4. [HCL](#hcl) + 5. [CDK Cloud Development Kit Terraform](#cdk-cloud-development-kit-terraform) + 6. [Python Boto3 and Terraform](#python-boto3-and-terraform) + 7. [Terraform Infracost](#terraform-infracost) + 8. [Awesome Terraform](#awesome-terraform) + 9. [Terraform Cheat Sheets](#terraform-cheat-sheets) + 10. [Best Practices](#best-practices) + 11. [Terraform and CI/CD. Terraform Workspace](#terraform-and-cicd-terraform-workspace) + 12. [Terraform Boilerplates](#terraform-boilerplates) + 13. [Terraform and Kubernetes](#terraform-and-kubernetes) + 14. [Terraform Kubernetes Boilerplates](#terraform-kubernetes-boilerplates) + 1. [Hashicorp Terraform Kubernetes Collection](#hashicorp-terraform-kubernetes-collection) + 2. [Learnk8s Terraform and Managed Kubernetes](#learnk8s-terraform-and-managed-kubernetes) + 3. [OpenShift and Terraform](#openshift-and-terraform) + 4. [Other Boilerplates](#other-boilerplates) + 15. [Terraform Kubernetes Operator](#terraform-kubernetes-operator) + 16. [Terraform K3s Boilerplates](#terraform-k3s-boilerplates) + 17. [Terraform and GCP](#terraform-and-gcp) + 1. [Terraform GKE Boilerplates](#terraform-gke-boilerplates) + 18. [Terraform and AWS](#terraform-and-aws) + 1. [Terraform EKS Boilerplates](#terraform-eks-boilerplates) + 2. [AWSCC. Terraform AWS Cloud Control Provider](#awscc-terraform-aws-cloud-control-provider) + 3. [AWS Control Tower Account Factory for Terraform (AFT)](#aws-control-tower-account-factory-for-terraform-aft) + 19. [Terraform with Azure](#terraform-with-azure) + 1. [Azure Terrafy and AzAPI Terraform Provider](#azure-terrafy-and-azapi-terraform-provider) + 2. [Terraform in Azure DevOps](#terraform-in-azure-devops) + 3. [Terraform Azure Stack Provider](#terraform-azure-stack-provider) + 4. [Terraform AKS Boilerplates](#terraform-aks-boilerplates) + 20. [Terraform and OCI](#terraform-and-oci) + 21. [Terraform and Minikube](#terraform-and-minikube) + 22. [Terraform and Apache Kafka](#terraform-and-apache-kafka) + 23. [Terraform and JMeter](#terraform-and-jmeter) + 24. [Terraform Video Tutorials](#terraform-video-tutorials) 6. [CDK for Terraform](#cdk-for-terraform) 7. [Graph Visualization Software](#graph-visualization-software) 8. [Terraform Modules](#terraform-modules) 1. [Terraform AWS Modules](#terraform-aws-modules) 2. [Segment AWS Stack Terraform Modules](#segment-aws-stack-terraform-modules) 9. [Terraform Providers](#terraform-providers) - 1. [Terraform Provider for Elastic Cloud](#terraform-provider-for-elastic-cloud) - 2. [Terraform Vault Provider](#terraform-vault-provider) - 3. [Terraform AzureRM](#terraform-azurerm) + 1. [Terraform AWS Cloud Control Provider](#terraform-aws-cloud-control-provider) + 2. [Terraform Provider for Elastic Cloud](#terraform-provider-for-elastic-cloud) + 3. [Terraform Vault Provider](#terraform-vault-provider) + 4. [Terraform AzureRM](#terraform-azurerm) 10. [Terraform Code Quality. Terraform Quality Checks](#terraform-code-quality-terraform-quality-checks) 11. [Enforce Policy with Sentinel](#enforce-policy-with-sentinel) 12. [Reverse terraform with Terraformer](#reverse-terraform-with-terraformer) 13. [Terraform Tools](#terraform-tools) 14. [Terraform Frameworks](#terraform-frameworks) - 1. [Kubestack Terraform GitOps Framework](#kubestack-terraform-gitops-framework) - 2. [Gruntwork Terragrunt](#gruntwork-terragrunt) - 3. [Terraspace](#terraspace) -15. [CDK for Terraform](#cdk-for-terraform-1) -16. [Terraform Associate Certification](#terraform-associate-certification) -17. [Images](#images) -18. [Videos](#videos) -19. [Tweets](#tweets) + 1. [Kubestack Terraform GitOps Framework](#kubestack-terraform-gitops-framework) + 2. [Gruntwork Terragrunt](#gruntwork-terragrunt) + 3. [Terraspace](#terraspace) +15. [Terraform Associate Certification](#terraform-associate-certification) +16. [Images](#images) +17. [Videos](#videos) +18. [Tweets](#tweets)
@@ -229,12 +230,30 @@ - [faun.pub: The Lifecycle of a Terraform Resource โ€” Lifecycle Meta-Argument](https://faun.pub/the-lifecycle-of-a-terraform-resource-lifecycle-meta-argument-3cc4555ec976) In this article, we will take a look at the various stages a Terraform resource goes through during its lifetime. We will look at the default resource behavior, before looking at the lifecycle meta-argument which can allow you to customize that behavior. - [medium.com/@dugouchet.a: Manage your terraform like a container](https://medium.com/@dugouchet.a/manage-your-terraform-like-a-container-d2acbc46d7d4) - [medium.com/spacelift: Terraform vs. Kubernetes: Key Differences and Comparison](https://medium.com/spacelift/terraform-vs-kubernetes-key-differences-and-comparison-a42847e8be1c) +- [infoq.com: Terraform 1.3 Release Introduces Simplified Refactoring Experience ๐ŸŒŸ](https://www.infoq.com/news/2022/09/terraform-simplified-refactoring/) This release introduces optional object type attributes with defaults and expands the capabilities of moved blocks. +- [medium.com/nerd-for-tech: Building a Two-Tier Architecture for High Availability using Terraform](https://medium.com/nerd-for-tech/building-a-two-tier-architecture-for-high-availability-using-terraform-ae6296fb2126) +- [==towardsaws.com: Import Existing AWS Infrastructure to Terraform==](https://towardsaws.com/import-existing-aws-architecture-to-terraform-368b66c48275) +- [==medium.com/google-cloud: Automate Terraform documentation like a pro!==](https://medium.com/google-cloud/automate-terraform-documentation-like-a-pro-ed3e19998808) +- [buildkite.com: Manage your CI/CD resources as Code with Terraform](https://buildkite.com/blog/manage-your-ci-cd-resources-as-code-with-terraform) +- [==blog.gruntwork.io: Terraform tips & tricks: loops, if-statements, and gotchas==](https://blog.gruntwork.io/terraform-tips-tricks-loops-if-statements-and-gotchas-f739bbae55f9) +- [medium.com/@adolfo.diaz.zar: Secret Management with Terraform ๐ŸŒŸ](https://medium.com/@adolfo.diaz.zar/secret-management-with-terraform-6b5e02f9437e) +- [awstip.com: Refactor Terraform code with Moved Blocks โ€” a new way without manually modifying the state](https://awstip.com/refactor-terraform-code-with-moved-blocks-a-new-way-without-manually-modifying-the-state-5ed1d80ed53e) +- [dev.to: Using Terraform To Manage Infrastructure Resources | Pavan Belagatti](https://dev.to/pavanbelagatti/using-terraform-to-manage-infrastructure-resources-32da) +- [faun.pub: Terraform null provider and null_resource explained ๐ŸŒŸ](https://faun.pub/terraform-null-provider-and-null-resource-explained-6a8d674cad63) +- [spectrocloud.com: Deploying complex infrastructure with a Terraform state machine](https://www.spectrocloud.com/blog/deploying-complex-infrastructure-with-a-terraform-state-machine/) +- [swwapnilp.medium.com: How Does Slack Use Terraform?](https://swwapnilp.medium.com/how-does-slack-use-terraform-104b1e96c97d) +- [hashicorp.com: Terraform Abstraction Tips: Just Because You Can Doesn't Mean You Should](https://www.hashicorp.com/resources/terraform-abstraction-tips-just-because-you-can-doesnt-mean-you-should) Learn how to think about balancing automation and abstraction against maintainability when building your Terraform setup. +- [hashicorp.com: Best Practices for Terraform AWS Tags](https://www.hashicorp.com/resources/best-practices-for-terraform-aws-tags) Learn general AWS tags best practices and using the default_tags method, along with some specific tagging configuration for ASG and EC2 volumes. + +### Alternatives to Terraform + +- [medium.com/@mike_tyson_cloud: IT Automation: 10 Alternatives To Terraform](https://medium.com/@mike_tyson_cloud/it-automation-10-alternatives-to-terraform-286107def5ad) ### Managing secrets in your Terraform code - [==blog.gruntwork.io: A comprehensive guide to managing secrets in your Terraform code== ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://blog.gruntwork.io/a-comprehensive-guide-to-managing-secrets-in-your-terraform-code-1d586955ace1) -### Terraform Cloud +### Terraform Cloud - [learn.hashicorp.com: Manage Private Environments with Terraform Cloud Agents](https://learn.hashicorp.com/tutorials/terraform/cloud-agents) - [youtube: GitOps for infrastructure using GitHub and Terraform Cloud ๐ŸŒŸ](https://www.youtube.com/watch?v=W_PmtDm4IXk&ab_channel=RobertdeBock) @@ -293,6 +312,9 @@ - [medium.com/spacelift: Terraform Best Practices for Better Infrastructure Management](https://medium.com/spacelift/terraform-best-practices-for-better-infrastructure-management-49e0859b5537) - [hashicorp.com: Terraform Practices: The Good, the Bad, and the Ugly](https://www.hashicorp.com/resources/terraform-practices-the-good-the-bad-and-the-ugly) - [medium.com/schibsted-engineering: Ultimate Terraform project structure ๐ŸŒŸ](https://medium.com/schibsted-engineering/ultimate-terraform-project-structure-9fc7e79f6bc6) +- [developer.hashicorp.com: Part 3: How to Evolve Your Provisioning Practices](https://developer.hashicorp.com/terraform/cloud-docs/recommended-practices/part3) This section describes the steps necessary to move an organization from manual provisioning processes to a collaborative infrastructure as code workflow. For each stage of operational maturity, we give instructions for moving your organization to the next stage, eventually arriving at our recommended workflow. +- [thenewstack.io: Terraformโ€™s Best Practices and Pitfalls](https://thenewstack.io/terraforms-best-practices-and-pitfalls/) If you want to scale your infrastructure, you need to use Terraform in a way that will allow you to do that. +- [hashicorp.com: Opinionated Terraform Best Practices and Anti-Patterns](https://www.hashicorp.com/resources/opinionated-terraform-best-practices-and-anti-patterns) Get tips for making the most of Terraform when scaling your infrastructure as your organization grows. ### Terraform and CI/CD. Terraform Workspace @@ -328,6 +350,7 @@ - [medium: Deploy Infrastructure with the Terraform Cloud Operator for Kubernetes ๐ŸŒŸ](https://medium.com/avmconsulting-blog/deploy-infrastructure-with-the-terraform-cloud-operator-for-kubernetes-a179ea4dbbfe) - [==learn.hashicorp.com: Deploy Federated Multi-Cloud Kubernetes Clusters==](https://learn.hashicorp.com/tutorials/terraform/multicloud-kubernetes) In this tutorial, you will provision Kubernetes clusters in both Azure and AWS environments using their respective providers, configure Consul federation with mesh gateways across the two clusters using the Helm provider, and deploy microservices across the two clusters to verify federation, all using the same Terraform workflow. - [architect.io: Get started with the Terraform Kubernetes provider](https://www.architect.io/blog/2021-02-17/terraform-kubernetes-tutorial/) In this tutorial, you'll learn how to define Kubernetes resources using HCL and apply the configuration to the cluster using Terraform +- [releasehub.com: Terraform Kubernetes Deployment: A Detailed Walkthrough](https://releasehub.com/blog/terraform-kubernetes-deployment-a-detailed-walkthrough) It is possible to combine both. Terraform can be used to deploy Kubernetes clusters. It's quite common, and it lets you deploy K8s just like the rest of your infrastructure. {== @@ -357,6 +380,7 @@ #### OpenShift and Terraform - [Dzone: Platform as Code With Openshift and Terraform](https://dzone.com/articles/platform-as-code-with-openshift-amp-terraform) Learn how to set up a pipeline workflow with Openshift and the Terraform infrastructure-as-code tool to configure builds and deployments. +- [==techcommunity.microsoft.com: Can I create an Azure Red Hat OpenShift cluster in Terraform? Yes, you can!==](https://techcommunity.microsoft.com/t5/fasttrack-for-azure/can-i-create-an-azure-red-hat-openshift-cluster-in-terraform-yes/ba-p/3670889) #### Other Boilerplates @@ -437,6 +461,10 @@ - 1 SG (external traffic) - 1 IAM role - 1 S3 +- [github.com/terraform-aws-modules/terraform-aws-eks: AWS EKS Terraform module](https://github.com/terraform-aws-modules/terraform-aws-eks) Terraform module which creates AWS EKS (Kubernetes) resources +- [==itnext.io: Build EKS cluster with Terraform== ๐ŸŒŸ](https://itnext.io/build-an-eks-cluster-with-terraform-d35db8005963) This post describes the creation of a multi-zone Kubernetes Cluster in AWS, using Terraform with some extra modules: + - ExternalDNS + - AWS Load Balancer controller ==} @@ -467,6 +495,7 @@ - [cloudbuild.co.uk: Part 8: Terraform with Azure - Deploy terraform.tfvars file](https://cloudbuild.co.uk/part-8-terraform-with-azure-deploy-a-terraform-tfvars-file/) - [techcommunity.microsoft.com: Implement Azure landing zones with HashiCorp Terraform](https://techcommunity.microsoft.com/t5/azure-migration-and/implement-azure-landing-zones-with-hashicorp-terraform/ba-p/3241071) - [hashicorp.com: Configuring Azure Application Gateway with Consul-Terraform-Sync](https://www.hashicorp.com/blog/configuring-azure-application-gateway-with-consul-terraform-sync) Synchronize HCP Consul services as backend address pools for Microsoft Azure Application Gateway using Consul-Terraform-Sync (CTS). +- [azureviking.com: Terraform module: Azure DNS Private Resolver](https://www.azureviking.com/post/terraform-module-azure-dns-private-resolver) - [haflidif/terraform-azurerm-dns-private-resolver](https://github.com/haflidif/terraform-azurerm-dns-private-resolver) #### Azure Terrafy and AzAPI Terraform Provider @@ -543,6 +572,7 @@ - [Azure-Samples/private-aks-cluster-terraform-devops ๐ŸŒŸ](https://github.com/Azure-Samples/private-aks-cluster-terraform-devops) **This sample shows how to create a private AKS cluster using Terraform and Azure DevOps.** - [build5nines.com: Terraform: Create an AKS Cluster ๐ŸŒŸ](https://build5nines.com/terraform-create-an-aks-cluster/) +- [thomasthornton.cloud: Building and deploying to an AKS cluster using Terraform and Azure DevOps with Kubernetes and Helm providers](https://thomasthornton.cloud/2022/11/09/building-and-deploying-to-an-aks-cluster-using-terraform-and-azure-devops-with-kubernetes-and-helm-providers/) ### Terraform and OCI @@ -571,7 +601,9 @@ ## CDK for Terraform - [CDK for Terraform ๐ŸŒŸ](https://github.com/hashicorp/terraform-cdk) CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform. + - https://www.terraform.io/cdktf - [hashicorp.com: GKE Cluster Setup with CDK for Terraform](https://www.hashicorp.com/blog/gke-cluster-setup-with-cdk-for-terraform) Learn how to provision a Google Kubernetes Engine (GKE) cluster and prepare it for application deployment using TypeScript via CDK for Terraform. +- [hashicorp.com: CDK for Terraform Is Now Generally Available](https://www.hashicorp.com/blog/cdk-for-terraform-now-generally-available) Cloud Development Kit for Terraform (CDKTF) has reached its first GA release, adding full support for Go and providing a GitHub action to use with Terraform Cloud. ## Graph Visualization Software @@ -586,6 +618,10 @@ - [offensive-terraform.github.io: Offensive Terraform Modules ๐ŸŒŸ](https://offensive-terraform.github.io/offensive-terraform.github.io/) Automated multi step offensive attack modules with Infrastructure as Code(IAC) - [digitalocean.com: How To Build a Custom Terraform Module](https://www.digitalocean.com/community/tutorials/how-to-build-a-custom-terraform-module) - [thomasthornton.cloud: Writing reusable Terraform modules](https://thomasthornton.cloud/2022/06/02/writing-reusable-terraform-modules/) +- [blog.devops.dev: Terraform Modules](https://blog.devops.dev/terraform-modules-db392bb7e950) +- [dev.to: Terraform Modules for Advanced Users](https://dev.to/gofirefly/terraform-modules-for-advanced-users-4n56) +- [blog.devops.dev: How to manage multiple environments with terraform with the use of modules?](https://blog.devops.dev/how-to-manage-multiple-environments-with-terraform-with-the-use-of-modules-d4ca512d7b4a) +- [betterprogramming.pub: Reusable EC2 Instances Using Terraform Modules](https://betterprogramming.pub/reusable-ec2-instances-using-terraform-modules-59aac51f1fb) A guide to mastering EC2 restructuring ### Terraform AWS Modules @@ -602,6 +638,10 @@ - [mitchellh/terraform-provider-multispace](https://github.com/mitchellh/terraform-provider-multispace) Terraform Provider for cascading runs across multiple workspaces. - [kyma-incubator/terraform-provider-kind: Terraform Provider for kind (Kubernetes IN Docker)](https://github.com/kyma-incubator/terraform-provider-kind) The Terraform Provider for kind enables Terraform to provision local Kubernetes clusters on base of Kubernetes IN Docker (kind). +### Terraform AWS Cloud Control Provider + +- [hashicorp.com: Terraform AWS Cloud Control Provider โ€“ Under the Hood](https://www.hashicorp.com/resources/terraform-aws-cloud-control-provider-under-the-hood) Learn more about the Terraform AWS Cloud Control provider (awscc) and how it brings AWS resources to Terraform users even faster. + ### Terraform Provider for Elastic Cloud - https://github.com/elastic/terraform-provider-ec @@ -633,7 +673,7 @@ 1. Build w/ UI 2. Gen w/ **Terraformer** (local state) 3. Fix crazy codegen-ed names - 4. Import TF, verify Cloud == State == Terraform + 4. Import TF, verify Cloud == State == Terraform 5. rm -rf the manual version 6. Recreate from TF 7. Test and iterate w/ IaC @@ -658,6 +698,8 @@ - [==cycloidio/inframap: Inframap== ๐ŸŒŸ](https://github.com/cycloidio/inframap) Read your tfstate or HCL to generate a graph specific for each provider, showing only the resources that are most important/relevant. - AWS/Terraform Tip ๐Ÿ’›: Visualize your existing ecosystem by creating diagrams from a state file or HCL via ๐—œ๐—ป๐—ณ๐—ฟ๐—ฎ๐— ๐—ฎ๐—ฝ. "Why not just ๐˜ต๐˜ฆ๐˜ณ๐˜ณ๐˜ข๐˜ง๐˜ฐ๐˜ณ๐˜ฎ ๐˜จ๐˜ณ๐˜ข๐˜ฑ๐˜ฉ"? InfraMap reduces the resources to the most important ones - making it human-readable ๐Ÿค– - [bridgecrewio/AirIAM](https://github.com/bridgecrewio/AirIAM) AirIAM is an AWS IAM to least privilege Terraform execution framework. It compiles AWS IAM usage and leverages that data to create a least-privilege IAM Terraform that replaces the exiting IAM management method. AirIAM was created to promote immutable and version-controlled IAM management to replace today's manual and error prone methods. +- [badarsebard/terraforge](https://github.com/badarsebard/terraforge) Graphical Terraform configuration generator. Terraforge is an application for generating Terraform code visually. Users select providers and then add resources as nodes to a graph that can be edited and arranged. Links between nodes appear automatically as the configuration of a node makes references to other nodes. When finished the design can be exported as Terraform HCL. The configuration will include all settings and configurations entered for the nodes. +- [infracloud.io: 5 Tools to Auto-Generate Terraform Configuration Files ๐ŸŒŸ](https://www.infracloud.io/blogs/auto-generate-terraform-configuration-files/) ## Terraform Frameworks @@ -681,11 +723,6 @@ - [Terraspace.cloud](https://terraspace.cloud/) Terraspace is a Terraform Framework that optimizes for infrastructure-as-code happiness. It provides an organized structure, conventions over configurations, keeps your code DRY, and adds convenient tooling. Terraspace makes working with Terraform easier and more fun. -## CDK for Terraform - -- [CDK for Terraform](https://www.terraform.io/cdktf) -- [hashicorp.com: CDK for Terraform Is Now Generally Available](https://www.hashicorp.com/blog/cdk-for-terraform-now-generally-available) Cloud Development Kit for Terraform (CDKTF) has reached its first GA release, adding full support for Go and providing a GitHub action to use with Terraform Cloud. - ## Terraform Associate Certification - [itnext.io: My Journey to HashiCorp Certified: Terraform Associate](https://itnext.io/my-journey-to-hashicorp-certified-terraform-associate-f91f397a01e0) diff --git a/docs/visual-studio.md b/docs/visual-studio.md index 8bf0bbe6..017a822d 100644 --- a/docs/visual-studio.md +++ b/docs/visual-studio.md @@ -21,8 +21,8 @@ 10. [AWS Toolkits](#aws-toolkits) 11. [Cloud Code](#cloud-code) 12. [Alternatives](#alternatives) - 1. [Intellij IDEA](#intellij-idea) - 2. [Online VSCode](#online-vscode) + 1. [Intellij IDEA](#intellij-idea) + 2. [Online VSCode](#online-vscode) 13. [Videos](#videos) 14. [Tweets](#tweets) @@ -70,6 +70,7 @@ - [dev.to: VSCode Extensions I'm in LOVE with | Tina Huynh](https://dev.to/tmchuynh/vscode-extensions-im-in-love-with-oab) - [towardsdatascience.com: VS Code for data science](https://towardsdatascience.com/vs-code-for-data-science-aee82fe08bac) How a good Visual Studio Code setup can make you a more productive data scientist - [betterprogramming.pub: Learn to Code Remotely With VS Code And SSH](https://betterprogramming.pub/learn-to-code-remotely-with-vs-code-and-ssh-68c630759279) +- [austingil.com: VS Code Timeline Restores Lost Work That Git Canโ€™t ๐ŸŒŸ](https://austingil.com/vs-code-timeline-restores-work-git-cant/) ## Updates @@ -125,6 +126,7 @@ A simple extension to make indentation more readable - [dev.to: Superb VSCode extensions changing your coding life](https://dev.to/duckinm/superb-vscode-extensions-changing-your-coding-life-2cmb) - [c-sharpcorner.com: The Best VS Code Extensions For Remote Working](https://www.c-sharpcorner.com/article/the-best-vs-code-extensions-for-remote-working/) - [freecodecamp.org: VS Code Extensions to Increase Developer Productivity](https://www.freecodecamp.org/news/vs-code-extensions-to-increase-developer-productivity/) +- [dev.to: My Top 5 Visual Studio Code extensions for Azure Developers](https://dev.to/azure/my-top-5-visual-studio-code-extensions-for-azure-developers-1odo) #### More Extensions @@ -166,6 +168,8 @@ A simple extension to make indentation more readable - [GitLive](https://marketplace.visualstudio.com/items?itemName=TeamHub.teamhub) Extend VS Code with real-time collaborative superpowers - [dev.to/gitlive: GitLive now works with any Git repository in VS Code!](https://dev.to/gitlive/gitlive-now-works-with-any-git-repository-in-vs-code-304o) - [marketplace.visualstudio.com: autoDocstring - Python Docstring Generator](https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring) +- [marketplace.visualstudio.com: Azure App Service for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azureappservice) +- [marketplace.visualstudio.com: CodeSnap](https://marketplace.visualstudio.com/items?itemName=adpyke.codesnap) Take beautiful screenshots of your code #### More Extensions (Blogs) @@ -227,7 +231,7 @@ A simple extension to make indentation more readable - [Integrated Terminal](https://code.visualstudio.com/docs/editor/integrated-terminal) - This is an example of Visual Studio Code settings when adding Git Bash on Windows: -``` +```pwsh "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe" ``` @@ -237,6 +241,7 @@ A simple extension to make indentation more readable - [blog.getambassador.io: Debugging Go Microservices in Kubernetes with VScode ๐ŸŒŸ](https://blog.getambassador.io/debugging-go-microservices-in-kubernetes-with-vscode-a36beb48ef1) Tutorial: Learn to debug Go microservices locally while testing against dependencies in a remote Kubernetes cluster - [==developers.redhat.com: Remote debugging on Kubernetes using VS Code==](https://developers.redhat.com/articles/2021/12/13/remote-debugging-kubernetes-using-vs-code#) - [==metalbear-co/mirrord==](https://github.com/metalbear-co/mirrord) **A Visual Studio Code extension that lets you easily mirror traffic from your Kubernetes cluster to your development environment.** When you start debugging, mirrord will prompt you to select a pod to mirror traffic from. It will then mirror all traffic from that pod to the process you're debugging. +- [kenneth.io: Introducing remote debugging of Node.js apps on Azure App Service from VS Code](https://kenneth.io/post/introducing-remote-debugging-of-nodejs-apps-on-azure-app-service-from-vs-code-in-public-preview) ## Python in Visual Studio Code @@ -305,6 +310,14 @@ A simple extension to make indentation more readable + + + + + + + +
diff --git a/docs/yaml.md b/docs/yaml.md index 25dc4a47..9d6d5b97 100644 --- a/docs/yaml.md +++ b/docs/yaml.md @@ -35,9 +35,10 @@ - [javascript.plainenglish.io: Everything You Need To Know About YAML Files](https://javascript.plainenglish.io/everything-you-need-to-know-about-yaml-files-5423358cc5c9) Learning about YAML gives you an advantage over your peers since it literally makes programming and configuring cloud computing resources easier. - [w3schools.io: YAML - yaml vs yml file](https://www.w3schools.io/file/yaml-vs-yml/) - [==blog.devgenius.io: YAML with Python==](https://blog.devgenius.io/yaml-with-python-d6787a9bd8ab) This article aims to outline the basics of YAML and write a simple python script that reads configuration details from a YAML file. -- [==realpython.com: YAML: The Missing Battery in Python==](https://realpython.com/python-yaml/) Python lacks built-in support for the YAML data format, commonly used for configuration and serialization, despite clear similarities between the two languages. In this tutorial, youโ€™ll learn how to work with YAML in Python using the available third-party libraries, with a focus on PyYAML. +- [==realpython.com: YAML: The Missing Battery in Python==](https://realpython.com/python-yaml/) Python lacks built-in support for the YAML data format, commonly used for configuration and serialization, despite clear similarities between the two languages. In this tutorial, youโ€™ll learn how to work with YAML in Python using the available third-party libraries, with a focus on PyYAML. - [==kubesimplify.com: A Simplified Guide To YAML==](https://kubesimplify.com/a-simplified-guide-to-yaml) - [betterprogramming.pub: 10 Things You Might Not Know About YAML](https://betterprogramming.pub/10-things-you-might-not-know-about-yaml-b0589da547c) Harness the true power of YAML +- [==spacelift.io/blog/yaml==](https://spacelift.io/blog/yaml) YAML Tutorial : A Complete Language Guide with Examples ### YAML anchors and aliases @@ -55,7 +56,7 @@ - ```k get svc a -o yaml | yq r -``` - [dev.to: yq : A command line tool that will help you handle your YAML resources better ๐ŸŒŸ](https://dev.to/vikcodes/yq-a-command-line-tool-that-will-help-you-handle-your-yaml-resources-better-8j9) - [towardsdatascience.com: yq: Mastering YAML Processing in Command Line ๐ŸŒŸ](https://towardsdatascience.com/yq-mastering-yaml-processing-in-command-line-e1ff5ebc0823) Learn to parse and manipulate YAML files more efficiently using yq command-line utility and this simple cheat sheet - - [betterprogramming.pub: My Cheatsheet for the โ€œyqโ€ Tool](https://betterprogramming.pub/my-yq-cheatsheet-34f2b672ee58) Parsing Kubernetes YAML with yq + - [betterprogramming.pub: My Cheatsheet for the โ€œyqโ€ Tool](https://betterprogramming.pub/my-yq-cheatsheet-34f2b672ee58) Parsing Kubernetes YAML with yq. `yq` is a convenient tool for creating, updating and mangling Kubernetes YAML files. In this tutorial, you will learn how to use it as well as some practical tips and tricks. - [Kapitan](https://kapitan.dev/) Generic templated configuration management for Kubernetes, Terraform and other things. - [azohra/yaml.sh](https://github.com/azohra/yaml.sh) A YAML parser completely in bash. [Yaml.sh โ€” YAML Sans Helm](https://medium.com/@KarlKFI/yaml-sh-yaml-sans-helm-e983a3dfdaec) - [yh - YAML Highlighter](https://github.com/andreazorzetto/yh) is YAML syntax highlighter that works nicely with kubectl output @@ -88,6 +89,7 @@ ### Helm and Kustomize - [dex.dev: YAML Templating Solutions: Helm & Kustomize](https://www.dex.dev/dex-videos/templating-solutions) Writing config files by hand is like coding with Notepad instead of an IDE. Let's find a better way, and take an overview of the popular solutions Helm & Kustomize. +- [medium.com/geekculture: Convert Kubernetes YAML Files Into Helm Charts](https://medium.com/geekculture/convert-kubernetes-yaml-files-into-helm-charts-4107de079455) - [Helmify](https://github.com/arttor/helmify) ## JSON. Templating JSON Files @@ -104,6 +106,7 @@ - [thenewstack.io: Why (and How) You Should Manage JSON with SQL](https://thenewstack.io/why-and-how-you-should-manage-json-with-sql/) - [betterprogramming.pub: How to Make JSON and Python Talk to Each Other](https://betterprogramming.pub/how-to-make-json-and-python-talk-to-each-other-41531d58e59d) Processing and creating JSON data in Python - [betterprogramming.pub: Exploring JSON, JSON5, and Circular References](https://betterprogramming.pub/exploring-json-json5-and-circular-references-2b5b0c5de532) An in-depth guide on JavaScript Object Notation (JSON) +- [automationreinvented.blogspot.com: What is Json Schema and how to perform schema validation using Rest Assured?](https://automationreinvented.blogspot.com/2022/03/what-is-json-schema-and-how-to-perform.html) ### JSON in Ansible @@ -139,6 +142,7 @@ - [kubevious.io: Top Kubernetes YAML Validation Tools](https://kubevious.io/blog/post/top-kubernetes-yaml-validation-tools/) - [KubeLinter](https://github.com/stackrox/kube-linter) KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices. - [==thomasthornton.cloud: Analyze your Kubernetes YAML files and Helm Charts to ensure best practices using KubeLinter in Azure DevOps Pipeline==](https://thomasthornton.cloud/2022/04/13/analyze-your-kubernetes-yaml-files-and-helm-charts-to-ensure-best-practices-using-kuberlinter-in-azure-devops-pipeline/) +- [medium.com/@jonathan_37674: How to validate Kubernetes YAML files? | ARMO](https://medium.com/@jonathan_37674/how-to-validate-kubernetes-yaml-files-armo-e45dd006d633) Explore defining Kubernetes applications using YAML configs and the various steps we can take to effectively validate these config definitions. ## Alternatives diff --git a/mkdocs.yml b/mkdocs.yml index 4d401feb..510691db 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -268,7 +268,7 @@ nav: - Remote Tech Jobs: remote-tech-jobs.md - Clients: customer.md - About: about.md -copyright: 2022 Nubenetes, about. +copyright: 2023 Nubenetes, about. extra: analytics: provider: google