diff --git a/docs/ai.md b/docs/ai.md index ed66ab55..f1daa1d2 100644 --- a/docs/ai.md +++ b/docs/ai.md @@ -1,7 +1,11 @@ # Artificial Intelligence 1. [Introduction](#introduction) -2. [The MAD (ML/AI/Data) Landscape](#the-mad-mlaidata-landscape) +2. [LLMOps](#llmops) +3. [The MAD (ML/AI/Data) Landscape](#the-mad-mlaidata-landscape) +4. [OpenAI](#openai) +5. [Kubernetes and AI](#kubernetes-and-ai) +6. [Programming](#programming) ## Introduction @@ -11,6 +15,23 @@ - [cio.com: Make Better AI Infrastructure Decisions: Why Hybrid Cloud is a Solid Fit 🌟](https://www.cio.com/article/350337/make-better-ai-infrastructure-decisions-why-hybrid-cloud-is-a-solid-fit.html) The unique demands of AI workloads drive increasing popularity of pairing on-premises infrastructure with cloud. - [hipertextual.com: Diferencias entre Inteligencia Artificial, Machine Learning y Deep Learning](https://hipertextual.com/2023/02/diferencias-ia-machine-learning) +## LLMOps + +- [github.com/tensorchord/Awesome-LLMOps: Awesome LLMOps](https://github.com/tensorchord/Awesome-LLMOps) An awesome & curated list of best LLMOps tools for developers +- [valohai.com/blog/llmops/](https://valohai.com/blog/llmops/) LLMOps: MLOps for Large Language Models + ## The MAD (ML/AI/Data) Landscape -- [mad.firstmark.com: The MAD (ML/AI/Data) Landscape](https://mad.firstmark.com/) \ No newline at end of file +- [mad.firstmark.com: The MAD (ML/AI/Data) Landscape](https://mad.firstmark.com/) + +## OpenAI + +- [github.com/openai/openai-cookbook: OpenAI Cookbook](https://github.com/openai/openai-cookbook) Examples and guides for using the OpenAI API + +## Kubernetes and AI + +- [k8sgpt.ai](https://k8sgpt.ai) k8sgpt is a tool for scanning your kubernetes clusters, diagnosing and triaging issues in simple english. It has SRE experience codified into its analyzers and helps to pull out the most relevant information to enrich it with AI. + +## Programming + +- [xataka.com: https://www.xataka.com/servicios/copilot-chatgpt-gpt-4-han-cambiado-para-siempre-mundo-programacion-esto-que-opinan-expertos](https://www.xataka.com/servicios/copilot-chatgpt-gpt-4-han-cambiado-para-siempre-mundo-programacion-esto-que-opinan-expertos) \ No newline at end of file diff --git a/docs/ansible.md b/docs/ansible.md index 6b608d77..84172ac2 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -135,6 +135,11 @@ - [ansible.com: The Top 10 Ansible Blogs of 2022](https://www.ansible.com/blog/top-10-ansible-blogs-2022) - [tomsitcafe.com: Getting started with Ansible playbooks: more steps towards DevOps](https://tomsitcafe.com/2023/02/14/getting-started-with-ansible-playbooks-more-steps-towards-devops/) - [tomsitcafe.com: Conditional statements – making decisions in Ansible code](https://tomsitcafe.com/2023/02/17/conditional-statements-making-decisions-in-ansible-code/) +- [tomsitcafe.com: How to implement and use handlers in Ansible code?](https://tomsitcafe.com/2023/03/06/how-to-implement-and-use-handlers-in-ansible-code/) +- [tomsitcafe.com: Configuration file blueprints: Jinja2 templates in the Ansible code](https://tomsitcafe.com/2023/03/13/configuration-file-blueprints-jinja2-templates-in-the-ansible-code/) +- [tomsitcafe.com: Handling sensitive data with Ansible Vault: encrypting strings instead of files](https://tomsitcafe.com/2023/03/16/handling-sensitive-data-with-ansible-vault-encrypting-strings-instead-of-files/) +- [ansible.com: Kubernetes Meets Event-Driven Ansible 🌟](https://www.ansible.com/blog/kubernetes-meets-event-driven-ansible) +- [==sayali.hashnode.dev: Day 56: Understanding Ad-hoc commands in Ansible== 🌟](https://sayali.hashnode.dev/day-56-understanding-ad-hoc-commands-in-ansible) ## Ansible AI diff --git a/docs/api.md b/docs/api.md index afec8a12..8b0f468b 100644 --- a/docs/api.md +++ b/docs/api.md @@ -79,6 +79,8 @@ - [jkebertz.medium.com: The Art of Writing Amazing REST APIs](https://jkebertz.medium.com/the-art-of-writing-amazing-rest-apis-dc4c4100478d) - [freecodecamp.org: REST API Design Best Practices Handbook – How to Build a REST API with JavaScript, Node.js, and Express.js](https://www.freecodecamp.org/news/rest-api-design-best-practices-build-a-rest-api/) When you're working with APIs, there are some basic best practices you should follow. And if you really want to learn how they work, build one yourself. In this guide Jean-Marc goes over each best practice as you build a REST API w/ JS, Node, & Express. - [infoq.com: Modern API Development and Deployment, from API Gateways to Sidecars](https://www.infoq.com/presentations/api-design-implement-document/) +- [betterprogramming.pub: How To Deprecate APIs the Right Way](https://betterprogramming.pub/how-to-deprecate-apis-the-right-way-371c1cbf1723) Deprecate your old APIs with the consciousness of your users +- [dzone.com: REST vs. Messaging for Microservices 🌟](https://dzone.com/articles/rest-vs-messaging-for-microservices) Discover how to choose the right communication style for your microservices in this exploration of two common protocols. ## From RESTful to Event-Driven APIs @@ -231,6 +233,7 @@ ## Tools - [OpenAPI Generator 🌟](https://openapi-generator.tech/) Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents +- [dev.to: 7 API Tools for REST Developers and Testers](https://dev.to/javinpaul/7-api-tools-for-rest-developers-and-testers-n67) ### API Testing @@ -428,5 +431,25 @@

Difference between API and Webhook

Thread 🧵👇

— Rapid (@Rapid_API) February 27, 2023

/1 What are the API architectural styles?

The diagram below shows the common API architectural styles in one picture:

1. REST
2. GraphQL
3. Web socket
4. Webhook
5. gRPC
6. SOAP pic.twitter.com/ojmpp12A09

— Alex Xu (@alexxubyte) February 27, 2023
+ +

Introduction to GraphQL queries.

A thread 🧵👇

— Rapid (@Rapid_API) March 9, 2023
+ +

Let’s talk about different API testing methods.

Thread 🧵👇

— Rapid (@Rapid_API) March 13, 2023
+ +

API Integration. What is it?

Thread 🧵👇

— Rapid (@Rapid_API) March 14, 2023
+ +

How to avoid API rate limits?

A thread 🧵👇

— Rapid (@Rapid_API) March 15, 2023
+ +

Difference between JSON and XML

- Structure
- Performance
- Compatibility
- Usage
- Supported types
- Readability
- Flexibility

Thread 🧵👇

— Rapid (@Rapid_API) March 17, 2023
+ +

Let's talk about APIs

- What is an API
- Usage of APIs
- Types of APIs
- Benefits of APIs

Thread 🧵👇

— Rapid (@Rapid_API) March 22, 2023
+ +

Let’s learn about OAuth

Thread 🧵👇

— Rapid (@Rapid_API) March 28, 2023
+ +

Different API Authentication Methods

1️⃣ Basic Auth
2️⃣ API Keys
3️⃣ OAuth 2.0
4️⃣ JSON Web Tokens
5️⃣ Header API Authentication

Thread 🧵👇

— Rapid (@Rapid_API) April 6, 2023
+ +

API Design Principles and Best Practices.

❯ Focus on User Experience
❯ Embrace RESTful Principles
❯ Use Consistent Naming Conventions
❯ Versioning & Backward Compatibility
❯ Error Handling and Messaging
❯ Pagination and Filtering
❯ Security and Authentication

Thread🧵👇

— Rapid (@Rapid_API) April 12, 2023
+ +

API documentation.

Tools, Techniques, and Importance:

Thread🧵👇

— Rapid (@Rapid_API) April 12, 2023
diff --git a/docs/argo.md b/docs/argo.md index 4cc4f99d..456c22c5 100644 --- a/docs/argo.md +++ b/docs/argo.md @@ -3,7 +3,7 @@ 1. [Introduction](#introduction) 2. [Argo CD](#argo-cd) 3. [Argo CD Vulnerabilities](#argo-cd-vulnerabilities) -4. [Argo CD Tools](#argo-cd-tools) +4. [Argo CD Tools and Plugins](#argo-cd-tools-and-plugins) 5. [Argo Rollouts](#argo-rollouts) 6. [Argo Workflows](#argo-workflows) 7. [Videos](#videos) @@ -84,6 +84,9 @@ - [==blog.tanmaysarkar.tech: Beginners Guide to Argo CD==](https://blog.tanmaysarkar.tech/beginners-guide-to-argo-cd) In this guide, you will learn how to use ArgoCD by practising on a local minikube cluster - [medium.com/devops-techable: GitOps with ArgoCD running in Kubernetes for deployment processing](https://medium.com/devops-techable/gitops-with-argocd-running-in-kubernetes-for-deployment-processing-c5d21770ca97) - [seraf.dev: ArgoCD Tutorial — (with Terraform)](https://seraf.dev/argocd-tutorial-with-terraform-af77ddea2e6e) Here we’ll be deploying ArgoCD resources with Terraform on a local Kubernetes Cluster (KIND) for a true IaC infrastructure +- [medium.com/@eduard.mihai.lemnaru: Auto-update helm chart version using ArgoCD](https://medium.com/@eduard.mihai.lemnaru/auto-update-helm-chart-version-using-argocd-4936933a2bac) +- [53jk1.medium.com: ArgoCD: The Continuous Delivery Solution for Kubernetes](https://53jk1.medium.com/argocd-the-continuous-delivery-solution-for-kubernetes-ae5b008e76d1) +- [github.com/myspotontheweb/gitops-workloads-demo](https://github.com/myspotontheweb/gitops-workloads-demo) This repository demonstrates how Helm based work loads can be managed by ArgoCD. ## Argo CD Vulnerabilities @@ -98,12 +101,13 @@ - ... - Have a CVE response plan ready -## Argo CD Tools +## Argo CD Tools and Plugins - [argoproj-labs/argocd-autopilot: Argo-CD Autopilot](https://github.com/argoproj-labs/argocd-autopilot) The Argo-CD Autopilot is a tool which offers an opinionated way of installing Argo-CD and managing GitOps epositories. New users to GitOps and Argo CD are not often sure how they should structure their repos, add applications, promote apps across environments, and manage the Argo CD installation itself using GitOps. Argo Autopilot is a project that solves that - [argoproj-labs/applicationset: Argo CD ApplicationSet Controller](https://github.com/argoproj-labs/applicationset) The ApplicationSet controller is a Kubernetes controller that adds support for a new custom ApplicationSet CustomResourceDefinition (CRD). The ApplicationSet controller manages multiple Argo CD Applications as a single ApplicationSet unit, supporting deployments to large numbers of clusters, deployments of large monorepos, and enabling secure Application self-service. - [IBM/argocd-vault-plugin](https://github.com/IBM/argocd-vault-plugin) An ArgoCD plugin to retrieve secrets from Hashicorp Vault and inject them into Kubernetes secrets. - [==argoproj-labs/argocd-vault-plugin==](https://github.com/argoproj-labs/argocd-vault-plugin) ArgoCD-Vault-plugin is an Argo CD plugin to retrieve secrets from various Secret Management tools (HashiCorp Vault, IBM Cloud Secrets Manager, AWS Secrets Manager, etc.) and inject them into Kubernetes resources - https://argocd-vault-plugin.readthedocs.io +- [github.com/crumbhole/argocd-vault-replacer](https://github.com/crumbhole/argocd-vault-replacer) An Argo CD plugin to replace placeholders in Kubernetes manifests with secrets stored in Hashicorp Vault. Scans the current directory recursively for any YAML files and attempts to replace strings following a pattern. ## Argo Rollouts @@ -115,6 +119,7 @@ - [infracloud.io: Progressive Delivery with Argo Rollouts: Canary Deployment](https://www.infracloud.io/blogs/progressive-delivery-argo-rollouts-canary-deployment/) - [medium.com/everything-full-stack: Deployment Strategies: Argo Rollouts](https://medium.com/everything-full-stack/deployment-strategies-argo-rollouts-1980fc0685e6) - [faun.pub: Kubernetes Practice — Automating Blue/Green Deployment with Argo Rollouts](https://faun.pub/kubernetes-practice-automating-blue-green-deployment-with-argo-rollouts-2279aa890c53) In this article, we will learn how to automate Blue/Green Deployment with Argo Rollouts. +- [infracloud.io: How to Setup Blue Green Deployments with DNS Routing 🌟](https://www.infracloud.io/blogs/blue-green-deployments-dns-routing/) This blog post will teach you how to set up blue-green deployments using Argo Rollouts with DNS routing using **Azure Traffic Manager** ## Argo Workflows diff --git a/docs/aws-messaging.md b/docs/aws-messaging.md index 0c9307da..4f8c682d 100644 --- a/docs/aws-messaging.md +++ b/docs/aws-messaging.md @@ -11,7 +11,7 @@ - [Limits in Amazon SQS](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html) - [Amazon SQS FAQs](https://aws.amazon.com/sqs/faqs/) - The **Simple Notification Service**, or SNS for short, is one of the central services to build serverless architectures in the AWS cloud. SNS itself is a serverless messaging service that can distribute massive numbers of messages to different recipients. These include mobile end-user devices, like smartphones and tablets, but also other services inside the AWS ecosystem. -- SNS’ ability to target AWS services makes it the perfect companion for AWS Lambda. If you need custom logic, go for Lambda; if you need to fan out messages to multiple other services in parallel, SNS is the place to be. +- SNS’ ability to target AWS services makes it the perfect companion for AWS Lambda. If you need custom logic, go for Lambda; if you need to fan out messages to multiple other services in parallel, SNS is the place to be. - [dashbird.io: [Infographic] AWS SNS from a serverless perspective](https://dashbird.io/blog/aws-sns/) - [enlear.academy: How To Build a Scalable Email Notification Service Using AWS](https://enlear.academy/how-to-build-a-scalable-email-service-using-aws-d404b347a7fb) Using AWS Lambda, DynamoDB, Amazon SQS, Amazon SES, and Amazon API Gateway to build a scalable email notification service. @@ -23,6 +23,7 @@ - https://aws.amazon.com/eventbridge - [==Building an event-driven application with Amazon EventBridge==](https://aws.amazon.com/blogs/compute/building-an-event-driven-application-with-amazon-eventbridge/) **“In event-driven architecture, each component of the application raises an event whenever anything changes. Other components listen and decide what to do with it and how they would like to react.”** – by @talia_nassi +- [faun.pub: Implementing Event Driven Architecture With AWS EventBridge — Event-Driven Messaging Pattern](https://faun.pub/implementing-event-driven-architecture-with-aws-eventbridge-event-driven-messaging-pattern-9d29262bfade) ## Tweets diff --git a/docs/aws-miscellaneous.md b/docs/aws-miscellaneous.md index 087676c0..157f40e5 100644 --- a/docs/aws-miscellaneous.md +++ b/docs/aws-miscellaneous.md @@ -28,6 +28,7 @@ 24. [AWS LightSail](#aws-lightsail) 25. [AWS Data Lake](#aws-data-lake) 26. [AWS Managed Grafana](#aws-managed-grafana) +27. [AWS Landing Zone](#aws-landing-zone) ## AWS Application Discovery Service @@ -173,3 +174,7 @@ ## AWS Managed Grafana - [dev.to: Automatic API Key rotation for Amazon Managed Grafana](https://dev.to/aws-heroes/automatic-api-key-rotation-for-amazon-managed-grafana-2h68) + +## AWS Landing Zone + +- [medium.com/@mike_tyson_cloud: AWS Landing Zone: Mastering the Architecture — Best Practices and Design Secrets](https://medium.com/@mike_tyson_cloud/aws-landing-zone-mastering-the-architecture-best-practices-and-design-secrets-a37746f72962) \ No newline at end of file diff --git a/docs/aws-monitoring.md b/docs/aws-monitoring.md index 1f952b7e..31e3d4ec 100644 --- a/docs/aws-monitoring.md +++ b/docs/aws-monitoring.md @@ -35,6 +35,7 @@ ## AWS Managed Services for Prometheus and Grafana - [Amazon Managed Service for Prometheus](https://aws.amazon.com/prometheus/) Highly available, secure, and managed monitoring for your containers + - [medium.com: Up and running with Amazon Managed Service for Prometheus](https://medium.com/devops-techable/up-and-running-with-amazon-managed-service-for-prometheus-6fd12e56bff6) - [Amazon Managed Service for Grafana](https://aws.amazon.com/grafana/) Powerful, interactive data visualizations for builders, operators, and business leaders - [infoq.com: AWS Introduces Amazon Managed Service for Grafana and Amazon Managed Service for Prometheus](https://www.infoq.com/news/2021/01/aws-grafana-prometheus/) diff --git a/docs/aws-newfeatures.md b/docs/aws-newfeatures.md index 531fbfdf..c0ce30ab 100644 --- a/docs/aws-newfeatures.md +++ b/docs/aws-newfeatures.md @@ -109,4 +109,6 @@ - [Amazon GuardDuty now available in AWS Europe (Spain) Region](https://aws.amazon.com/about-aws/whats-new/2023/02/amazon-guardduty-aws-europe-spain-region/) - [New – Visualize Your VPC Resources from Amazon VPC Creation Experience](https://aws.amazon.com/blogs/aws/new-visualize-your-vpc-resources-from-amazon-vpc-creation-experience/) - [AWS Network Firewall now supports tag-based resource groups](https://aws.amazon.com/about-aws/whats-new/2023/02/aws-network-firewall-tag-based-resource-groups) -- [Amazon EKS now supports Kubernetes version 1.25](https://aws.amazon.com/blogs/containers/amazon-eks-now-supports-kubernetes-version-1-25/) \ No newline at end of file +- [Amazon EKS now supports Kubernetes version 1.25](https://aws.amazon.com/blogs/containers/amazon-eks-now-supports-kubernetes-version-1-25/) +- [Amazon Detective adds graph visualization for interactive security investigations](https://aws.amazon.com/about-aws/whats-new/2023/03/amazon-detective-graph-visualization-interactive-security-investigations/) +- [Announcing the ability to enable AWS Systems Manager by default across all EC2 instances in an account](https://aws.amazon.com/about-aws/whats-new/2023/02/enable-aws-systems-manager-default-all-ec2-instances-account/) \ No newline at end of file diff --git a/docs/aws-security.md b/docs/aws-security.md index 45e4be88..8e89903f 100644 --- a/docs/aws-security.md +++ b/docs/aws-security.md @@ -46,6 +46,7 @@ - [faun.pub: Handling Exposed AWS Access Key](https://faun.pub/handling-exposed-aws-access-key-b053362abd73) - [github.com/aws-samples: How to set up continuous replication from your third-party secrets manager to AWS Secrets Manager](https://github.com/aws-samples/aws-secrets-manager-hybrid-secret-replication-from-hashicorp-vault) - [medium.com/@neonforge: Why You Shouldn’t Use AWS managed KMS Keys](https://medium.com/@neonforge/why-you-shouldnt-use-aws-managed-kms-keys-83d9eb9d5090) +- [linkedin.com: Complexities of AWS Security Groups in the Cloud World](https://www.linkedin.com/pulse/complexities-aws-security-groups-cloud-world-ashish-kar/) Do you feel AWS security groups are hard to implement? Are you tired of reconfiguring IP addresses in security groups whenever workloads get restarted or redeployed? ## AWS Security Reference Architecture AWS SRA @@ -92,6 +93,7 @@ - [awstip.com: AWS Permissions Set deep dive](https://awstip.com/aws-permissions-set-deep-dive-228d0ed35249) - [How to monitor and query IAM resources at scale – Part 1](https://aws.amazon.com/blogs/security/how-to-monitor-and-query-iam-resources-at-scale-part-1/) Useful details on how AWS IAM works so that you can use it more effectively. - [github.com/aws-samples: Visualize AWS IAM Access Analyzer Policy Validation Findings](https://github.com/aws-samples/visualize-iam-access-analyzer-policy-validation-findings) +- [thenewstack.io: A Deep Dive into the Security of IAM in AWS](https://thenewstack.io/a-deep-dive-into-the-security-of-iam-in-aws/) How do you tighten up identity access management when you're using Amazon's cloud? Here are some best practices and useful tools for keeping everything safe. ### Terraform IAM Policy Validator diff --git a/docs/aws-serverless.md b/docs/aws-serverless.md index ce323752..e12d8b7a 100644 --- a/docs/aws-serverless.md +++ b/docs/aws-serverless.md @@ -69,3 +69,4 @@ - [element7.io: A Hidden Gem: Two Ways to Improve AWS Fargate Container Launch Times](https://www.element7.io/2022/10/a-hidden-gem-two-ways-to-improve-aws-fargate-container-launch-times/) In this post you will learn two strategies to speed up the pod creation time: - zstd compressed container images - Seekable OCI for lazy loading container images +- [medium.com/@HirenDhaduk1: Best choice to run your containers: AWS FARGATE or AWS LAMBDA or Both?](https://medium.com/@HirenDhaduk1/best-choice-to-run-your-containers-aws-fargate-or-aws-lambda-or-both-d9e14685a363) diff --git a/docs/aws-storage.md b/docs/aws-storage.md index eb1958f6..69a153a2 100644 --- a/docs/aws-storage.md +++ b/docs/aws-storage.md @@ -3,6 +3,7 @@ 1. [Introduction](#introduction) 2. [Amazon EFS Elastic File System](#amazon-efs-elastic-file-system) 3. [AWS Transfer](#aws-transfer) +4. [AWS S3 Sync](#aws-s3-sync) ## Introduction @@ -32,3 +33,7 @@ ## AWS Transfer - [infoq.com: AWS Transfer Family Introduces Support for EFS](https://www.infoq.com/news/2021/01/aws-transfer-ftp-efs/) + +## AWS S3 Sync + +- [==blog.awsfundamentals.com: AWS S3 Sync - An Extensive Guide==](https://blog.awsfundamentals.com/aws-s3-sync) Learn all about AWS S3 sync - covering download, upload, synchronize buckets, file selection patterns, dry-run, and more - examples included. The CLI is a daily tool for every DevOps engineer working with AWS. A deep-dive for the 𝗮𝘄𝘀 𝘀𝟯 𝘀𝘆𝗻𝗰 command & its powerful options. diff --git a/docs/aws-tools-scripts.md b/docs/aws-tools-scripts.md index 79031cc5..cbf693a6 100644 --- a/docs/aws-tools-scripts.md +++ b/docs/aws-tools-scripts.md @@ -9,7 +9,8 @@ 6. [AWS Management Tools Blog](#aws-management-tools-blog) 7. [AWS CLI and AWS SDK](#aws-cli-and-aws-sdk) 8. [Amazon CodeWhisperer](#amazon-codewhisperer) -9. [Third Party Tools](#third-party-tools) +9. [AWS S3 Sync](#aws-s3-sync) +10. [Third Party Tools](#third-party-tools) ## AWS Scripts @@ -31,15 +32,16 @@ ## AWS Tools - [github.com/awslabs](https://github.com/awslabs) -- [==steampipe== 🌟](https://steampipe.io) Steampipe is an open source tool for querying cloud APIs in a universal way and reasoning about the data in SQL. +- [==steampipe== 🌟](https://steampipe.io) Steampipe is an open source tool for querying cloud APIs in a universal way and reasoning about the data in SQL. - [==Querying AWS at scale across APIs, Regions, and accounts==](https://aws.amazon.com/blogs/opensource/querying-aws-at-scale-across-apis-regions-and-accounts/) - [==awslabs/aws-cloudsaga: AWS CloudSaga - Simulate security events in AWS==](https://github.com/awslabs/aws-cloudsaga) AWS CloudSaga is for customers to test security controls and alerts within their Amazon Web Services (AWS) environment, using generated alerts based on security events seen by the AWS Customer Incident Response Team (CIRT). - New Open Source tool alert! Introducing AWS CloudSaga, a open source tool for generating events within AWS to be investigated by blue teams & incident responders. - AWS CloudSaga is based on basic scenarios related to security events. Using AWS CloudSaga, you can safely generate events via the AWS API, and then use these events to test your team's investigation capabilities and responses in order to identify gaps and areas of improvement. - [willdady/aws-resource-based-policy-collector: AWS resource-based policy collector](https://github.com/willdady/aws-resource-based-policy-collector) Utility for collecting resource-based policies from an AWS account - [ermetic/access-undenied-aws 🌟](https://github.com/ermetic/access-undenied-aws) Ermetic is launching a new open-source tool: Access Undenied on AWS. The tool parses AWS AccessDenied CloudTrail events, explains the reasons for them and offers actionable fixes. - - [ermetic.com: Access Undenied on AWS](https://ermetic.com/blog/aws/access-undenied-on-aws/) + - [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. +- [github.com/awslabs/amazon-s3-tar-tool: Amazon S3 Tar Tool](https://github.com/awslabs/amazon-s3-tar-tool) A utility tool to create a tarball of existing objects in Amazon S3 ### AWS CI/CD Tools @@ -61,7 +63,7 @@ - [New usage examples have been added to the CLI for CodePipeline API Reference](http://docs.aws.amazon.com/cli/latest/reference/codepipeline/index.html) - [ec2-ssh-yplan: A pair of command line utilities for finding and SSH-ing into your Amazon EC2 instances by tag (such as ‘Name’)](https://pypi.python.org/pypi/ec2-ssh-yplan/) - List running instances using 'awscli': - + ```bash aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query 'Reservations[].Instances[].[InstanceID]' ``` @@ -82,8 +84,13 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [Amazon CodeWhisperer 🌟](https://aws.amazon.com/codewhisperer/) Amazon CodeWhisperer is a machine learning (ML)–powered service that helps improve developer productivity by generating code recommendations based on developers’ comments in natural language and their code in the integrated development environment (IDE). During preview, CodeWhisperer is available for Java, JavaScript, and Python programming languages. The service integrates with multiple IDEs, including JetBrains (IntelliJ, PyCharm, and WebStorm), Visual Studio Code, AWS Cloud9, and the AWS Lambda console. - [genbeta.com: Amazon lanza CodeWhisperer, su propia alternativa a GitHub Copilot… que no insertará código ya licenciado sin avisar](https://www.genbeta.com/desarrollo/amazon-lanza-codewhisperer-su-propia-alternativa-a-github-copilot-que-no-insertara-codigo-licenciado-avisar) +## AWS S3 Sync + +- [==blog.awsfundamentals.com: AWS S3 Sync - An Extensive Guide==](https://blog.awsfundamentals.com/aws-s3-sync) Learn all about AWS S3 sync - covering download, upload, synchronize buckets, file selection patterns, dry-run, and more - examples included. The CLI is a daily tool for every DevOps engineer working with AWS. A deep-dive for the 𝗮𝘄𝘀 𝘀𝟯 𝘀𝘆𝗻𝗰 command & its powerful options. + ## Third Party Tools -- [ec2-spot-converter](https://github.com/jcjorel/ec2-spot-converter) This tool converts existing EC2 instances back and forth from on-demand and 'persistent' Spot billing models while preserving instance attributes (Launch configuration, Tags..), network attributes (existing Private IP addresses, Elastic IP), storage (Volumes), Elastic Inference accelerators and Elastic GPUs. It also allows replacement of existing Spot instances with new "identical" ones to update the instance type and cpu options. +- [ec2-spot-converter](https://github.com/jcjorel/ec2-spot-converter) This tool converts existing EC2 instances back and forth from on-demand and 'persistent' Spot billing models while preserving instance attributes (Launch configuration, Tags..), network attributes (existing Private IP addresses, Elastic IP), storage (Volumes), Elastic Inference accelerators and Elastic GPUs. It also allows replacement of existing Spot instances with new "identical" ones to update the instance type and cpu options. - [techcrunch.com: Vantage makes managing AWS easier](https://techcrunch.com/2021/01/12/vantage-makes-managing-aws-easier/) - [vantage.sh](https://www.vantage.sh/) +- [github.com/one2nc/cloudlens 🌟](https://github.com/one2nc/cloudlens) k9s like CLI for AWS \ No newline at end of file diff --git a/docs/aws-training.md b/docs/aws-training.md index 4a4e85ee..717c5908 100644 --- a/docs/aws-training.md +++ b/docs/aws-training.md @@ -19,6 +19,7 @@ - [portal.tutorialsdojo.com: AWS Digital Courses (free)](https://portal.tutorialsdojo.com/product-category/aws/aws-digital-courses-2/) - [hashnode.tpschmidt.com: My Top 10 Free Learning Resources for AWS](https://hashnode.tpschmidt.com/my-top-10-free-learning-resources-for-aws) There's probably nothing you can't build on AWS, but starting your Cloud Journey looking at over 200 AWS Services needs guidance. - [==explore.skillbuilder.aws/learn: AWS Skill Builder== 🌟](https://explore.skillbuilder.aws/learn) Your learning center to build in-demand cloud skills + - [explore.skillbuilder.aws: AWS Skill Builder - Introducción a AWS Data Pipeline (Español Latinoamérica) | AWS Technical Essentials (Spanish from Latin America) - Free](https://explore.skillbuilder.aws/learn/course/external/view/elearning/7854/aws-technical-essential-spanish-from-latin-america) - [aws.amazon.com: Exámenes prácticos gratuitos y 100% en español para que obtenga su certificación](https://aws.amazon.com/es/blogs/aws-spanish/examenes-practicos-gratuitos-y-100-en-espanol-para-que-obtenga-su-certificacion/) - [satyenkumar.medium.com: My Youtube Channel is updated for AWS Certifications (Over 150 Video list)](https://satyenkumar.medium.com/my-youtube-channel-is-updated-for-aws-certifications-over-150-video-list-1ae7aa81e99d) - [explore.skillbuilder.aws: AWS Security Fundamentals (free)](https://explore.skillbuilder.aws/learn/course/external/view/elearning/48/aws-security-fundamentals-second-edition) In this self-paced course, you will learn fundamental AWS cloud security concepts, including AWS access control, data encryption methods, and how network access to your AWS infrastructure can be secured. We will address and your security responsibility in the AWS cloud and the different security-oriented services available. diff --git a/docs/aws.md b/docs/aws.md index 6ebd550d..f73fe4f5 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -89,6 +89,7 @@ - [Building highly resilient applications with on-premises interdependencies using AWS Local Zones](https://aws.amazon.com/blogs/compute/building-highly-resilient-applications-with-on-premises-interdependencies-using-aws-local-zones/) AWS Local Zones are a type of infrastructure deployment that places compute, storage, database, and other select AWS services close to large population and industry centers. - [dev.to: Disaster Recovery Cheat-sheet/Write-up 🌟](https://dev.to/aws-builders/disaster-recovery-cheat-sheetwrite-up-o62) - [terminalsandcoffee.com: Setting Up the AWS CLI & IAM User API Keys 🌟](https://terminalsandcoffee.com/setting-up-the-aws-cli-iam-user-api-keys-b83554e314e4) +- [dev.to: Best Practices When Designing AWS Architecture 🌟🌟](https://dev.to/aws-builders/best-practices-when-designing-aws-architecture-4c8d) AWSArchitecture is the way you design & implement your cloud apps using AWS services & resources. A well-designed architecture help to achieve business goals 👉 scalability, reliability, etc. ## AWS Reference Archigtecture diff --git a/docs/azure.md b/docs/azure.md index 124bfdba..4d3535a0 100644 --- a/docs/azure.md +++ b/docs/azure.md @@ -93,6 +93,7 @@ - [==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/) - [blog.cloudtrooper.net: Virtual Network Gateways routing in Azure](https://blog.cloudtrooper.net/2023/02/06/virtual-network-gateways-routing-in-azure/) +- [returngis.net: Monitorizar aplicación Java con Spring Boot con Azure Application Insights](https://www.returngis.net/2023/04/monitorizar-aplicacion-java-con-spring-boot-con-azure-application-insights/) ## Microsoft REST API Guidelines @@ -102,6 +103,7 @@ - [==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/) +- [azure.microsoft.com: Generally Available: Durable Functions support of managed identity for Azure Storage](https://azure.microsoft.com/en-gb/updates/generally-available-durable-functions-support-of-managed-identity-for-azure-storage/) Azure Durable Functions support of managed identity for Azure Storage is now generally available! Instead of embedding secrets in connection strings, you can use an identity-based connection to access Azure Storage. The identity is managed by the Azure platform and does not require you to provision or rotate any secrets. See [quickstart](https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-configure-durable-functions-with-credentials) on how to configure managed identity for Azure Storage in your Durable Functions app. ## Blogs @@ -243,6 +245,7 @@ - [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) +- [==learn.microsoft.com: What are Azure Active Directory recommendations?== 🌟🌟](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/overview-recommendations) ### Register applications in Azure AD. Authenticate apps and services @@ -470,6 +473,7 @@ - [Azure Container Apps](https://azure.microsoft.com/services/container-apps/) Build and deploy modern apps and microservices using serverless containers - [techcommunity.microsoft.com: Introducing Azure Container Apps: a serverless container service for running modern apps at scale](https://techcommunity.microsoft.com/t5/apps-on-azure/introducing-azure-container-apps-a-serverless-container-service/ba-p/2867265) +- [techcommunity.microsoft.com: Azure Policy for Azure Container Apps? Yes, please](https://techcommunity.microsoft.com/t5/fasttrack-for-azure/azure-policy-for-azure-container-apps-yes-please/ba-p/3775200) ## Azure Container Instances @@ -534,6 +538,7 @@
+
## Tweets diff --git a/docs/chaos-engineering.md b/docs/chaos-engineering.md index 12ed64aa..256563fd 100644 --- a/docs/chaos-engineering.md +++ b/docs/chaos-engineering.md @@ -14,6 +14,7 @@ - [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/) +- [faun.pub: What is Chaos Engineering?](https://faun.pub/what-is-chaos-engineering-a89b64db9af0) Chaos Engineering is the discipline of experimenting on a system in order to build confidence in the system’s capability to withstand turbulent conditions in production. ## Chaos Engineering for kubernetes/Openshift diff --git a/docs/chatgpt.md b/docs/chatgpt.md index 35da4a4a..4f345570 100644 --- a/docs/chatgpt.md +++ b/docs/chatgpt.md @@ -6,13 +6,13 @@ 2. [GitOps vs ClickOps 1](#gitops-vs-clickops-1) 3. [GitOps vs ClickOps 2](#gitops-vs-clickops-2) - ## Introduction - [medium.com/@andretost_75145: Using ChatGPT to learn Kubernetes and OpenShift](https://medium.com/@andretost_75145/using-chatgpt-to-learn-kubernetes-and-openshift-15051bc95535) - [ansible.com: Ansible and ChatGPT: Putting it to the test](https://www.ansible.com/blog/ansible-wisdom-and-chatgpt-putting-it-to-the-test) You know we had to road test the hottest trend in #generativeAI! In this blog, we put ChatGPT to the test of developing Ansible Playbooks. We also explore Project Wisdom, an Ansible AI capability that is currently in development. - [betterprogramming.pub: ChatGPT and Software Architecture](https://betterprogramming.pub/chatgpt-and-software-architecture-308b6e0cc25a) Let’s generate diagrams - [genbeta.com: En la era de la inteligencia artificial, Microsoft es el nuevo Google](https://www.genbeta.com/a-fondo/era-inteligencia-artificial-microsoft-nuevo-google) +- [abcabhishek.substack.com: ChatGPT for generating SQL as a Data Engineer's assistant](https://abcabhishek.substack.com/p/chatgpt-for-generating-sql-as-a-data) Lets generate SQL using chatGPT and simplify our work ## Explained by ChatGPT @@ -46,4 +46,5 @@ > > *The problem between GitOps and ClickOps lies in how infrastructure management and application deployment are approached. GitOps is more automated and focused on IaC, which can result in greater efficiency and a reduction of human errors. ClickOps is more manual and visual, which can be easier to use and understand for teams who do not have programming and automation experience.* > -> *In summary, both approaches have their advantages and disadvantages and are suited to different situations and needs. It depends on the preferences and skills of the development and IT operations team to choose the appropriate approach for their organization.* \ No newline at end of file +> *In summary, both approaches have their advantages and disadvantages and are suited to different situations and needs. It depends on the preferences and skills of the development and IT operations team to choose the appropriate approach for their organization.* + diff --git a/docs/cicd.md b/docs/cicd.md index 7947b3a3..6ddf001f 100644 --- a/docs/cicd.md +++ b/docs/cicd.md @@ -109,6 +109,7 @@ - [==guru99.com: CI/CD Pipeline: Learn with Example== 🌟🌟🌟](https://www.guru99.com/ci-cd-pipeline.html) CICD automates the process of app delivery. It builds code, runs tests, helps to safely deploy new version of the app. It reduces manual errors, provides feedback, and allows fast product iterations. - [==dzone.com: How To Build an Effective CI/CD Pipeline==](https://dzone.com/articles/how-to-build-an-effective-cicd-pipeline) This article leads you through an exploration of practical steps for creating pipelines that accelerate deployments. - [groundcover.com: Cloud-native CI/CD? Yeah, that’s a thing 🌟](https://www.groundcover.com/blog/ci-cd-kubernetes) Discover how leveraging CI/CD pipelines based on Kubernetes gives organizations improved control and more efficient management, allowing for faster recovery and replication of runtime environments. +- [==spacelift.io: Kubernetes CI/CD Pipelines – 7 Best Practices and Tools | James Walker== 🌟](https://spacelift.io/blog/kubernetes-ci-cd) CICD pipelines enhance app delivery process by automating key stages like testing, security scanning, and deployment. Adopting pipeline-based workflow helps to ship more quickly. ## CI/CD Pipelines With Kubernetes diff --git a/docs/cloud-arch-diagrams.md b/docs/cloud-arch-diagrams.md index cc6e3c21..7aebe2b5 100644 --- a/docs/cloud-arch-diagrams.md +++ b/docs/cloud-arch-diagrams.md @@ -36,9 +36,10 @@ ## Architecture Icons - [AWS Architecture Icons](https://aws.amazon.com/architecture/icons/) -- [Azure Architecture Icons](https://docs.microsoft.com/en-us/azure/architecture/icons/) - [thomasmaurer.ch: Download New Azure Architecture Icons now!](https://www.thomasmaurer.ch/2020/07/download-new-azure-architecture-icons-now/) +- [Azure Architecture Icons](https://docs.microsoft.com/en-us/azure/architecture/icons/) - [thomasmaurer.ch: Download New Azure Architecture Icons now!](https://www.thomasmaurer.ch/2020/07/download-new-azure-architecture-icons-now/) - [Google Cloud Architecture Icons](https://cloud.google.com/icons) - [aquasecurity/cloudsec-icons](https://github.com/aquasecurity/cloudsec-icons) A collection of cloud security icons ☁️🔒 +- [==github.com/kubernetes: Kubernetes Icons Set==](https://github.com/kubernetes/community/tree/master/icons) These icons are a way to standardize Kubernetes architecture diagrams for presentation. Having uniform architecture diagrams improve understandability ## AWS diff --git a/docs/container-managers.md b/docs/container-managers.md index c26e35b8..0745f9e7 100644 --- a/docs/container-managers.md +++ b/docs/container-managers.md @@ -1,7 +1,7 @@ # Container Runtimes/Managers, Base Images and Container Tools. Podman, Buildah & Skopeo 1. [Introduction](#introduction) -2. [OCI Project](#oci-project) +2. [OCI Project. Open Container Initiative](#oci-project-open-container-initiative) 1. [OCI Runtimes](#oci-runtimes) 1. [runc](#runc) 2. [crun](#crun) @@ -26,9 +26,10 @@ - [blog.alexellis.io: Building containers without Docker 🌟](https://blog.alexellis.io/building-containers-without-docker/) - [thenewstack.io: Container Best Practices: What They Are and Why You Should Care](https://thenewstack.io/container-best-practices-what-they-are-and-why-you-should-care/) -## OCI Project +## OCI Project. Open Container Initiative - [OCI: Open Container Initiative](https://www.opencontainers.org/) +- [scrivano.org: the journey to speed up running OCI containers](https://www.scrivano.org/posts/2022-10-21-the-journey-to-speed-up-oci-containers/) ### OCI Runtimes diff --git a/docs/databases.md b/docs/databases.md index ed778ee2..0e0f6e37 100644 --- a/docs/databases.md +++ b/docs/databases.md @@ -88,6 +88,7 @@ - [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 +- [==blog.equationlabs.io: Managing database migrations safely in high replicated k8s deployment== 🌟](https://blog.equationlabs.io/managing-database-migrations-safely-in-high-replicated-k8s-deployment) In this article, you will learn how to run database migrations in Kubernetes using the Job resource, init containers and rolling updates. ## How to choose the right database for your service diff --git a/docs/devel-sites.md b/docs/devel-sites.md index 995a7a81..6221506c 100644 --- a/docs/devel-sites.md +++ b/docs/devel-sites.md @@ -43,7 +43,7 @@ - [dev.to: 19 Valuable GitHub Repositories for Beginner Developers 📚✨](https://dev.to/madza/19-valuable-github-repositories-for-beginner-developers-3i18) - [freecodecamp.org: Frontend VS Backend – What's the Difference?](https://www.freecodecamp.org/news/frontend-vs-backend-whats-the-difference/) - [betterprogramming.pub: How to Refactor a Codebase?](https://betterprogramming.pub/how-to-refactor-a-codebase-982772695078) -- [==freecodecamp.org: What is a Full Stack Developer? 2022 Full Stack Engineer Guide==](https://www.freecodecamp.org/news/what-is-a-full-stack-developer-full-stack-engineer-guide/) +- [==freecodecamp.org: What is a Full Stack Developer? 2022 Full Stack Engineer Guide==](https://www.freecodecamp.org/news/what-is-a-full-stack-developer-full-stack-engineer-guide/) Full stack developers are in high demand in today's job market. But what does "full stack" actually mean, and what skills do you need to have? In this detailed guide, Dionysia explains what a full stack dev is, and what you should learn to become one. - [dev.to: 10 best GitHub repos for developers](https://dev.to/mariamarsh/10-best-github-repos-for-developers-5gmp) ## Design Patterns @@ -65,6 +65,7 @@ ## Developer Tools - [dev.to: 15 Developer Tools to Make You Super Productive](https://dev.to/sourcegraph/15-developer-tools-to-make-you-super-productive-2g0a) +- [dev.to: 7 API Tools for REST Developers and Testers](https://dev.to/javinpaul/7-api-tools-for-rest-developers-and-testers-n67) ### Firebase diff --git a/docs/devops.md b/docs/devops.md index 5cbca8ae..e1d7ef9d 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -14,29 +14,30 @@ 10. [DevOps Docs](#devops-docs) 11. [DORA metrics](#dora-metrics) 12. [DevOps Roadmap](#devops-roadmap) -13. [Multicloud](#multicloud) -14. [Serverless DevOps](#serverless-devops) -15. [DevOps as a Service (DaaS)](#devops-as-a-service-daas) -16. [IaC Infrastructure as Code](#iac-infrastructure-as-code) -17. [Xebia Labs and DevOps](#xebia-labs-and-devops) -18. [DevOps Tools](#devops-tools) -19. [Netflix and DevOps](#netflix-and-devops) -20. [Public Cloud DevOps](#public-cloud-devops) +13. [APIOps](#apiops) +14. [Multicloud](#multicloud) +15. [Serverless DevOps](#serverless-devops) +16. [DevOps as a Service (DaaS)](#devops-as-a-service-daas) +17. [IaC Infrastructure as Code](#iac-infrastructure-as-code) +18. [Xebia Labs and DevOps](#xebia-labs-and-devops) +19. [DevOps Tools](#devops-tools) +20. [Netflix and DevOps](#netflix-and-devops) +21. [Public Cloud DevOps](#public-cloud-devops) 1. [AWS DevOps](#aws-devops) 2. [Azure DevOps](#azure-devops) 3. [Google Cloud Platform](#google-cloud-platform) -21. [NoOps](#noops) -22. [NetOps](#netops) -23. [PlatformOps](#platformops) -24. [GPT 3 Tools](#gpt-3-tools) -25. [Data as Code](#data-as-code) -26. [DevOps for SAP](#devops-for-sap) -27. [Youtube Playlists](#youtube-playlists) -28. [Platform Engineering](#platform-engineering) -29. [Bunch of Images](#bunch-of-images) -30. [Slides](#slides) -31. [Videos](#videos) -32. [Tweets](#tweets) +22. [NoOps](#noops) +23. [NetOps](#netops) +24. [PlatformOps](#platformops) +25. [GPT 3 Tools](#gpt-3-tools) +26. [Data as Code](#data-as-code) +27. [DevOps for SAP](#devops-for-sap) +28. [Youtube Playlists](#youtube-playlists) +29. [Platform Engineering](#platform-engineering) +30. [Bunch of Images](#bunch-of-images) +31. [Slides](#slides) +32. [Videos](#videos) +33. [Tweets](#tweets)
Jimmy Sax · Una Matina Jimmy Sax
@@ -312,6 +313,10 @@ - [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 +## APIOps + +- [dzone.com: What Is APIOps? How to Be Successful at It](https://dzone.com/articles/what-is-apiops-and-how-to-be-successful-at-apiops) This article compares APIOps to other X-Ops and what you can do in order to make your APIOps journey successful. + ## Multicloud - [infoworld.com: How multicloud changes devops](https://www.infoworld.com/article/3686695/how-multicloud-changes-devops.html) More clouds, more complexity, more challenges. Now’s the time to prepare for the impact multicloud will have on your devops teams. @@ -490,6 +495,7 @@ Resolve your software incidents 10x faster +
diff --git a/docs/devsecops.md b/docs/devsecops.md index 3d1ed71e..41d8a3ee 100644 --- a/docs/devsecops.md +++ b/docs/devsecops.md @@ -131,7 +131,7 @@ - [Open Policy Agent and Gatekeeper](https://github.com/open-policy-agent/gatekeeper) - [Falco](https://falco.org/) - [thenewstack.io: 10 Steps to Simplify Your DevSecOps](https://thenewstack.io/10-steps-to-simplify-your-devsecops/) - 1. Promote a DevSecOps Culture + 1. Promote a DevSecOps Culture 2. Empower Teams to Build Security into the SDLC 3. Plan Security Activities 4. Improve Speed and Scale with Automation @@ -170,7 +170,7 @@ - As a result of the chaos caused by Log4Shell, many organizations kicked off the new year by carrying out security assessments to identify ways to improve detection and mitigation of future vulnerabilities. One approach that is gaining a lot of attention is DevSecOps. - DevSecOps introduces and automates security in the earlier phases of the software development life cycle rather than bolting it on at the end. The approach saves money, saves time on tedious manual tasks, helps organizations meet regulatory compliance requirements and significantly reduces the risk of critical security bugs being found after an application’s final build. - However, when it comes to kicking off DevSecOps projects, there are a few challenges application security teams need to overcome first to ensure their programs fit seamlessly into CI/CD pipelines. -- [==bridgecrew.io: 6 key Kubernetes DevSecOps principles: People, processes, technology==](https://bridgecrew.io/blog/kubernetes-devsecops-principles/) +- [==bridgecrew.io: 6 key Kubernetes DevSecOps principles: People, processes, technology==](https://bridgecrew.io/blog/kubernetes-devsecops-principles/) - [==research.nccgroup.com: 10 real-world stories of how we’ve compromised CI/CD pipelines==](https://research.nccgroup.com/2022/01/13/10-real-world-stories-of-how-weve-compromised-ci-cd-pipelines/) - [thenewstack.io: SecOps in a Post-COVID World: 3 Security Trends to Watch](https://thenewstack.io/secops-in-a-post-covid-world-3-security-trends-to-watch/) - [==medium.com/microservices-learning: How to implement security for microservices==](https://medium.com/microservices-learning/how-to-implement-security-for-microservices-89b140d3e555) @@ -180,10 +180,10 @@ - Containers - Code - [sysdig.com: Triaging a Malicious Docker Container](https://sysdig.com/blog/triaging-malicious-docker-container/) Malicious Docker containers are a relatively new form of attack, taking advantage of an exposed Docker API or vulnerable host to do their evil plotting.​​ -- [blog.sonatype.com: Python Packages Upload Your AWS Keys, env vars, Secrets to the Web](https://blog.sonatype.com/python-packages-upload-your-aws-keys-env-vars-secrets-to-web) Last week, Sonatype discovered multiple Python packages that not only exfiltrate your secrets—AWS credentials and environment variables but rather upload these to a publicly exposed endpoint. These packages were discovered by Sonatype's automated malware detection system, offered as a part of Nexus platform products, including Nexus Firewall. +- [blog.sonatype.com: Python Packages Upload Your AWS Keys, env vars, Secrets to the Web](https://blog.sonatype.com/python-packages-upload-your-aws-keys-env-vars-secrets-to-web) Last week, Sonatype discovered multiple Python packages that not only exfiltrate your secrets—AWS credentials and environment variables but rather upload these to a publicly exposed endpoint. These packages were discovered by Sonatype's automated malware detection system, offered as a part of Nexus platform products, including Nexus Firewall. - [medium.com/@anshuman2121: DevSecOps: Implement security on CICD Pipeline](https://medium.com/@anshuman2121/devsecops-implement-security-on-cicd-pipeline-19eb7aa22626) - [medium.com/@jonathan_37674: What have we learned from scanning over 10K Kubernetes Clusters? 🌟](https://medium.com/@jonathan_37674/what-have-we-learned-from-scanning-over-10k-kubernetes-clusters-b0ac6b250427) Plan ahead and fight for fight misconfiguration and vulnerabilities across the SDLC with **KubeScape**, OS security platform providing a multi-cloud K8s single pane of glass. -- [bleepingcomputer.com: Over 900,000 Kubernetes instances found exposed online](https://www.bleepingcomputer.com/news/security/over-900-000-kubernetes-instances-found-exposed-online/) +- [bleepingcomputer.com: Over 900,000 Kubernetes instances found exposed online](https://www.bleepingcomputer.com/news/security/over-900-000-kubernetes-instances-found-exposed-online/) - Over 900,000 misconfigured Kubernetes clusters were found exposed on the internet to potentially malicious scans, some even vulnerable to data-exposing cyberattacks. - Kubernetes is a highly versatile open-source container orchestration system for hosting online services and managing containerized workloads via a uniform API interface. - It enjoys massive adoption and growth rates thanks to its scalability, flexibility in multi-cloud environments, portability, cost, app development, and system deployment time reductions. @@ -197,10 +197,11 @@ - [==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) +- [medium.com/google-cloud: Shifting (even further) Left on Kubernetes Resource Compliance](https://medium.com/google-cloud/shifting-even-further-left-on-kubernetes-resource-compliance-8f96fb8c72eb) Shifting left can help organizations optimize their use of fully-managed cloud environments and managed services, and tools like Open Policy Agent and Gatekeeper can help organizations ensure compliance in these environments ## Kubernetes Security Compliance Frameworks -- [==armosec.io: Kubernetes Security Compliance Frameworks== 🌟](https://www.armosec.io/blog/kubernetes-security-frameworks-and-guidance/) +- [==armosec.io: Kubernetes Security Compliance Frameworks== 🌟](https://www.armosec.io/blog/kubernetes-security-frameworks-and-guidance/) - The challenge of administering security and maintaining compliance in a Kubernetes ecosystem is typically the same: an increasingly dynamic, changing landscape, be it new approaches of cyberattacks or adhering to changing regulations. Kubernetes security requires a complex and multifaceted approach since an effective strategy needs to: - Ensure clean code - Provide full observability @@ -443,7 +444,7 @@ - [jfrog.com: How to protect your secrets with Spectral and JFrog Pipelines](https://jfrog.com/blog/how-to-protect-your-secrets-with-spectral-and-jfrog-pipelines/) - [github.com/keilerkonzept/aws-secretsmanager-files](https://pkg.go.dev/github.com/keilerkonzept/aws-secretsmanager-files) Writes AWS Secrets Manager secrets to files on disk. Single binary, no dependencies. osx & linux & windows. - [medium: How to Handle Secrets Like a Pro Using Gitops](https://medium.com/containers-101/how-to-handle-secrets-like-a-pro-using-gitops-f3b812536434) -- [youtube: Which of your Kubernetes Apps are accessing Secrets? 🌟](https://www.youtube.com/watch?v=6UF-QxiRGms&ab_channel=Kubevious) How do you know which apps across all your clusters are using Kubernetes Secrets? How are you sure that your secrets are not leaking? In the next 5 minutes, you will learn right that. +- [youtube: Which of your Kubernetes Apps are accessing Secrets? 🌟](https://www.youtube.com/watch?v=6UF-QxiRGms&ab_channel=Kubevious) How do you know which apps across all your clusters are using Kubernetes Secrets? How are you sure that your secrets are not leaking? In the next 5 minutes, you will learn right that. - [jenkins-x/gsm-controller](https://github.com/jenkins-x/gsm-controller) gsm-controller is a Kubernetes controller that copies secrets from Google Secrets Manager into Kubernetes secrets. The controller watches Kubernetes secrets looking for an annotation, if the annotation is not found on the secret nothing more is done. - [GoogleCloudPlatform/secrets-store-csi-driver-provider-gcp: Google Secret Manager Provider for Secret Store CSI Driver](https://github.com/GoogleCloudPlatform/secrets-store-csi-driver-provider-gcp) Google Secret Manager provider for the Secret Store CSI Driver. Allows you to access secrets stored in Secret Manager as files mounted in Kubernetes pods. - [devops.com: DevOps Teams Struggling to Keep Secrets](https://devops.com/devops-teams-struggling-to-keep-secrets/) A growing number of organizations are suffering security incidents related to exposed secrets in DevOps CI/CD pipelines, according to a recent ThycoticCentrify report. The study paints a troubling picture: Only 5% of survey respondents said most of their development teams use the same secrets management processes and tools. The incidents run the gamut, from secrets published in the clear in public cloud code repositories to insecure third-party code to vulnerabilities in the organization’s own code or configurations. @@ -463,13 +464,13 @@ - [medium: AWS Secret Manager: Protect sensitive information and functionality 🌟](https://medium.com/avmconsulting-blog/aws-secret-manager-protect-sensitive-information-and-functionality-f520e15293f4) Protect Your Secrets in ApplicationsSecrets are frequently used to protect sensitive information and functionality. - [blog.opstree.com: AWS Secret Manager](https://blog.opstree.com/2021/11/16/aws-secret-manager/) -- [aws/secrets-store-csi-driver-provider-aws: AWS Secrets Manager and Config Provider for Secret Store CSI Driver](https://github.com/aws/secrets-store-csi-driver-provider-aws) AWS offers two services to manage secrets and parameters conveniently in your code. [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/) allows you to easily rotate, manage, and retrieve database credentials, API keys, certificates, and other secrets throughout their lifecycle. [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) provides hierarchical storage for configuration data. The AWS provider for the [Secrets Store CSI Driver](https://github.com/kubernetes-sigs/secrets-store-csi-driver) allows you to make secrets stored in Secrets Manager and parameters stored in Parameter Store appear as files mounted in Kubernetes pods. +- [aws/secrets-store-csi-driver-provider-aws: AWS Secrets Manager and Config Provider for Secret Store CSI Driver](https://github.com/aws/secrets-store-csi-driver-provider-aws) AWS offers two services to manage secrets and parameters conveniently in your code. [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/) allows you to easily rotate, manage, and retrieve database credentials, API keys, certificates, and other secrets throughout their lifecycle. [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) provides hierarchical storage for configuration data. The AWS provider for the [Secrets Store CSI Driver](https://github.com/kubernetes-sigs/secrets-store-csi-driver) allows you to make secrets stored in Secrets Manager and parameters stored in Parameter Store appear as files mounted in Kubernetes pods. - [medium.com/@ishana98dadhich: Integrating AWS Secret Manager with EKS and use Secrets inside the Pods: Part-1](https://medium.com/@ishana98dadhich/integrating-aws-secret-manager-with-eks-and-use-secrets-inside-the-pods-part-1-1938b0c3c2fb) This blog provides you enough details on how you can use secrets (managed by AWS Secrets Manager) inside AWS EKS pods. - [==unixarena.com: Terraform – Source credentials from AWS secret Manager==](https://www.unixarena.com/2022/04/terraform-source-credentials-from-aws-secret-manager.html/) ### Password Hashing -- [pyca/bcrypt](https://github.com/pyca/bcrypt) Modern(-ish) password hashing for your software and your servers. +- [pyca/bcrypt](https://github.com/pyca/bcrypt) Modern(-ish) password hashing for your software and your servers. - [argon2-cffi](https://argon2-cffi.readthedocs.io) - [docs.python.org: scrypt (standard library)](https://docs.python.org/3/library/hashlib.html#hashlib.scrypt) - [cryptography.io: scrypt (cryptography)](https://cryptography.io/en/latest/hazmat/primitives/key-derivation-functions/#cryptography.hazmat.primitives.kdf.scrypt.Scrypt) @@ -530,6 +531,7 @@ - [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. +- [alexandre-vazquez.com: How To Inject Secrets in Pods To Improve Security with Hashicorp Vault in 5 Minutes 🌟](https://alexandre-vazquez.com/inject-secrets-in-pods-using-hashicorp-vault/) #### HashiCorp Vault Agent @@ -612,7 +614,7 @@ ### Sigstore - [==sigstore.dev==](https://www.sigstore.dev/) A new standard for signing, verifying and protecting software. Making sure your software’s what it claims to be. - - [youtube: Hands-on Introduction to sigstore | Rawkode Live](https://www.youtube.com/watch?v=fZfd4orrn8Y&ab_channel=RawkodeAcademy) In this tutorial, you’ll learn how to sign and verify container images with co-sign, with and without a private key. + - [youtube: Hands-on Introduction to sigstore | Rawkode Live](https://www.youtube.com/watch?v=fZfd4orrn8Y&ab_channel=RawkodeAcademy) In this tutorial, you’ll learn how to sign and verify container images with co-sign, with and without a private key. - [==opensource.com: Sign and verify container images with this open source tool (sigstore)==](https://opensource.com/article/21/12/sigstore-container-images) The sigstore project aims at securing supply chain technology. ### Container security best practices @@ -634,14 +636,17 @@ - [DevSecOps – Static Analysis SAST with Jenkins Pipeline](https://digitalvarys.com/devsecops-static-analysis-sast-with-jenkins-pipeline/) -## Kubernetes Security Tools +## Kubernetes Security Tools - [europeclouds.com: Implementing Aqua Security to Secure Kubernetes](https://www.europeclouds.com/blog/implementing-aqua-security-to-secure-kubernetes) - [Pomerium](https://github.com/pomerium/pomerium) is an identity-aware proxy that enables secure access to internal applications. Pomerium brings consistent authz/authn, tooling, and auditing across cloud and on-premise deployments. No VPN or cloud provider account is required - [cloud.redhat.com: Top Open Source Kubernetes Security Tools of 2021 🌟🌟](https://cloud.redhat.com/blog/top-open-source-kubernetes-security-tools-of-2021) - [fluentbit.io](https://fluentbit.io) Fluent Bit is an open source Log Processor and Forwarder which allows you to collect any data like metrics and logs from different sources, enrich them with filters and send them to multiple destinations. It's the preferred choice for containerized environments like Kubernetes. - [falco.org: Detect Malicious Behaviour on Kubernetes API Server through gathering Audit Logs by using FluentBit - Part 2](https://falco.org/blog/detect-malicious-behaviour-on-kubernetes-api-server-through-gathering-audit-logs-by-using-fluentbit-part-2/) - +- [kubearmor.io](https://kubearmor.io/) Runtime protection for Kubernetes & other cloud Workloads. KubeArmor uses eBPF and Linux Security Modules (LSM) to provide policy based system +to restrict any unwanted, malicious behavior of cloud-native workloads at runtime. + - [itnext.io: Protecting Your Kubernetes Environment With KubeArmor](https://itnext.io/protecting-your-kubernetes-environment-with-kubearmor-76b02fc2209b) + ## Helm Charts Security. Helm Secrets - [medium: Who’s at the Helm?](https://dlorenc.medium.com/whos-at-the-helm-1101c37bf0f1) Or, how to deploy 25+ CVEs to prod in one command! @@ -659,7 +664,7 @@ ## PKI -- [==devops.com: How to Automate PKI for DevOps With Open Source Tools==](https://devops.com/how-to-automate-pki-for-devops-with-open-source-tools/) The ultimate goal of PKI for DevOps is to provision PKI credentials for business applications without hard-coded secrets, which is one less risk to concern the security team. The goal of DevOps for PKI is to automatically deploy a completely configured PKI solution, which is one less roadblock for DevOps teams. +- [==devops.com: How to Automate PKI for DevOps With Open Source Tools==](https://devops.com/how-to-automate-pki-for-devops-with-open-source-tools/) The ultimate goal of PKI for DevOps is to provision PKI credentials for business applications without hard-coded secrets, which is one less risk to concern the security team. The goal of DevOps for PKI is to automatically deploy a completely configured PKI solution, which is one less roadblock for DevOps teams. ## Network Intrusion Tools @@ -667,6 +672,8 @@ ## Other Security Tools +- [itnext.io: Top 6 Threat Detection Tools for Containers](https://itnext.io/top-6-threat-detection-tools-for-containers-3dd80b77777e) Essentials to Securing Threats for Containerized Cloud-Native Applications + ### Torq. No code Security Automation - https://torq.io No-code Security Automation @@ -691,7 +698,7 @@ - [medium: CVE-2021–44228: finding Log4j vulnerable k8s pods with bash & trivy](https://medium.com/linkbynet/cve-2021-44228-finding-log4j-vulnerable-k8s-pods-with-bash-trivy-caa10905744d) - [sysdig.com: Mitigating log4j with Runtime-based Kubernetes Network Policies](https://sysdig.com/blog/mitigating-log4j-kubernetes-network-policies/) - [github.com/aws-samples: Apache Log4j2 CVE-2021-44228 node agent](https://github.com/aws-samples/kubernetes-log4j-cve-2021-44228-node-agent) AWS has developed an RPM that performs a JVM-level hot-patch which disables JNDI lookups from the Log4j2 library, mitigating Log4j2 CVE-2021-44228. **The Apache Log4j2 CVE-2021-44228 node agent is an open source project built by the Kubernetes team at AWS. It is designed to run as a DaemonSet and mitigate the impact of Log4j2 CVE-2021-44228, which affects applications running Apache Log4j2 versions < 2.15.0 when processing inputs from untrusted sources. Running this DeamonSet will patch JVMs running in containers as well as on the host.** -- [proferosec/log4jScanner](https://github.com/proferosec/log4jScanner) This tool provides you with the ability to scan internal (only) subnets for vulnerable log4j web services. +- [proferosec/log4jScanner](https://github.com/proferosec/log4jScanner) This tool provides you with the ability to scan internal (only) subnets for vulnerable log4j web services. - [Apache Log4j Security Vulnerabilities](https://logging.apache.org/log4j/2.x/security.html) - [cloud.redhat.com: Log4Shell: Practical Mitigations and Impact Analysis of the Log4j Vulnerabilities](https://cloud.redhat.com/blog/log4shell-practical-mitigations-and-impact-analysis) - [edition.cnn.com: The Log4j security flaw could impact the entire internet. Here's what you should know](https://edition.cnn.com/2021/12/15/tech/log4j-vulnerability/index.html) diff --git a/docs/docker.md b/docs/docker.md index f245e1fb..22497627 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -1,31 +1,33 @@ # Docker 1. [Introduction and Tutorials](#introduction-and-tutorials) -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) +2. [Docker Best Practices](#docker-best-practices) +3. [Docker Volumes](#docker-volumes) +4. [Debugging](#debugging) +5. [Docker CLI](#docker-cli) +6. [Docker Extensions](#docker-extensions) +7. [Docker Swarm](#docker-swarm) +8. [Awesome Lists](#awesome-lists) +9. [Docker VS Kubernetes](#docker-vs-kubernetes) +10. [Docker Patterns and Antipatterns](#docker-patterns-and-antipatterns) +11. [Docker Security](#docker-security) +12. [How To Build a Smaller Docker Image and write dockerfiles efficiently](#how-to-build-a-smaller-docker-image-and-write-dockerfiles-efficiently) +13. [Reducing Build Time](#reducing-build-time) +14. [Modify containers without rebuilding](#modify-containers-without-rebuilding) +15. [Docker Tools](#docker-tools) +16. [Docker and WSL2](#docker-and-wsl2) +17. [Docker and Docker Swarm Cheat sheets](#docker-and-docker-swarm-cheat-sheets) +18. [Docker Compose](#docker-compose) +19. [Moving Linux Services Into Containers](#moving-linux-services-into-containers) +20. [Windows Containers](#windows-containers) +21. [Portainer](#portainer) +22. [DockStation](#dockstation) +23. [Linux Container Base Images](#linux-container-base-images) +24. [Blogs](#blogs) +25. [Cloud Native Buildpacks](#cloud-native-buildpacks) +26. [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) +27. [Videos and Podcasts](#videos-and-podcasts) +28. [Tweets](#tweets) ## Introduction and Tutorials @@ -37,14 +39,11 @@ - [medium.freecodecamp.com: A Beginner-Friendly Introduction to Containers, VMs and Docker](https://medium.freecodecamp.com/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b) - [Google Play: Learning Solution - Learn Docker 🌟](https://play.google.com/store/apps/details?id=com.LearningSolution.LearnDocker&hl=en) - [Play with docker 🌟](https://labs.play-with-docker.com/) A simple, interactive and fun playground to learn Docker -- [blog.docker.com: Intro Guide to Dockerfile Best Practices 🌟](https://blog.docker.com/2019/07/intro-guide-to-dockerfile-best-practices/) - [medium: Strategies of docker images optimization](https://medium.com/sciforce/strategies-of-docker-images-optimization-2ca9cc5719b6) - [Dzone: Docker explained, an introductory guide to docker](https://dzone.com/articles/docker-explained-an-introductory-guide-to-docker) - [Dzone: everything you need to know about docker](https://dzone.com/articles/everything-you-need-to-know-about-docker) - [Dzone: a start to finish guide to docker with java](https://dzone.com/articles/a-start-to-finish-guide-to-docker-with-java) -- [docker.com: Intro Guide to Dockerfile Best Practices](https://www.docker.com/blog/intro-guide-to-dockerfile-best-practices/) - [**GitHub build-push-action**](https://github.com/docker/build-push-action) Build+push official Docker GitHub action -- [docker.com: Speed Up Your Development Flow With These Dockerfile Best Practices](https://www.docker.com/blog/speed-up-your-development-flow-with-these-dockerfile-best-practices/) - [itnext.io: Getting Started with Docker: Facts You Should Know 🌟](https://itnext.io/getting-started-with-docker-facts-you-should-know-d000e5815598) - [jfrog.com: A Beginner’s Guide to Understanding and Building Docker Images 🌟](https://jfrog.com/knowledge-base/a-beginners-guide-to-understanding-and-building-docker-images/) - [Broken by default: why you should avoid most Dockerfile example 🌟](https://pythonspeed.com/articles/dockerizing-python-is-hard/) @@ -58,7 +57,6 @@ - [docs.docker.com: Deploying Docker containers on ECS](https://docs.docker.com/engine/context/ecs-integration/) - [AWS and Docker collaborate to simplify the developer experience](https://aws.amazon.com/blogs/containers/aws-docker-collaborate-simplify-developer-experience/) - [From Docker Straight to AWS](https://www.docker.com/blog/from-docker-straight-to-aws/) -- [medium: Understanding Docker Volumes, Mounts and Layers and How to Manage Data in Containers](https://medium.com/nycdev/understanding-docker-volumes-mounts-and-layers-9fa17befa493) - [A Gentle Introduction to Using a Docker Container as a Dev Environment](https://css-tricks.com/a-gentle-introduction-to-using-a-docker-container-as-a-dev-environment/) - [martinheinz.dev: It's Time to Forget About Docker 🌟](https://martinheinz.dev/blog/35) - [docker.com: Docker Hub Experimental CLI tool](https://www.docker.com/blog/docker-hub-experimental-cli-tool/) @@ -71,7 +69,6 @@ - [docker.com: Containerized Python Development – Part 1](https://www.docker.com/blog/containerized-python-development-part-1/) - [docker.com: Containerized Python Development – Part 2](https://www.docker.com/blog/containerized-python-development-part-2/) - [docker.com: Containerized Python Development – Part 3](https://www.docker.com/blog/containerized-python-development-part-3/) -- [sysdig.com: Top 20 Dockerfile best practices 🌟](https://sysdig.com/blog/dockerfile-best-practices/) - [pythonspeed.com: The worst so-called “best practice” for Docker](https://pythonspeed.com/articles/security-updates-in-docker/) - [developers.redhat.com: Making environment variables accessible in front-end containers](https://developers.redhat.com/blog/2021/03/04/making-environment-variables-accessible-in-front-end-containers/) - [towardsdatascience.com: Have you heard about our lord and savior Docker?](https://towardsdatascience.com/docker-101-ee3d2b8ace11) Introduction to working with Docker and creating your own development environment @@ -116,13 +113,11 @@ - [dev.to: How to create a production Docker image](https://dev.to/abdorah/how-to-create-production-docker-image-ready-for-deployment-4bbe) - [dev.to: How to run docker on Windows without Docker Desktop](https://dev.to/_nicolas_louis_/how-to-run-docker-on-windows-without-docker-desktop-hik) - [dev.to: Beginner's guide to Docker and Docker CLI commands](https://dev.to/paru429/beginner-s-guide-to-docker-and-docker-cli-commands-1p75) -- [testdriven.io: Docker Best Practices for Python Developers](https://testdriven.io/blog/docker-best-practices/) - [freecodecamp.org: Learn How to Deploy 12 Apps to AWS, Azure, & Google Cloud](https://www.freecodecamp.org/news/learn-how-to-deploy-12-apps-to-aws-azure-google-cloud/) - [cloudsavvyit.com: How to Assign a Static IP to a Docker Container](https://www.cloudsavvyit.com/14508/how-to-assign-a-static-ip-to-a-docker-container/) - [cloudsavvyit.com: How to Inspect a Docker Image’s Content Without Starting a Container](https://www.cloudsavvyit.com/14663/how-to-inspect-a-docker-images-content-without-starting-a-container/) - [freecodecamp.org: Why You Should Start Using Docker Right Now](https://www.freecodecamp.org/news/why-you-should-start-using-docker-now/) - [infoworld.com: Docker really did change the world](https://www.infoworld.com/article/3639596/docker-really-did-change-the-world.html) Developers quickly understood the value of containers for building cloud-native applications, and that the Docker command-line tool was better than all of the bells and whistles they got with PaaS. -- [==dev.to: Top 8 Docker Best Practices for using Docker in Production== 🌟](https://dev.to/techworld_with_nana/top-8-docker-best-practices-for-using-docker-in-production-1m39) - [cloudsavvyit.com: How (and Why) to Run Docker Inside Docker](https://www.cloudsavvyit.com/14890/how-and-why-to-run-docker-inside-docker/) - [cloudsavvyit.com: What’s the Difference Between Exposing and Publishing a Docker Port?](https://www.cloudsavvyit.com/14880/whats-the-difference-between-exposing-and-publishing-a-docker-port/) - [==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. @@ -131,7 +126,6 @@ - [==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) - [thenewstack.io: How to Share Data Between Docker Containers](https://thenewstack.io/how-to-share-data-between-docker-containers/) - [iximiuz.com: Containers 101: attach vs. exec - what's the difference?](https://iximiuz.com/en/posts/containers-101-attach-vs-exec/) - [acloudguru.com: Docker COPY vs ADD: What’s the difference?](https://acloudguru.com/blog/engineering/docker-copy-vs-add-whats-the-difference) @@ -139,7 +133,6 @@ - [mjovanc.com: Get started with Docker and Docker Compose](https://mjovanc.com/get-started-with-docker-and-docker-compose-cddcb5a3f3b9) - [dev.to: Docker: Explained to a 5 year old. 👶🏻](https://dev.to/dhravya/docker-explained-to-a-5-year-old-2cbg) - [nishnit007.medium.com: A Journey from Dockerfile to Application Deployment on Kubernetes For Beginners](https://nishnit007.medium.com/a-journey-from-dockerfile-to-application-deployment-on-kubernetes-for-beginners-fea1eb0f3581) -- [==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) - [blog.devgenius.io: K8s — Advanced Container Knowledge](https://blog.devgenius.io/k8s-advanced-container-knowledge-fcc45a2f6db8) @@ -149,7 +142,6 @@ - [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 @@ -161,6 +153,26 @@ - [medium.com/@i180826: Using Docker to build React App](https://medium.com/@i180826/using-docker-to-build-react-app-49862615e6f8) - [dev.to: Simplify Your Dockerfile wiyth Rust programming language| Kamesh Sampath](https://dev.to/kameshsampath/simplify-your-dockerfile-1j5k) - [itprotoday.com: Is Docker Still Worth Learning for IT Operations Teams? Probably Not](https://www.itprotoday.com/it-operations/docker-still-worth-learning-it-operations-teams-probably-not) While Docker isn't dead, Docker tooling may be. Here's why learning Docker tools isn't as important as it once was, especially for ITOps teams. +- [kennybrast.medium.com: How I Used Docker to Create a Python Dev Environment](https://kennybrast.medium.com/how-i-used-docker-to-create-a-python-dev-environment-48a5d31ae277) +- [==youtube: Docker 101 (Workshop) how an application can be run using Docker containers. First, you'll learn how to take an application all the way from source code to a running container. Docker-compose, networking, multi-stage and more== 🌟](https://www.youtube.com/watch?v=0mxhS7H6bxM) + +## Docker Best Practices + +- [blog.docker.com: Intro Guide to Dockerfile Best Practices 🌟](https://blog.docker.com/2019/07/intro-guide-to-dockerfile-best-practices/) +- [docker.com: Intro Guide to Dockerfile Best Practices](https://www.docker.com/blog/intro-guide-to-dockerfile-best-practices/) +- [docker.com: Speed Up Your Development Flow With These Dockerfile Best Practices](https://www.docker.com/blog/speed-up-your-development-flow-with-these-dockerfile-best-practices/) +- [sysdig.com: Top 20 Dockerfile best practices 🌟](https://sysdig.com/blog/dockerfile-best-practices/) +- [testdriven.io: Docker Best Practices for Python Developers](https://testdriven.io/blog/docker-best-practices/) +- [==dev.to: Top 8 Docker Best Practices for using Docker in Production== 🌟](https://dev.to/techworld_with_nana/top-8-docker-best-practices-for-using-docker-in-production-1m39) +- [dev.to: Top 5 Docker Best Practices](https://dev.to/karanpratapsingh/top-5-docker-best-practices-57oh) +- [==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/) +- [faun.pub: Dockerfile Best Practices for Developers | Pavan Belagatti](https://faun.pub/dockerfile-best-practices-for-developers-87a2c19b4abe) +- [azeynalli1990.medium.com: 15 Best Practices when working with Docker](https://azeynalli1990.medium.com/15-best-practices-when-working-with-docker-720d2d8de202) + +## Docker Volumes + +- [medium: Understanding Docker Volumes, Mounts and Layers and How to Manage Data in Containers](https://medium.com/nycdev/understanding-docker-volumes-mounts-and-layers-9fa17befa493) +- [spacelift.io: Docker Volumes – Guide with Examples](https://spacelift.io/blog/docker-volumes) Volumes are a mechanism for storing data outside containers. All volumes are managed by Docker & stored in dedicated directory on your host, usually /var/lib/docker/volumes for Linux systems ## Debugging @@ -194,6 +206,7 @@ - [Awesome Docker 🌟](https://github.com/veggiemonk/awesome-docker) - [Awesome Compose 🌟](https://github.com/docker/awesome-compose) +- [github.com/pabpereza/curated-dockerfiles-examples: Curated Dockerfiles examples](https://github.com/pabpereza/curated-dockerfiles-examples) Public repository dedicated to guide the use of multi-stage and distroless dockerfile examples in docker, or other containers technologies, with the objetive to create secured templates for new developments ## Docker VS Kubernetes @@ -223,7 +236,7 @@ - [infosecwriteups.com: Attacking and securing Docker containers](https://infosecwriteups.com/attacking-and-securing-docker-containers-cc8c80f05b5b) - [securitylabs.datadoghq.com: Container security fundamentals: Exploring containers as processes](https://securitylabs.datadoghq.com/articles/container-security-fundamentals-part-1/) -## How To Build a Smaller Docker Image +## How To Build a Smaller Docker Image and write dockerfiles efficiently - [developers.redhat.com: Keep it small: a closer look at Docker image sizing](https://developers.redhat.com/blog/2016/03/09/more-about-docker-images-size/) - [medium: How to build a smaller Docker image](https://medium.com/@gdiener/how-to-build-a-smaller-docker-image-76779e18d48a) When you’re building a Docker image it’s important to keep the size under control. Having small images means ensuring faster deployment and transfers. @@ -241,6 +254,8 @@ - [==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/) +- [==medium.com/vantageai: How to make your Python Docker images secure, fast & small== 🌟](https://medium.com/vantageai/how-to-make-your-python-docker-images-secure-fast-small-b3a6870373a0) Exploring Image Layers and Implementing Multistage Builds +- [blog.devgenius.io: DevOps in K8s — Write Dockerfile Efficiently 🌟](https://blog.devgenius.io/devops-in-k8s-write-dockerfile-efficiently-37eaedf87163) ## Reducing Build Time @@ -278,6 +293,9 @@ PHP Docker Image for Cloud Native Deployments (and Kubernetes) - [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.com: Docker and Ambassador Labs Announce Telepresence for Docker, Improving the Kubernetes Development Experience== 🌟](https://www.docker.com/blog/telepresence-for-docker/) - [==telepresence for docker==](https://www.docker.com/products/telepresence-for-docker/) + - Telepresence for Docker simplifies how teams develop and test on Kubernetes. This Kubernetes development tool seamlessly creates a remote-to-local dev environment, so your teams can enjoy the ease and flexibility of local development with the collaboration and integration of a cloud development cluster. + - You don’t need to be a Kubernetes expert, deal with K8s configuration or maintenance, or turn to expensive cloud virtual machines for your developers to quickly and efficiently develop on K8s. Telepresence for Docker is Kubernetes development simplified. ## Docker and WSL2 @@ -372,6 +390,7 @@ PHP Docker Image for Cloud Native Deployments (and Kubernetes) + diff --git a/docs/finops.md b/docs/finops.md index 0cbce011..a52db457 100644 --- a/docs/finops.md +++ b/docs/finops.md @@ -3,14 +3,15 @@ 1. [Introduction](#introduction) 2. [Compute Cost Calculator](#compute-cost-calculator) 3. [AWS Cost Optimizations](#aws-cost-optimizations) -4. [Kubernetes Cost Optimization](#kubernetes-cost-optimization) -5. [Licence Managers](#licence-managers) -6. [EKS](#eks) -7. [Books](#books) -8. [Kubernetes Governance and Cost Management for the Cloud-Native Enterprise](#kubernetes-governance-and-cost-management-for-the-cloud-native-enterprise) +4. [Azure Cost Governance](#azure-cost-governance) +5. [Kubernetes Cost Optimization](#kubernetes-cost-optimization) +6. [Licence Managers](#licence-managers) +7. [EKS](#eks) +8. [Books](#books) +9. [Kubernetes Governance and Cost Management for the Cloud-Native Enterprise](#kubernetes-governance-and-cost-management-for-the-cloud-native-enterprise) 1. [Replex](#replex) -9. [Cost Optimization Tools](#cost-optimization-tools) -10. [Tweets](#tweets) +10. [Cost Optimization Tools](#cost-optimization-tools) +11. [Tweets](#tweets) ## Introduction @@ -43,6 +44,8 @@ - [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/) - [aws.amazon.com: Four Principles of Cloud Financial Management Small and Medium Business Owners Need to Know](https://aws.amazon.com/blogs/smb/four-principles-of-cloud-financial-management-small-and-medium-business-owners-need-to-know/) +- [logz.io: FinOps Observability: Monitoring Kubernetes Cost](https://logz.io/blog/finops-observability-monitoring-kubernetes-cost/) +- [medium.com/adeo-tech: How to save money fast with Kubernetes — Do FinOps](https://medium.com/adeo-tech/how-to-save-money-fast-with-kubernetes-do-finops-3a9cafc9beba) In this article, you will learn how to reduce your cloud bill and some tips on cloud infrastructure optimization ## Compute Cost Calculator @@ -54,12 +57,17 @@ - [medium.com/@tarunbehal02: AWS Cost Optimizations : My Learnings](https://medium.com/@tarunbehal02/aws-cost-optimizations-my-learnings-fcdc14da1f58) +## Azure Cost Governance + +- [info.microsoft.com: The Road to Azure Cost Governance](https://info.microsoft.com/ww-landing-the-road-to-azure-cost-governance-e-book.html) Learn how to gain full control of your Azure costs by creating a continuous cost governance and optimization process. This comprehensive Packt e-book covers essential topics like cloud cost management and sustainable modeling of cloud expenses. + ## 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. +- [medium.com/develeap: Cutting down Kubernetes Costs: Cast.ai vs. Karpenter](https://medium.com/develeap/cutting-down-kubernetes-costs-cast-ai-vs-karpenter-20f6788b4c67) ## Licence Managers diff --git a/docs/freelancing.md b/docs/freelancing.md index eb14eb6d..ccf72739 100644 --- a/docs/freelancing.md +++ b/docs/freelancing.md @@ -28,23 +28,23 @@ - [eleconomista.es: Estas son las cuotas de los autónomos a la Seguridad Social y los derechos que garantizan](https://www.eleconomista.es/economia/noticias/11368404/08/21/Estas-son-las-cuotas-de-los-autonomos-a-la-Seguridad-Social-y-los-derechos-que-garantizan.html) - [eleconomista.es: Estos son los gastos de los autónomos que no se pueden deducir en el IVA](https://www.eleconomista.es/economia/noticias/11390425/09/21/Estos-son-los-gastos-de-los-autonomos-que-no-se-pueden-deducir-en-el-IVA.html) - [eleconomista.es: La ayuda del SEPE a los autónomos: así pueden cobrar el paro a la vez que trabajan](https://www.eleconomista.es/economia/noticias/11391909/09/21/La-ayuda-del-SEPE-a-los-autonomos-asi-pueden-cobrar-el-paro-a-la-vez-que-trabajan.html) -- [noticiastrabajo.es: Así pueden los autónomos retrasar el pago de los intereses de los créditos ICO](https://www.noticiastrabajo.es/como-deben-autonomos-retrasar-pago-intereses-creditos-ico/) +- [noticiastrabajo.es: Así pueden los autónomos retrasar el pago de los intereses de los créditos ICO](https://www.noticiastrabajo.es/como-deben-autonomos-retrasar-pago-intereses-creditos-ico/) - [autonomosyemprendedor.es: Los autónomos no sólo deben presentar el IVA en octubre, hay más obligaciones tributarias este mes](https://www.autonomosyemprendedor.es/articulo/tus-finanzas/autonomos-solo-deben-presentar-iva-octubre-mas-obligaciones-tributarias-mes/20210927125637025167.html) - [xataka.com: La Seguridad Social crea una app móvil para gestionar la nueva cuota de autónomos: permitirá cambiar de tramo mensualmente](https://www.xataka.com/pro/seguridad-social-crea-app-movil-para-gestionar-nueva-cuota-autonomos-permitira-cambiar-tramo-mensualmente-ingresos) - [diariocordoba.com: «Ser autónomo en España sigue siendo una profesión de riesgo»](https://www.diariocordoba.com/cordoba-ciudad/2021/12/26/autonomo-espana-sigue-profesion-riesgo-61023753.html) - [blog.xolo.io: ¿Es rentable ser autónomo en España?](https://blog.xolo.io/es/es-rentable-ser-aut%C3%B3nomo-en-espa%C3%B1a) - [marinaaisa.com: Trabajar en remoto desde España como 'contractor'](https://marinaaisa.com/es/blog/contractor-eeuu-espana/) Una opción alternativa para impulsarte a una carrera internacional sin tener que mudarte fuera de España pudiendo trabajar en remoto. - [billin.net: Cómo ser freelance en España en 2022](https://www.billin.net/blog/como-ser-freelance/) -- [cincodias.elpais.com: El teletrabajo impulsa la oferta de ‘freelance’](https://cincodias.elpais.com/cincodias/2022/02/08/fortunas/1644336556_587972.html) +- [cincodias.elpais.com: El teletrabajo impulsa la oferta de ‘freelance’](https://cincodias.elpais.com/cincodias/2022/02/08/fortunas/1644336556_587972.html) ### Advisory. Asesorías -- [Acento: Cooperativa de freelance](https://acentocoop.es) +- [Acento: Cooperativa de freelance](https://acentocoop.es) - [declarando.es](https://declarando.es) Asesoría para autónomos ## Top Freelancing Platforms -- [malt 🌟](https://www.malt.com/) +- [malt 🌟](https://www.malt.com/) - [upper 🌟](https://upper.co) Europe’s top product & tech professionals, on demand - [upwork 🌟](https://www.upwork.com/) - [freelancer 🌟](https://www.freelancer.com/) @@ -67,12 +67,13 @@ - [certace](https://www.certace.com/) - [hellobonsai](https://www.hellobonsai.com/) - [remoteone](https://remote.one/) +- [BairesDev](https://www.bairesdev.com/join-us/) We are a nearshore software outsourcing company, 100% remote, and we are always looking for the best tech talent. ## Alternatives. Contractor Management / Umbrella Company solutions -- If you are not earning substantial amounts of money, Umbrella Companies are a cheaper option than being self-employed in Spain. They generate invoices for you, pay social security, deduct tax and file your tax return at the end of the year. +- If you are not earning substantial amounts of money, Umbrella Companies are a cheaper option than being self-employed in Spain. They generate invoices for you, pay social security, deduct tax and file your tax return at the end of the year. - They offer solutions across Europe, the Middle East and Africa. -- Most of the time the umbrella company will want you to work as a freelancer. Otherwise it's a B2B contract between the umbrella company and the client, raising the invoices to the client (they will probably reject it). +- Most of the time the umbrella company will want you to work as a freelancer. Otherwise it's a B2B contract between the umbrella company and the client, raising the invoices to the client (they will probably reject it). - [paystream.co.uk: What is an umbrella company?](https://www.paystream.co.uk/umbrella/what-is-an-umbrella-company/) - [umbrellaselector.com/Spain](http://umbrellaselector.com/Spain) - [freelance.es](https://freelance.es/) Work like an umbrella company @@ -82,8 +83,8 @@ - https://6catsint.com - https://accessfinancial.com -- https://groupchesterfield.com/umbrella-services/ -- https://pixie-services.com +- https://groupchesterfield.com/umbrella-services/ +- https://pixie-services.com ## Tweets diff --git a/docs/git.md b/docs/git.md index 391dae89..a2e82649 100644 --- a/docs/git.md +++ b/docs/git.md @@ -1,17 +1,19 @@ # Git and Patterns for Managing Source Code Branches. Merge BOTs 1. [Git Distributed Version-Control System](#git-distributed-version-control-system) -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) +2. [Git Releases](#git-releases) +3. [Git stash](#git-stash) +4. [Git Squash](#git-squash) +5. [Git Branches](#git-branches) +6. [Git Aliases](#git-aliases) +7. [Git and GitHub Backup](#git-and-github-backup) +8. [Cherry-picking](#cherry-picking) +9. [Git Submodules](#git-submodules) +10. [Shields](#shields) +11. [Design By Contract](#design-by-contract) +12. [Git Cheat Sheets](#git-cheat-sheets) +13. [Monorepo VS Polyrepo](#monorepo-vs-polyrepo) +14. [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) @@ -21,11 +23,11 @@ 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) +15. [Git Commands](#git-commands) +16. [BitBucket](#bitbucket) +17. [GitLab](#gitlab) 1. [GitLab Collective](#gitlab-collective) -16. [GitHub](#github) +18. [GitHub](#github) 1. [GitHub Lab](#github-lab) 2. [GitHub Code Scanner](#github-code-scanner) 3. [GitHub Actions](#github-actions) @@ -33,15 +35,17 @@ 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) + 2. [GitHub Copilot X](#github-copilot-x) + 3. [Alternatives](#alternatives) + 1. [CodiumAI](#codiumai) +19. [Gitea](#gitea) +20. [Sapling](#sapling) +21. [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) +22. [Azure DevOps (formerly known as VSTS)](#azure-devops-formerly-known-as-vsts) +23. [Pre Commit Hooks](#pre-commit-hooks) +24. [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) @@ -52,9 +56,9 @@ 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) +25. [Videos](#videos) +26. [Slides](#slides) +27. [Tweets](#tweets) ## Git Distributed Version-Control System @@ -90,7 +94,6 @@ - [Things You Want to Do in Git and How to Do Them](https://stu2b50.dev/posts/things-you-wante9665) - [livecodestream.dev: Git Concepts and Workflow for Beginners](https://livecodestream.dev/post/2020-08-21-git-concepts-and-workflow-for-beginners/) - [thenextweb.com: A beginner’s guide to the most popular Git commands](https://thenextweb.com/syndication/2020/09/02/a-beginners-guide-to-the-most-popular-git-commands/) -- [devroom.io: Git Squash your latests commits into one](https://www.devroom.io/2011/07/05/git-squash-your-latests-commits-into-one/) - [julien.danjou.info: Stop merging your pull requests manually 🌟](https://julien.danjou.info/stop-merging-your-pull-request-manually/) -> [mergify 🌟](https://mergify.io/) - [gitlab.com: How to keep your Git history clean with interactive rebase](https://about.gitlab.com/blog/2020/11/23/keep-git-history-clean-with-interactive-rebase/) Interactive rebase is one of Git’s most versatile tools. Here's how to use it to correct commit messages, fix mistakes, and more. - [gitkraken.com: Git Tutorials: Instructional Training Videos 🌟](https://www.gitkraken.com/learn/git/tutorials) @@ -122,7 +125,6 @@ - [livecodestream.dev: Five Advanced Git Concepts that Make You Look Like a Pro](https://livecodestream.dev/post/five-advanced-git-concepts-that-make-you-look-like-a-pro/) Learn how to master GIT with these 5 advanced concepts - [cloudbees.com: Git Pull: How It Works With Detailed Examples](https://www.cloudbees.com/blog/git-pull-how-it-works-with-detailed-examples) - [midu.dev: Buenas prácticas para escribir commits en Git](https://midu.dev/buenas-practicas-escribir-commits-git/) -- [cloudbees.com: Git Squash: How to Condense Your Commit History](https://www.cloudbees.com/blog/git-squash-how-to-condense-your-commit-history) - [cloudbees.com: Git Push: An In-Depth Tutorial With Examples](https://www.cloudbees.com/blog/git-push-an-in-depth-tutorial-with-examples) - [blog.annamcdougall.com: Git Workflow Tutorial: Start Using Git TODAY with Basic Git Commands](https://blog.annamcdougall.com/git-workflow-tutorial-start-using-git-today-with-basic-git-commands-ckdc1nvfs02zp66s1d4zydz47) - [thenewstack.io: Git for Managing Small Projects 🌟](https://thenewstack.io/git-for-managing-small-projects/) @@ -173,6 +175,13 @@ - [polarsquad.com: Stop doing pull requests](https://polarsquad.com/blog/stop-doing-pull-requests) - [medium.com/@datosh18: Gitsign in remote environments](https://medium.com/@datosh18/gitsign-in-remote-environments-6f40f47d289f) - [medium.com/qe-unit: How Google Does Monorepo (Revisited)](https://medium.com/qe-unit/how-google-does-monorepo-revisited-8c793be20344) +- [dev.to: How atomic Git commits dramatically increased my productivity - and will increase yours too 🌟](https://dev.to/samuelfaure/how-atomic-git-commits-dramatically-increased-my-productivity-and-will-increase-yours-too-4a84) +- [==dev.to: Git fundamentals, a complete guide | Leandro Proença== 🌟🌟](https://dev.to/leandronsp/git-fundamentals-a-complete-guide-do7) +- [freecodecamp.org: Undo Git Add – How to Remove Added Files in Git 🌟](https://www.freecodecamp.org/news/undo-git-add-how-to-remove-added-files-in-git/) + +## Git Releases + +- [github.blog: Highlights from Git 2.40](https://github.blog/2023-03-13-highlights-from-git-2-40/) The first Git release of the year is here! Take a look at some of our highlights on what's new in Git 2.40. ## Git stash @@ -180,6 +189,12 @@ - [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 Squash + +- [cloudbees.com: Git Squash: How to Condense Your Commit History](https://www.cloudbees.com/blog/git-squash-how-to-condense-your-commit-history) +- [devroom.io: Git Squash your latests commits into one](https://www.devroom.io/2011/07/05/git-squash-your-latests-commits-into-one/) +- [freecodecamp.org: Git Squash Commits – Squashing the Last N Commits into One Commit](https://www.freecodecamp.org/news/git-squash-commits/) + ## Git Branches - [==learngitbranching.js.org: Learn Git Branching== 🌟](https://learngitbranching.js.org/) An interactive Git visualization tool to educate and challenge! @@ -605,17 +620,26 @@ git rebase -i HEAD~5 - [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.blog: GitHub Copilot X: The AI-powered developer experience](https://github.blog/2023-03-22-github-copilot-x-the-ai-powered-developer-experience/) GitHub Copilot is evolving to bring chat and voice interfaces, support pull requests, answer questions on docs, and adopt OpenAI’s GPT-4 for a more personalized developer experience. #### 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) +#### GitHub Copilot X + +- [computerhoy.com: GitHub Copilot X: así es la nueva IA parecida a ChatGPT y destinada a ayudar a programadores](https://computerhoy.com/software/github-copilot-x-nueva-ia-parecida-chatgpt-destinada-ayudar-programadores-1219266) + #### 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 +##### CodiumAI + +- [codium.ai: We’ve launched CodiumAI powered by TestGPT and raised $11M. Here’s why](https://www.codium.ai/blog/codiumai-powered-by-testgpt-accounces-beta-and-raised-11m/) + ## Gitea - [Gitea](https://gitea.com/) @@ -638,6 +662,7 @@ git rebase -i HEAD~5 - [Visual Studio Code (Git Extensions)](visual-studio.md) - [Visual Studio Online](https://visualstudio.microsoft.com/services/visual-studio-codespaces/) - [git-lfs/git-lfs: Git Large File Storage](https://github.com/git-lfs/git-lfs) Git extension for versioning large files +- [==github.com/MichaelMure/git-bug==](https://github.com/MichaelMure/git-bug) **Distributed, offline-first bug tracker embedded in git, with bridges** ### Git Credential Manager @@ -768,6 +793,7 @@ Automate them. + ## Slides diff --git a/docs/gitops.md b/docs/gitops.md index 443b0c0a..1bcefb94 100644 --- a/docs/gitops.md +++ b/docs/gitops.md @@ -176,6 +176,9 @@ - Faster deployment - Better collaboration - [==dzone: The Essentials of GitOps== 🌟](https://dzone.com/refcardz/the-essentials-of-gitops) +- [blog.devops.dev: GitOps — Fundamentals Part 0](https://blog.devops.dev/gitops-fundamentals-part-0-a8e63f8f9ce8) +- [==thenewstack.io: The Next Kubernetes Management Frontier: Automation. Automation Is No Longer a “Nice to Have”== 🌟🌟](https://thenewstack.io/the-next-kubernetes-management-frontier-automation/) **Investing in a GitOps-ready, central control plane will point organizations in the right direction of the next Kubernetes management frontier.** +- [loft.sh: GitOps + Kubernetes Explained](https://loft.sh/blog/gitops-kubernetes-explained/)
[![gitops in a nutshell](images/GitOps-in-a-nutshell.png)](https://www.unifiedguru.com/gitops-and-the-cloud-operating-model-vmware-cloud-community/) @@ -253,6 +256,7 @@ - [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) - [nicolasbarlatier.hashnode.dev: Introduction Kubernetes and Kustomize: How to easily customize any resource configuration with Kustomize?](https://nicolasbarlatier.hashnode.dev/introduction-kubernetes-and-kustomize-how-to-easily-customize-any-resource-configuration-with-kustomize) In this tutorial, you will learn how to use Kustomize to template the number of replicas in a workload based on the environment (e.g. 1 pod in dev, 10 pods in prod) +- [==github.com/kostis-codefresh: How to Model Your Gitops Environments with kustomize== 🌟](https://github.com/kostis-codefresh/gitops-environment-promotion) In this repository, you'll find an example of how to model Kustomize folders for a GitOps application and promote releases between environments ### Flagger diff --git a/docs/golang.md b/docs/golang.md index 29f934df..93c27d2c 100644 --- a/docs/golang.md +++ b/docs/golang.md @@ -55,6 +55,7 @@ - [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 +- [medium.com/datascale: Know GOMAXPROCS before deploying your GO app to Kubernetes](https://medium.com/datascale/know-gomaxprocs-before-deploying-your-go-app-to-kubernetes-7a458fb63af1) In this article, you will learn why setting GOMAXPROCS for your Go apps is crucial in Kubernetes. And you'll discover why it's better to assign a full-core CPU to your Go containers. ## Design Patterns @@ -117,6 +118,8 @@ - [==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! +- [Delve: a debugger for the Go Programming Language](https://github.com/derekparker/delve) + - [alexsniffin.medium.com: Debugging Remotely with Go in Kubernetes](https://alexsniffin.medium.com/debugging-remotely-in-kubernetes-with-go-fda4f3332316) In this tutorial, you will learn how to debug an application deployed in Kubernetes remotely using VS Code and Delve ## Go Books diff --git a/docs/grafana.md b/docs/grafana.md index e07cfa21..f71240f0 100644 --- a/docs/grafana.md +++ b/docs/grafana.md @@ -44,6 +44,7 @@ ## Grafana Agent - [grafana/agent: Grafana Agent](https://github.com/grafana/agent) Prometheus Metrics, Loki Logs, and Tempo Traces, optimized for Grafana Cloud. +- [sid-infinity-yadav.medium.com: Grafana Agent Kubernetes Operator](https://sid-infinity-yadav.medium.com/grafana-agent-kubernetes-operator-f89b744487f5) ## Grafana Faro diff --git a/docs/helm.md b/docs/helm.md index 44439a4d..0dbb517d 100644 --- a/docs/helm.md +++ b/docs/helm.md @@ -121,6 +121,14 @@ - [medium.com: Helm Your Kubernetes Application](https://medium.com/zeals-tech-blog/helm-your-kubernetes-application-7af6293bcfcf) - [medium.com/linux-shots: Use PostgreSQL database as backend storage for helm](https://medium.com/linux-shots/use-postgresql-as-backend-storage-for-helm-de407cd9c43) By default, Helm 3 stores all release information in Kubernetes cluster itself using K8s secret in release namespace. - [tratnayake.dev: Using Helm To Include All Files From A Directory In-line](https://tratnayake.dev/helm-include-all-files-from-directory-in-line) In this article, you will learn how to use Helm to fetch all files and their contents from a directory and include them in-line +- [fenyuk.medium.com: Helm for Kubernetes. Datree for keeping cluster secure and healthy 🌟](https://fenyuk.medium.com/helm-for-kubernetes-datree-for-keeping-cluster-secure-and-healthy-6fbd10f0d958) +- [fenyuk.medium.com: Helm for Kubernetes. GitOps with Argo CD 🌟](https://fenyuk.medium.com/helm-for-kubernetes-gitops-with-argo-cd-c8f80330596) +- [medium.com/geekculture: HELM — How Release Information is Stored](https://medium.com/geekculture/helm-how-release-information-is-stored-778d7f0b7498) Advanced Helm usage +- [levelup.gitconnected.com: Helm — Data Sharing Between Parent and Child Chart](https://levelup.gitconnected.com/helm-data-sharing-between-parent-and-child-chart-c4487a452d4e) Data exchange between parent and child chart in helm. In this article, you will explore a few strategies to share data between Helm charts: + - Overriding values from a parent chart + - Making child chart data available to the parent chart + - Global chart values + - Sharing templates with subcharts ## Helm Plugins @@ -220,6 +228,8 @@ Kubernetes packages - [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. - [github.com/jkosik: helm-decomposer](https://github.com/jkosik/helm-decomposer) Decomposes Helm package and visualizes hierarchy of subcharts and images +- [github.com/projectsveltos: sveltosctl](https://github.com/projectsveltos/sveltosctl#display-outcome-of-clusterprofiles-in-dryrun-mode) A CLI to nicely display resources/helm charts deployed in CAPI Cluster by Sveltos. Collect tech-support from managed Kubernetes clusters sveltosctl nicely displays resources and Helm charts info in CAPI Kubernetes Clusters deployed using ClusterProfile. It also provides the ability to generate configuration snapshots and roll backs to a previously taken configuration snapshot. +- [abhaypore.medium.com: Migrate your manifest yaml files into Helm Chart](https://abhaypore.medium.com/migrate-your-manifest-yaml-files-into-helm-chart-32a44230f3b5) ## Helm Books diff --git a/docs/hr.md b/docs/hr.md index f8b4ee13..a30490cd 100644 --- a/docs/hr.md +++ b/docs/hr.md @@ -1,4 +1,19 @@ # Human Resources +1. [Introduction](#introduction) +2. [Company Handbook](#company-handbook) +3. [Spanish](#spanish) + +## Introduction + +- [ft.com: Women in finance say ‘mediocre’ male managers block progress](https://www.ft.com/content/08ff1bd0-2e2b-4d20-bb9f-dfe8c5a9807b) Report claims it is easier for men to succeed in the City despite making mistakes. Extremely relatable: “Average men ended up being the gatekeepers for the younger women who were coming through”. + +## Company Handbook + +- [about.gitlab.com/handbook](https://about.gitlab.com/handbook/) The GitLab team handbook is the central repository for how we run the company. + +## Spanish + - [imeusal.com: ¿Cómo prevenir el mal ambiente laboral?](https://imeusal.com/prevenir-el-mal-ambiente-laboral/) -- [ft.com: Women in finance say ‘mediocre’ male managers block progress](https://www.ft.com/content/08ff1bd0-2e2b-4d20-bb9f-dfe8c5a9807b) Report claims it is easier for men to succeed in the City despite making mistakes. Extremely relatable: “Average men ended up being the gatekeepers for the younger women who were coming through”. \ No newline at end of file +- [elconfidencial.com: Olvida RRHH, ahora es el Departamento de Diversión: la infantilización del país de las 6.000 'startups'](https://www.elconfidencial.com/mundo/2023-03-10/milenializacion-mercado-laboral-israeli-startups_3551800/) Con casi 9 millones de habitantes y más de 6.000 empresas emergentes o 'startups', el mercado laboral israelí del 'high tech', dinámico y privilegiado, crea cultura de oficina +- [xataka.com: "Han recomendado calcular cuánto dinero queda y al resto despedirles": las startups españolas frente a la quiebra de SVB](https://www.xataka.com/empresas-y-economia/han-recomendado-calcular-cuanto-dinero-queda-al-resto-despedirles-startups-espanolas-frente-a-quiebra-svb) \ No newline at end of file diff --git a/docs/iac.md b/docs/iac.md index fca78aaf..7c7435ca 100644 --- a/docs/iac.md +++ b/docs/iac.md @@ -32,6 +32,7 @@ - [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) - [dzone.com/articles: A Beginner's Guide to Infrastructure as Code 🌟](https://dzone.com/articles/a-beginners-guide-to-infrastructure-as-code) In this article, take an in-depth look at how Infrastructure as Code (IaC) works, its benefits, and common challenges. +- [javacodegeeks.com: Infrastructure as Code: Best Tools For 2023 Included](https://www.javacodegeeks.com/2023/03/infrastructure-as-code-best-tools-for-2023-included.html?amp=1) ## Local Environment as Code @@ -54,6 +55,8 @@ ## Infrastructure as Code using Kubernetes +- [medium.com/nerd-for-tech: Kubernetes: Declaratively Deploying Infrastructure (IaC)](https://medium.com/nerd-for-tech/kubernetes-declaratively-deploying-infrastructure-iac-789f14d999c6) “Declaring the Kubes” + ### Config Connector - [==cloud.google.com/config-connector==](https://cloud.google.com/config-connector/docs/overview) Config Connector is an open source Kubernetes addon that allows you to manage Google Cloud resources through Kubernetes. diff --git a/docs/images/benchmarking-k8s-node-initialization.png b/docs/images/benchmarking-k8s-node-initialization.png new file mode 100644 index 00000000..3ff382db Binary files /dev/null and b/docs/images/benchmarking-k8s-node-initialization.png differ diff --git a/docs/images/http_status_codes.jpg b/docs/images/http_status_codes.jpg new file mode 100644 index 00000000..31a901f5 Binary files /dev/null and b/docs/images/http_status_codes.jpg differ diff --git a/docs/index.md b/docs/index.md index a9f2db8d..6826c1bb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -88,6 +88,9 @@ A curated list of awesome references collected since 2018. Microservices archite - [devops.com: Declarative Compliance With Policy-as-Code and GitOps 🌟](https://devops.com/declarative-compliance-with-policy-as-code-and-gitops/) - [serverlessland.com: EDA VISUALS](https://serverlessland.com/event-driven-architecture/visuals) Small bite sized visuals about event-driven architectures - [dzone: The Essentials of GitOps 🌟](https://dzone.com/refcardz/the-essentials-of-gitops) +- [dzone.com: REST vs. Messaging for Microservices](https://dzone.com/articles/rest-vs-messaging-for-microservices) +- [The Next Kubernetes Management Frontier: Automation](https://thenewstack.io/the-next-kubernetes-management-frontier-automation/) Automation Is No Longer a “Nice to Have” +- [redis.com: Microservice Architecture Key Concepts](https://redis.com/blog/microservice-architecture-key-concepts/) ## Introduction - [Microservice Architecture. From Java EE To Cloud Native. Openshift VS Kubernetes](introduction.md) @@ -281,6 +284,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [Digital Money](digital-money.md) ## Hiring and Freelancing - [Recruitment](recruitment.md) +- [Human Resources](hr.md) - [Freelancing](freelancing.md) - [Remote Tech Jobs](remote-tech-jobs.md) ## Customer Success Stories @@ -310,14 +314,11 @@ A curated list of awesome references collected since 2018. Microservices archite + +
- - - - - diff --git a/docs/introduction.md b/docs/introduction.md index 284c8f74..d2d28409 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -242,6 +242,12 @@ - Configuration Server - [thenewstack.io: What Is Microservices Architecture?](https://thenewstack.io/microservices/what-is-microservices-architecture/) Microservices architecture is game changing, allowing development teams to work independently and at cloud native scale. - [levelup.gitconnected.com: Do you know Distributed Job Scheduling in Microservices Architecture? 🌟](https://levelup.gitconnected.com/do-you-know-distributed-job-scheduling-in-microservices-architecture-44082adad8ac) +- [==nginx.com: Best Practices for Configuring Microservices Apps== 🌟](https://www.nginx.com/blog/best-practices-for-configuring-microservices-apps/) **The guidelines known as the 12‑factor app were first published more than 10 years ago. Since then become the de facto standard way to write and deploy web apps.** +- [==medium.com/javarevisited: Microservices Communication part 1-every programmer must know== 🌟](https://medium.com/javarevisited/microservices-communication-part-1-every-programmer-must-know-7c6607d2d563) Microservices communication is the heartbeat of any Microservice Architecture and designing them could make or break the system. + - [medium.com/javarevisited: Microservices Communication — part 2— Sync vs Async vs Hybrid?](https://medium.com/javarevisited/microservices-communication-part-2-sync-vs-async-vs-hybrid-23d057e137d8) +- [deloitte.com/de: EMEA Center of Excellence for Application Modernization and Migration](https://www2.deloitte.com/de/de/pages/technology/articles/center-of-excellence-application-modernization.html) Accelerate the transformation of your legacy systems +- [==redis.com: Microservice Architecture Key Concepts==](https://redis.com/blog/microservice-architecture-key-concepts/) What role do microservices play in creating applications? We offer a foundational understanding of what microservices are, how they differ from monolithic structures, and what to consider when you evaluate microservices for your own adoption. +- [freecodecamp.org: A Beginner-Friendly Introduction to Containers, VMs and Docker](https://www.freecodecamp.org/news/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b/) ## Solution Architect. IT Architecture Frameworks @@ -409,6 +415,7 @@ - [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. +- [aws.amazon.com: Server-side rendering micro-frontends – UI composer and service discovery](https://aws.amazon.com/blogs/compute/server-side-rendering-micro-frontends-ui-composer-and-service-discovery/) ## Backends for Frontends diff --git a/docs/istio.md b/docs/istio.md index 74669460..e0db4f76 100644 --- a/docs/istio.md +++ b/docs/istio.md @@ -113,7 +113,7 @@ IstioMesh, PrometheusIO, Flux v2 & Flagger. - [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. - [medium.com/@eoneoff: Installing Istio multicluster deployment with Terraform](https://medium.com/@eoneoff/installing-istio-multicluster-deployment-with-terraform-59db2f9b2177) -- [natarajsundar.medium.com: Istio service mesh, a start to finish tutorial with Side Car architecture and an analysis + comparison of the Ambient mesh architecture](https://natarajsundar.medium.com/istio-service-mesh-a-start-to-finish-tutorial-with-side-car-architecture-and-an-analysis-d70a255ea41d) +- [natarajsundar.medium.com: Istio service mesh, a start to finish tutorial with Side Car architecture and an analysis + comparison of the Ambient mesh architecture](https://natarajsundar.medium.com/istio-service-mesh-a-start-to-finish-tutorial-with-side-car-architecture-and-an-analysis-d70a255ea41d) In this blog post, you will find an end-to-end tutorial on how to get Istio up and running in your Kubernetes cluster. You will also discuss the Istio Ambient Mesh. - [alexandrev.medium.com: How To Enable Sticky Session on Your Kubernetes Workloads using Istio? 🌟](https://alexandrev.medium.com/how-to-enable-sticky-session-on-your-kubernetes-workloads-using-istio-e789014a6acd) ## API Access Control diff --git a/docs/java-and-java-performance-optimization.md b/docs/java-and-java-performance-optimization.md index 5909bab2..45f49065 100644 --- a/docs/java-and-java-performance-optimization.md +++ b/docs/java-and-java-performance-optimization.md @@ -48,6 +48,8 @@ - [medium: How to reduce your JVM app memory footprint in Docker and Kubernetes 🌟](https://medium.com/wix-engineering/how-to-reduce-your-jvm-app-memory-footprint-in-docker-and-kubernetes-d6e030d21298) - [tech.olx.com: Improving JVM Warm-up on Kubernetes 🌟](https://tech.olx.com/improving-jvm-warm-up-on-kubernetes-1b27dd8ecd58) Vikas Kumar explains why you should not run your Java applications with a fixed quota of a single CPU core. Instead, use Burstable QoS to allow for increased CPU usage during start-up. - [dzone: Best Practices: Java Memory Arguments for Containers 🌟](https://dzone.com/articles/best-practices-java-memory-arguments-for-container) In this article, we will discuss the possible JVM arguments that can be used to specify the Java heap size and the best option to choose. +- [medium.com/@anurag2397: Tuning JVM containers for better CPU and memory utilisation in K8s environment](https://medium.com/@anurag2397/solving-javas-core-problems-around-memory-and-cpu-4d0c97748c43) In this article, you'll discuss JVM warmup issues, high heap memory utilisation and how those affect Java apps deployed in Kubernetes. You'll then learn how to work around them. +- [danoncoding.com: Tricky Kubernetes memory management for Java applications 🌟](https://danoncoding.com/tricky-kubernetes-memory-management-for-java-applications-d2f88dd4e9f6) Running Java applications in a container environment requires an understanding of both — JVM memory mechanics and Kubernetes memory management. In this article, you will discuss the settings and optimizations necessary to run Java apps in Kubernetes. ### Benchmarking modern Java Virtual Machines and the next-generation garbage collectors @@ -157,7 +159,7 @@ En el 2016 saldrá Java 9 con la funcionalidad de auto-tuning y soporte de tama En cualquier caso hay una tendencia al Heap-Offloading. El consumo de memoria en Java tiene un coste y las pausas/latencias causadas por los Full GC son proporcionales al tamaño del heap. Estas pausas son notables en tamaños de heap > 1Gb, con un considerable impacto en aplicaciones de tiempo real donde un proceso que no responde rápido puede ser descartado del cluster. Aún así, los servidores actuales hacen uso de frameworks muy pesados y fácilmente requieren heaps > 4Gb. Una solución a este problema es alojar fuera del heap los objetos poco utilizados mediante técnicas de serialización/deserialización (caché). El heap de memoria se mantiene pequeño y el Full GC se completa en milisegundos. Ejemplos: -1. caché de sesión de usuarios, donde un fichero mapeado en memoria almacena gigabytes de sesiones de usuarios inactivos. Una vez que el usuario hace log-in, la aplicación dispone de todos sus datos sin ser necesaria una consulta a la BBDD. +1. caché de sesión de usuarios, donde un fichero mapeado en memoria almacena gigabytes de sesiones de usuarios inactivos. Una vez que el usuario hace log-in, la aplicación dispone de todos sus datos sin ser necesaria una consulta a la BBDD. 2. caché de resultados computacionales como queries, páginas html, etc (donde el coste computacional es mayor a la deserialización) ## Slides diff --git a/docs/java_frameworks.md b/docs/java_frameworks.md index 0ed4fe66..1101973c 100644 --- a/docs/java_frameworks.md +++ b/docs/java_frameworks.md @@ -220,6 +220,9 @@ optimizing Enterprise Java for the microservices architecture. - [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) +- [==piotrminkowski.com: Microservices with Spring Boot 3 and Spring Cloud== 🌟](https://piotrminkowski.com/2023/03/13/microservices-with-spring-boot-3-and-spring-cloud/) +- [==javaguides.net: Spring Boot 3 REST API Documentation using SpringDoc OpenAPI==](https://www.javaguides.net/2023/03/spring-boot-3-rest-api-documentation.html) +- [javaguides.net: Spring Boot Microservices - Spring Cloud API Gateway](https://www.javaguides.net/2022/10/spring-boot-microservices-spring-cloud-api-gateway.html) #### SpringBoot with Docker @@ -229,6 +232,7 @@ optimizing Enterprise Java for the microservices architecture. - [youtube: Creating Docker Images With Spring Boot](https://www.youtube.com/watch?v=1w1Jv9qssqg) - [dev.to: The Simple Guide To Dockerizing Spring Boot](https://dev.to/jarjanazy/the-simple-guide-to-dockerizing-spring-boot-og4) - [infoq.com: Spring Boot 2.6 Improves Docker Images and Metrics, Version 2.4 Is EOL](https://www.infoq.com/news/2021/12/spring-boot-2-6/) +- [==dev.to/francescoxx: Java CRUD Rest API using Spring Boot, Hibernate, Postgres, Docker and Docker Compose==](https://dev.to/francescoxx/java-crud-rest-api-using-spring-boot-hibernate-postgres-docker-and-docker-compose-5cln) #### SpringBoot Tools diff --git a/docs/javascript.md b/docs/javascript.md index e3c4a04c..f14d895d 100644 --- a/docs/javascript.md +++ b/docs/javascript.md @@ -6,7 +6,9 @@ 4. [Node.js](#nodejs) 5. [Npm](#npm) 6. [More Frontend JavaScript Frameworks](#more-frontend-javascript-frameworks) -7. [Tweets](#tweets) +7. [Videos](#videos) +8. [Tweets](#tweets) + ## Introduction - [wikipedia: JavaScript](https://en.wikipedia.org/wiki/JavaScript) @@ -16,6 +18,7 @@ - [dev.to: 25 Métodos de Arrays en JavaScript que todo desarrollador debe conocer](https://dev.to/gdcodev/25-metodos-de-arrays-en-javascript-que-todo-desarrollador-debe-conocer-4a2d) - [dev.to: Getting Started with JavaScript Modules](https://dev.to/thecoollearner/getting-started-with-javascript-modules-2mkg) - [dev.to: Username Validator](https://dev.to/lizardkinglk/username-validator-1n8g) Usernames should be formatted and they should conform to follow some validation constraints. +- [freecodecamp.org: HTTP Networking in JavaScript –Handbook for Beginners](https://www.freecodecamp.org/news/http-full-course/) ## Useful websites for web developers @@ -50,14 +53,22 @@ ## Npm -- [wikipedia: Npm](https://en.wikipedia.org/wiki/Npm_(software)) (originally short for Node Package Manager) is a package manager for the JavaScript programming language. +- [wikipedia: Npm](https://en.wikipedia.org/wiki/Npm_(software)) (originally short for Node Package Manager) is a package manager for the JavaScript programming language. - [Npm](https://www.npmjs.com/) - [npm has joined GitHub](https://github.blog/2020-04-15-npm-has-joined-github/) ## More Frontend JavaScript Frameworks - [cult.honeypot.io: Best Frontend JavaScript Frameworks To Learn 2021](https://cult.honeypot.io/reads/best-frontend-javascript-frameworks-learn-2021/) -- [react js: mithi/react-philosophies](https://github.com/mithi/react-philosophies) Things I think about when I write React code +- [react js: mithi/react-philosophies](https://github.com/mithi/react-philosophies) Things I think about when I write React code + +## Videos + +??? note "Click to expand!" + +
+ +
## Tweets diff --git a/docs/jenkins.md b/docs/jenkins.md index 80541e45..fe4fc289 100644 --- a/docs/jenkins.md +++ b/docs/jenkins.md @@ -1,19 +1,20 @@ # Jenkins & CloudBees 1. [Jenkins](#jenkins) -2. [Jenkins Is The Way](#jenkins-is-the-way) -3. [Evolution of open source CI/CD Tools](#evolution-of-open-source-cicd-tools) -4. [eBooks](#ebooks) -5. [Jenkins on Kubernetes](#jenkins-on-kubernetes) -6. [Jenkins on Docker](#jenkins-on-docker) +2. [Jenkins and Terraform](#jenkins-and-terraform) +3. [Jenkins Is The Way](#jenkins-is-the-way) +4. [Evolution of open source CI/CD Tools](#evolution-of-open-source-cicd-tools) +5. [eBooks](#ebooks) +6. [Jenkins on Kubernetes](#jenkins-on-kubernetes) +7. [Jenkins on Docker](#jenkins-on-docker) 1. [Kubernetes Native Jenkins Operator](#kubernetes-native-jenkins-operator) -7. [Groovy](#groovy) -8. [Awesome Jenkins](#awesome-jenkins) -9. [Jenkins Cheat Sheet](#jenkins-cheat-sheet) -10. [Jenkins Special Interest Groups (SIG)](#jenkins-special-interest-groups-sig) -11. [Running Jenkins on Java 11. Use OpenJDK 11](#running-jenkins-on-java-11-use-openjdk-11) -12. [Online Learning](#online-learning) -13. [Jenkins Configuration as Code Solutions. 3 available DSLs](#jenkins-configuration-as-code-solutions-3-available-dsls) +8. [Groovy](#groovy) +9. [Awesome Jenkins](#awesome-jenkins) +10. [Jenkins Cheat Sheet](#jenkins-cheat-sheet) +11. [Jenkins Special Interest Groups (SIG)](#jenkins-special-interest-groups-sig) +12. [Running Jenkins on Java 11. Use OpenJDK 11](#running-jenkins-on-java-11-use-openjdk-11) +13. [Online Learning](#online-learning) +14. [Jenkins Configuration as Code Solutions. 3 available DSLs](#jenkins-configuration-as-code-solutions-3-available-dsls) 1. [DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline](#dsl-1-job-dsl-plugin-from-freestyle-jobs-to-declarative-pipeline) 2. [DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins](#dsl-2-jenkins-pipeline-pipeline-as-code-with-jenkins) 1. [How to share a Declarative Pipeline. Examples of Declarative Pipelines in Shared Libraries](#how-to-share-a-declarative-pipeline-examples-of-declarative-pipelines-in-shared-libraries) @@ -23,38 +24,38 @@ 3. [DSL 3. Jenkins Configuration as Code (JCasC)](#dsl-3-jenkins-configuration-as-code-jcasc) 1. [Read-only Jenkins Configuration](#read-only-jenkins-configuration) 4. [Jenkins Job Builder](#jenkins-job-builder) -14. [Jenkins Template Engine JTE](#jenkins-template-engine-jte) -15. [Jenkins Pipeline Unit Testing Framework](#jenkins-pipeline-unit-testing-framework) -16. [Jenkins Architecture. Performance and Scalability](#jenkins-architecture-performance-and-scalability) -17. [Ansible and Jenkins. Running Ansible Playbooks From Jenkins](#ansible-and-jenkins-running-ansible-playbooks-from-jenkins) -18. [Jenkins Tools](#jenkins-tools) +15. [Jenkins Template Engine JTE](#jenkins-template-engine-jte) +16. [Jenkins Pipeline Unit Testing Framework](#jenkins-pipeline-unit-testing-framework) +17. [Jenkins Architecture. Performance and Scalability](#jenkins-architecture-performance-and-scalability) +18. [Ansible and Jenkins. Running Ansible Playbooks From Jenkins](#ansible-and-jenkins-running-ansible-playbooks-from-jenkins) +19. [Jenkins Tools](#jenkins-tools) 1. [Plugin Installation Manager Tool](#plugin-installation-manager-tool) 2. [Pipeline Development Tools](#pipeline-development-tools) 3. [Custom WAR Docker Packager](#custom-war-docker-packager) 4. [jenkins-std-lib Jenkins Standard Shared Library](#jenkins-std-lib-jenkins-standard-shared-library) -19. [Jenkins Multibranch Pipeline](#jenkins-multibranch-pipeline) +20. [Jenkins Multibranch Pipeline](#jenkins-multibranch-pipeline) 1. [Multibranch Pipelines with Kubernetes](#multibranch-pipelines-with-kubernetes) -20. [Jenkins Plugins](#jenkins-plugins) +21. [Jenkins Plugins](#jenkins-plugins) 1. [Selection of Jenkins Plugins](#selection-of-jenkins-plugins) 2. [Plugin Development. Jenkins Plugin Parent POM 4.0](#plugin-development-jenkins-plugin-parent-pom-40) 3. [Jenkins Blue Ocean](#jenkins-blue-ocean) 4. [Cloudbees Flow](#cloudbees-flow) -21. [Monitoring jenkins](#monitoring-jenkins) -22. [Externalizing Fingerprint Storage for Jenkins](#externalizing-fingerprint-storage-for-jenkins) -23. [Jenkins and Spring Boot](#jenkins-and-spring-boot) -24. [Docker in Docker. Running Jenkins in Kubernetes](#docker-in-docker-running-jenkins-in-kubernetes) -25. [CloudBees](#cloudbees) +22. [Monitoring jenkins](#monitoring-jenkins) +23. [Externalizing Fingerprint Storage for Jenkins](#externalizing-fingerprint-storage-for-jenkins) +24. [Jenkins and Spring Boot](#jenkins-and-spring-boot) +25. [Docker in Docker. Running Jenkins in Kubernetes](#docker-in-docker-running-jenkins-in-kubernetes) +26. [CloudBees](#cloudbees) 1. [CloudBees Rollout and Feature Flags](#cloudbees-rollout-and-feature-flags) 1. [Feature Flags in CloudBees Enterprise On-Premise](#feature-flags-in-cloudbees-enterprise-on-premise) 2. [CloudBees Accelerator](#cloudbees-accelerator) -26. [Jenkins Scripts](#jenkins-scripts) -27. [Backup for Jenkins on Kubernetes](#backup-for-jenkins-on-kubernetes) -28. [Jervis: Jenkins as a service](#jervis-jenkins-as-a-service) -29. [Jenkins X (Serverless)](#jenkins-x-serverless) -30. [Jenkins and SAP](#jenkins-and-sap) -31. [Jenkins Free Templates for AWS CloudFormation](#jenkins-free-templates-for-aws-cloudformation) -32. [Videos](#videos) -33. [Tweets](#tweets) +27. [Jenkins Scripts](#jenkins-scripts) +28. [Backup for Jenkins on Kubernetes](#backup-for-jenkins-on-kubernetes) +29. [Jervis: Jenkins as a service](#jervis-jenkins-as-a-service) +30. [Jenkins X (Serverless)](#jenkins-x-serverless) +31. [Jenkins and SAP](#jenkins-and-sap) +32. [Jenkins Free Templates for AWS CloudFormation](#jenkins-free-templates-for-aws-cloudformation) +33. [Videos](#videos) +34. [Tweets](#tweets) ## Jenkins @@ -155,6 +156,15 @@ jenkinsci CloudBees' advice is to use build tool features when possible (Maven/G - [fosstechnix.com: How to Validate Jenkinsfile using Visual Studio Code](https://www.fosstechnix.com/validate-jenkinsfile-using-visual-studio-code/) - [freecodecamp.org: Learn Jenkins by Building a CI/CD Pipeline 🌟](https://www.freecodecamp.org/news/learn-jenkins-by-building-a-ci-cd-pipeline/) - [medium.com/ni-tech-talk: Creating Customized Kubernetes Pod Templates using Groovy in Jenkins Pipeline 🌟](https://medium.com/ni-tech-talk/creating-customized-kubernetes-pod-templates-using-groovy-in-jenkins-pipeline-7007f023a585) +- [palak-bhawsar.hashnode.dev: Automated CI/CD pipeline for Java Project](https://palak-bhawsar.hashnode.dev/automated-cicd-pipeline-for-java-project) +- [==faun.pub: Set up Jenkins on a Kubernetes Cluster==](https://faun.pub/set-up-jenkins-on-a-kubernetes-cluster-2b982c840ebe) +- [blog.devops.dev: Blue-Green Deployment (CI/CD) Pipelines with Docker, GitHub, Jenkins and SonarQube](https://blog.devops.dev/blue-green-deployment-ci-cd-pipelines-with-docker-github-and-jenkins-6a262b2994c6) + +## Jenkins and Terraform + +- [towardsaws.com: Terraform: Jenkins CI/CD Pipeline](https://towardsaws.com/terraform-jenkins-ci-cd-pipeline-b8901978710e) +- [aws.plainenglish.io: Deploying AWS Resources and a Jenkins Server with Terraform](https://aws.plainenglish.io/deploying-aws-resources-and-a-jenkins-server-with-terraform-297bad905459) +- [aws.plainenglish.io: Terraform: How To Deploy Jenkins CI/CD Pipelines Using Terraform](https://aws.plainenglish.io/terraform-how-to-deploy-jenkins-ci-cd-pipelines-using-terraform-9ffc086dcd56) Deploy an EC2 instance bootstrapped with a script to install and run Jenkins. ## Jenkins Is The Way diff --git a/docs/kubectl-commands.md b/docs/kubectl-commands.md index 8f5c0f0f..0cd3c60c 100644 --- a/docs/kubectl-commands.md +++ b/docs/kubectl-commands.md @@ -57,6 +57,8 @@ - [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 - [medium.com/codex: Kubectl Output 101](https://medium.com/codex/kubectl-output-101-851f8e61fd51) Cheatsheet & examples of using kubectl get -o +- [lovethepenguin.com: Kubernetes: common pod operations](https://lovethepenguin.com/kubernetes-common-pod-operations-ee23a402b9f4) +- [medium.com/geekculture: kubectl — Best Practices](https://medium.com/geekculture/kubectl-best-practices-c4ff809167dd) ## Kubectl Cheat Sheets diff --git a/docs/kubernetes-autoscaling.md b/docs/kubernetes-autoscaling.md index 5d108a27..1cf719ba 100644 --- a/docs/kubernetes-autoscaling.md +++ b/docs/kubernetes-autoscaling.md @@ -5,7 +5,7 @@ 3. [HPA and VPA](#hpa-and-vpa) 1. [Kubernetes Scale to Zero](#kubernetes-scale-to-zero) 4. [Cluster Autoscaler and Helm](#cluster-autoscaler-and-helm) -5. [KEDA Kubernetes-based Event-Driven Autoscaler](#keda-kubernetes-based-event-driven-autoscaler) +5. [KEDA Kubernetes Event Driven Autoscaling](#keda-kubernetes-event-driven-autoscaling) 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) @@ -70,6 +70,16 @@ - [kubedex.com: autoscaling 🌟](https://kubedex.com/autoscaling) - [==chrisedrego.medium.com: Kubernetes AutoScaling Series: Cluster AutoScaler== 🌟](https://chrisedrego.medium.com/kubernetes-autoscaling-series-cluster-autoscaler-5d60c10c3dc1) - [==hashnode.com: Proactive cluster autoscaling in Kubernetes | Daniele Polencic== 🌟🌟](https://hashnode.com/post/proactive-cluster-autoscaling-in-kubernetes-cl88pz1ua01obu5nv24520hv6) **Scaling nodes in a Kubernetes cluster could take several minutes with the default settings. Learn how to size your cluster nodes and proactively create nodes for quicker scaling.** +- [symbiosis.host: Benchmarking Kubernetes node initialization](https://symbiosis.host/blog/comparing-node-launch-times) **In this benchmark, you will compare cluster initialization time across 8 managed Kubernetes providers** + - Kubernetes nodes are slow to initialize. OS's have to be booted, networks have to be configured, kubelets need to initialize, certificates need to be issued and approved, and so on... + - The unfortunate side effect is that cluster autoscaling is limited by the time it takes to add more nodes into the pool. If your environment sees a sudden spike in usage there might not be enough time to scale up to handle the additional load. + - This volatility in usage will impact the amount of additional capacity that is necessary for your cluster to function during high stress. For very bursty settings you will need to configure more headroom to account for the hightened variance. + - However, the faster nodes initialize the faster your cluster can react to these sudden spikes. So, not only can quick nodes reduce the risk of resource congestion, it also reduces the additional headroom you need to have on hand, leading to lower costs. + - In this benchmark we compared initialization time across 8 managed Kubernetes providers. + +
+[![benchmarking-k8s-node-initialization](images/benchmarking-k8s-node-initialization.png)](https://symbiosis.host/blog/comparing-node-launch-times) +
## HPA and VPA @@ -90,7 +100,7 @@ - [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 - [cloudnatively.com: Understanding Horizontal Pod Autoscaling](https://www.cloudnatively.com/kubernetes-hpa-explanation/) -- [blog.px.dev: Horizontal Pod Autoscaling with Custom Metrics in Kubernetes](https://blog.px.dev/autoscaling-custom-k8s-metric/) +- [blog.px.dev: Horizontal Pod Autoscaling with Custom Metrics in Kubernetes 🌟](https://blog.px.dev/autoscaling-custom-k8s-metric/) In this post, you'll learn how to autoscale your Kubernetes deployment using custom application metrics (i.e. HTTP requests/second) - [awstip.com: Kubernetes HPA](https://awstip.com/kubernetes-hpa-8b7cf54f115) HPA, the short form Horizontal pod autoscaling, is nothing but a piece of software that dynamically scales the pods based on thresholds like CPU, Memory, HTTP requests (custom metrics). - [medium.com/@CloudifyOps: Setting up a Horizontal Pod Autoscaler for Kubernetes cluster](https://medium.com/@CloudifyOps/setting-up-a-horizontal-pod-autoscaler-for-kubernetes-cluster-a7d3cf3be7) - [betterprogramming.pub: Advanced Features of Kubernetes’ Horizontal Pod Autoscaler](https://betterprogramming.pub/advanced-features-of-kubernetes-horizontal-pod-autoscaler-536ebd7893ad) Kubernetes’ Horizontal Pod Autoscaler has features you probably don’t know about. Here’s how to use them to your advantage. @@ -116,14 +126,21 @@ - [hub.helm.sh: cluster-autoscaler](https://hub.helm.sh/charts/stable/cluster-autoscaler) The cluster autoscaler scales worker nodes within an AWS autoscaling group (ASG) or Spotinst Elastigroup. -## KEDA Kubernetes-based Event-Driven Autoscaler +## KEDA Kubernetes Event Driven Autoscaling -- [==keda.sh==](https://keda.sh) **KEDA is a Kubernetes-based Event Driven Autoscaler. With KEDA, you can drive the scaling of any container in Kubernetes based on the number of events needing to be processed.** +- [==keda.sh: Kubernetes Event-driven Autoscaling. Application autoscaling made simple.==](https://keda.sh) **KEDA is a Kubernetes-based Event Driven Autoscaler. With KEDA, you can drive the scaling of any container in Kubernetes based on the number of events needing to be processed.** https://github.com/kedacore/keda - [medium.com/backstagewitharchitects: How Autoscaling Works in Kubernetes? Why You Need To Start Using KEDA?](https://medium.com/backstagewitharchitects/how-autoscaling-works-in-kubernetes-why-you-need-to-start-using-keda-b601b483d355) - [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) 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) +- [Dzone: Autoscaling Your Kubernetes Microservice with KEDA](https://dzone.com/articles/autoscaling-your-kubernetes-microservice-with-keda) Introduction to KEDA—event-driven autoscaler for Kubernetes, Apache Camel, and ActiveMQ Artemis—and how to use it to scale a Java microservice on Kubernetes. +- [tomd.xyz: Event-driven integration on Kubernetes with Camel & KEDA 🌟](https://tomd.xyz/kubernetes-event-driven-keda/) Can we develop apps in Kubernetes that autoscale based on events? Perhaps, with this example using KEDA, ActiveMQ and Apache Camel. +- [faun.pub: Scaling an app in Kubernetes with KEDA (no Prometheus is needed)](https://faun.pub/keda-ec9fc7c8dd81) +- [itnext.io: Event Driven Autoscaling](https://itnext.io/event-driven-autoscaling-503b5cefaa49) KEDA expands the capabilities of Kubernetes by managing the integration with external sources allowing you to auto-scale your Kubernetes Deployments based on data from both internal and external metrics. +- [medium.com/@casperrubaek: Why KEDA is a game-changer for scaling in Kubernetes](https://medium.com/@casperrubaek/why-keda-is-a-game-changer-for-scaling-in-kubernetes-4ebf34cb4b61) KEDA makes it possible to easily scale based on any metric imaginable from almost any metric provider and is running at a massive scale in production in the cloud at some of the largest corporations in the world. +- [levelup.gitconnected.com: Scale your Apps using KEDA in Kubernetes](https://levelup.gitconnected.com/scale-your-apps-using-keda-in-kubernetes-a1f2142ecc20) +- [blog.devops.dev: KEDA: Autoscaling Kubernetes apps using Prometheus](https://blog.devops.dev/keda-autoscaling-kubernetes-apps-using-prometheus-da037fe572cf) ## Cluster Autoscaler and DockerHub diff --git a/docs/kubernetes-backup-migrations.md b/docs/kubernetes-backup-migrations.md index 953a4acc..712a47d5 100644 --- a/docs/kubernetes-backup-migrations.md +++ b/docs/kubernetes-backup-migrations.md @@ -44,15 +44,15 @@ - [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. - [martinheinz.dev: Backup-and-Restore of Containers with Kubernetes Checkpointing API](https://martinheinz.dev/blog/85) Kubernetes v1.25 introduced Container Checkpointing API — a way to backup-and-restore containers running in Pods, without stopping them. In this article, you'll take a look at it and learn how to leverage it for backup-and-restore or forensic analysis. -- [blog.palark.com: Kubernetes snapshots: What are they and how to use them?](https://blog.palark.com/kubernetes-snaphots-usage/) With snapshots, you can make more efficient use of your storage solution by creating consistent backups and cloning volumes. In this article, you will find an introduction to snapshots in Kubernetes and an overview of typical use cases. +- [blog.palark.com: Kubernetes snapshots: What are they and how to use them? 🌟](https://blog.palark.com/kubernetes-snaphots-usage/) With snapshots, you can make more efficient use of your storage solution by creating consistent backups and cloning volumes. In this article, you will find an introduction to snapshots in Kubernetes and an overview of typical use cases. ## ETCD Backup - [youtube: Kubernetes.. ETCD Backup and Restore... Very Easy Steps... CKA Exam Tips..](https://www.youtube.com/watch?app=desktop&v=mODkt1OJDew&ab_channel=AlokKumar) - [gsanjeewa1111.medium.com: How to backup and restore the ETCD in the Rancher cluster](https://gsanjeewa1111.medium.com/how-to-backup-and-restore-the-etcd-in-the-rancher-cluster-f4f075f528c2) +- [github.com/gardener/etcd-backup-restore](https://github.com/gardener/etcd-backup-restore) Collection of components to backup and restore the Etcd of a Kubernetes cluster. It also provides the ability to validate the data directory, so that we could know the data directory is in good shape to bootstrap etcd successfully. ## Kubernetes Volume Snapshot diff --git a/docs/kubernetes-based-devel.md b/docs/kubernetes-based-devel.md index c451740f..0d362bf5 100644 --- a/docs/kubernetes-based-devel.md +++ b/docs/kubernetes-based-devel.md @@ -83,6 +83,7 @@ - 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. +- [yash-kukreja-98.medium.com: Develop on Kubernetes Series — Demystifying the For vs Owns vs Watches controller-builders in controller-runtime](https://yash-kukreja-98.medium.com/develop-on-kubernetes-series-demystifying-the-for-vs-owns-vs-watches-controller-builders-in-c11ab32a046e) ### Skaffold. Local Kubernetes Development @@ -187,7 +188,7 @@ Kui enriches the good old terminal experience with GUI features, giving you a di ### Yaki -- [nirops/yakiapp](https://github.com/nirops/yakiapp) Open Source, Cross platform, Native Kubernetes IDE. Yaki is a desktop application that allows DevOps, Developers, SREs and anyone who wish the manage the applications deployed in their Kubernetes Cluster +- [nirops/yakiapp](https://github.com/nirops/yakiapp) Yaki stands for "Yet Another Kubernetes IDE". Open Source, Cross platform, Native Kubernetes IDE. Yaki is a desktop application that allows DevOps, Developers, SREs and anyone who wish the manage the applications deployed in their Kubernetes Cluster ## Images diff --git a/docs/kubernetes-bigdata.md b/docs/kubernetes-bigdata.md index 72a66a9c..7768013d 100644 --- a/docs/kubernetes-bigdata.md +++ b/docs/kubernetes-bigdata.md @@ -26,4 +26,5 @@ - [aprenderbigdata.com: Databricks: Introducción a Spark en la nube](https://aprenderbigdata.com/databricks/) - Databricks es el nombre de la plataforma analítica de datos basada en Apache Spark desarrollada por la compañía con el mismo nombre. La empresa se fundó en 2013 con los creadores y los desarrolladores principales de Spark. Permite hacer analítica Big Data e inteligencia artificial con Spark de una forma sencilla y colaborativa. - - Esta plataforma está disponible como servicio cloud en Microsoft Azure y Amazon Web Services (AWS). \ No newline at end of file + - Esta plataforma está disponible como servicio cloud en Microsoft Azure y Amazon Web Services (AWS). +- [docs.databricks.com: Use scheduler pools for multiple streaming workloads](https://docs.databricks.com/structured-streaming/scheduler-pools.html) \ No newline at end of file diff --git a/docs/kubernetes-monitoring.md b/docs/kubernetes-monitoring.md index 63c6044e..2c4b10cf 100644 --- a/docs/kubernetes-monitoring.md +++ b/docs/kubernetes-monitoring.md @@ -8,7 +8,8 @@ 6. [Monitoring Certificates Expiration](#monitoring-certificates-expiration) 7. [kubeshark](#kubeshark) 8. [k8spacket](#k8spacket) -9. [Videos](#videos) +9. [Kubelog](#kubelog) +10. [Videos](#videos) ## Introduction @@ -71,6 +72,11 @@ - [grafana.com: A beginner's guide to Kubernetes application monitoring](https://grafana.com/blog/2023/01/31/a-beginners-guide-to-kubernetes-application-monitoring) - [medium.com/@poseidon.os: Poseidon: A Kubernetes Cluster Visualization & Cost Analysis Tool](https://medium.com/@poseidon.os/poseidon-a-kubernetes-cluster-visualization-cost-analysis-tool-d0fb55c2858c) - [==aws.amazon.com: Using Prometheus to Avoid Disasters with Kubernetes CPU Limits== 🌟](https://aws.amazon.com/blogs/containers/using-prometheus-to-avoid-disasters-with-kubernetes-cpu-limits/) **In this article, you'll discuss how CPU throttling can affect Kubernetes' node performance, and how to avoid this by setting the right values for limits. The author also suggests using Prometheus as a tool to help set reasonable limits** +- [umeey.medium.com: Four Golden Signals Of Monitoring: Site Reliability Engineering (SRE) Metrics](https://umeey.medium.com/four-golden-signals-of-monitoring-site-reliability-engineering-sre-metrics-64031dbe268) Golden Signal Monitoring using FastAPI on k8s +- [grafana.com: How to optimize resource utilization with Kubernetes Monitoring for Grafana Cloud 🌟](https://grafana.com/blog/2023/03/03/how-to-optimize-resource-utilization-with-kubernetes-monitoring-for-grafana-cloud/) **Overprovisioning or underprovisioning your Kubernetes resources can have significant consequences on both your budget and your app performance.** +- [medium.com/@lambdaEranga: Monitor Kubernets Services/Endpoints with Prometheus Blackbox Exporter 🌟](https://medium.com/@lambdaEranga/monitor-kubernets-services-endpoints-with-prometheus-blackbox-exporter-a64e062c05d5) In this article, you will discuss monitoring different endpoints/services in a Kubernetes cluster using Prometheus Blackbox Exporter +- [samiislam0306.medium.com: Insightful Monitoring of Kubernetes Clusters with Traces](https://samiislam0306.medium.com/insightful-monitoring-of-kubernetes-clusters-with-traces-c7c3b33ed07e) Gain valuable insights into the performance of your Kubernetes cluster with trace monitoring. A guide that helps you optimize your operations for maximum efficiency and productivity. +- [medium.com/@walissonscd: Monitoring Kubernetes Cluster Resources: Using Top Metrics Commands](https://medium.com/@walissonscd/monitoring-kubernetes-cluster-resources-using-top-metrics-commands-a60408765321) ## Kubernetes Logging @@ -99,6 +105,7 @@ - [blog.amhaish.com: Observing the K8 cluster using ELK stack](https://blog.amhaish.com/observing-the-k8-cluster-using-elk-stack-7d4264fdb0e3) - [kube-logging/logging-operator](https://github.com/kube-logging/logging-operator) The Logging operator automates the deployment and configuration of a Kubernetes logging pipeline. The operator deploys and configures a Fluent Bit daemonset on every node to collect container and application logs from the node file system. - [akyriako.medium.com: Kubernetes Logging with Grafana Loki & Promtail in under 10 minutes 🌟](https://akyriako.medium.com/kubernetes-logging-with-grafana-loki-promtail-in-under-10-minutes-d2847d526f9e) Consolidate all your Kubernetes logs in a intuitive Grafana dashboard. +- [yuminlee2.medium.com: Kubernetes: Container and Pod Logging](https://yuminlee2.medium.com/kubernetes-container-and-pod-logging-82ec5c057cb2) ## SLOs in Kubernetes @@ -121,6 +128,7 @@ - [==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 +- [medium.com/kernel-space: KubeShark: Wireshark for Kubernetes](https://medium.com/kernel-space/kubeshark-wireshark-for-kubernetes-4069a5f5aa3d) ## k8spacket @@ -128,6 +136,10 @@ - [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) +## Kubelog + +- [kubelog.de](https://kubelog.de) kubelog is a graphical log viewer for Kubernetes, which works with your existing Kubernetes logging infrastructure. Kubelog is a log viewer for kubernetes. Tail multiple pods in one view and use searches to highlight and show results in context. + ## Videos ??? note "Click to expand!" diff --git a/docs/kubernetes-networking.md b/docs/kubernetes-networking.md index b8f68572..607b27e4 100644 --- a/docs/kubernetes-networking.md +++ b/docs/kubernetes-networking.md @@ -2,28 +2,30 @@ 1. [Introduction](#introduction) 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) +3. [Headless Kubernetes Service](#headless-kubernetes-service) +4. [NetworkPolicy](#networkpolicy) +5. [Nginx Ingress Controller](#nginx-ingress-controller) +6. [Contour Ingress Controller](#contour-ingress-controller) +7. [Kubernetes Gateway API](#kubernetes-gateway-api) +8. [Kube-proxy](#kube-proxy) +9. [Multicloud communication for Kubernetes](#multicloud-communication-for-kubernetes) +10. [Multi-Cluster Kubernetes Networking](#multi-cluster-kubernetes-networking) +11. [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) +12. [Kubernetes Ingress Specification](#kubernetes-ingress-specification) +13. [Xposer Kubernetes Controller To Manage Ingresses](#xposer-kubernetes-controller-to-manage-ingresses) +14. [Software-Defined IP Address Management (IPAM)](#software-defined-ip-address-management-ipam) +15. [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) +16. [DNS Service with CoreDNS](#dns-service-with-coredns) +17. [Kubernetes Node Local DNS Cache](#kubernetes-node-local-dns-cache) +18. [k8gb](#k8gb) +19. [VPC Lattice](#vpc-lattice) +20. [Images](#images) +21. [Videos](#videos) +22. [Tweets](#tweets) ## Introduction @@ -157,11 +159,27 @@ - [blog.devops.dev: Networking in Kubernetes](https://blog.devops.dev/networking-in-kubernetes-55dcf794b9cd) In this blog post, we’re going to delve into the world of Kubernetes networking and explore the many components that make it such a powerful and reliable platform for modern containerized applications. lets discover the essential networking components that make Kubernetes the go-to choice for cloud-native deployments! - [medium.com/@mustafaaltunok: How Ingress, Service, Deployment and Pod Link to each other](https://medium.com/@mustafaaltunok/how-ingress-service-deployment-and-pod-link-to-eachother-d3a6ae2c0e06) In Kubernetes domain, deployment of an app consists of mainly three components. From outer to inner. - [inlets.dev: How to Get Ingress for Private Kubernetes Clusters](https://inlets.dev/blog/2023/02/24/ingress-for-local-kubernetes-clusters.html) By design, local Kubernetes clusters are inaccessible from the internet. So how can we fix that if we want to use Ingress? What are the options for getting a public IP or LoadBalancer for local Kubernetes clusters? I cover use-cases and compare port-forwarding, Ngrok, Wireguard and inletsdev +- [blog.devops.dev: Demystifying Kubernetes:Understanding Ingress, Configuration, and Best Practices](https://blog.devops.dev/demystifying-kubernetes-understanding-ingress-configuration-and-best-practices-fb34e33e5f5f) A comprehensive overview of Kubernetes, the basics of ingress and how to configure it to expose services within K8s cluster. +- [==dev.to/narasimha1997: Communication between Microservices in a Kubernetes cluster== 🌟](https://dev.to/narasimha1997/communication-between-microservices-in-a-kubernetes-cluster-1n41) **This article discusses the various ways in which microservices in Kubernetes can communicate with each other. It provides an example of two pods, one acting as an HTTP web server and the other as a curl client that makes a request to the web server.** +- [==medium.com/google-cloud: Kubernetes Ingress Vs Gateway API== 🌟](https://medium.com/google-cloud/kubernetes-ingress-vs-gateway-api-647ee233693d) Understanding the Differences between Kubernetes Ingress and Gateway API for Effective Traffic Management +- [medium.com/nerd-for-tech: Kubernetes: Deploying NGINX with a ConfigMap | Chanel Jemmott](https://medium.com/nerd-for-tech/kubernetes-deploying-nginx-with-a-configmap-e8a2fe59bcb1) +- [medium.com/@sangjinn: How to communicate with Kubernetes workloads — Part I. Service | Brandon Kang](https://medium.com/@sangjinn/how-to-communicate-with-kubernetes-workloads-1-service-abe1c5b03fc) + - [medium.com/@sangjinn: How to communicate with Kubernetes workloads — Part II. Ingress | Brandon Kang](https://medium.com/@sangjinn/how-to-communicate-with-kubernetes-workloads-2-ingress-18f44a712690) +- [==shahneil.medium.com: What Are Kubernetes Endpoints?==](https://shahneil.medium.com/what-are-kubernetes-endpoints-and-how-to-use-them-a5a5da56f4d4) +- [==fr4nk.xyz: Understanding Ingress in Kubernetes: A Comprehensive Guide==](https://fr4nk.xyz/understanding-ingress-in-kubernetes-a-comprehensive-guide-b23b5cf37f8d) **Kubernetes Ingress plays a crucial role in managing external access to services within a cluster.** ## 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) In this article, you will learn how TCP keep-alive requests could hurt horizontal scaling for your pods. You will also discuss the workarounds you can apply to your apps or web servers. +## Headless Kubernetes Service + +- [medium.com: Headless Kubernetes Service](https://medium.com/@bubu.tripathy/headless-k8s-service-924c689607a7) A headless service in Kubernetes can be a useful tool for creating distributed applications. It allows you to directly access the individual pods in a service. This is useful in scenarios where you need to perform complex load-balancing. A headless service does not have a cluster IP assigned to it. Instead of providing a single virtual IP address for the service, a headless service creates a DNS record for each pod associated with the service. These DNS records can then be used to directly address each pod. Here’s a high-level overview of how a headless service works: + - A headless service is created in Kubernetes + - Pods are associated with the service through labels + - DNS records are created for each pod associated with the service + - Clients can use the DNS records to directly access each pod + ## 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. @@ -179,6 +197,9 @@ - [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) +- [==engineering.backmarket.com: How we improved third-party availability and latency with Nginx in Kubernetes== 🌟](https://engineering.backmarket.com/how-we-improved-third-party-availability-and-latency-with-nginx-in-kubernetes-bb3fc7224ae4) Introducing a gateway to cache your third-party API can significantly improve its performance and stability. In this case study, you will discover how the team at Back Market configured NGINX in Kubernetes to improve third-party API availability and latency. +- [towardsdev.com: Kubernetes: Deploying Nginx Servers with ConfigMaps & Shared Services with Minikube](https://towardsdev.com/kubernetes-deploying-nginx-servers-with-configmaps-shared-services-with-minikube-618aee9a8ff6) +- [faun.pub: How to Monitor and Alert on Ingress-NGINX in Kubernetes](https://faun.pub/how-to-monitor-and-alert-on-nginx-ingress-in-kubernetes-6d7d172f0399) ## Contour Ingress Controller @@ -338,6 +359,10 @@ Cilium allows users to specify an egress NAT policy - [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. +## VPC Lattice + +- [dev.to/aws-builders: Amazon VPC Lattice — Build Applications, Not Networks](https://dev.to/aws-builders/amazon-vpc-lattice-build-applications-not-networks-59j8) An exciting new service that simplifies the networking layer for developers and cloud administrators. + ## Images ??? note "Click to expand!" diff --git a/docs/kubernetes-operators-controllers.md b/docs/kubernetes-operators-controllers.md index 8eb9c302..7b1ea821 100644 --- a/docs/kubernetes-operators-controllers.md +++ b/docs/kubernetes-operators-controllers.md @@ -1,16 +1,17 @@ # Kubernetes Operators and Controllers 1. [Introduction](#introduction) -2. [Creating Kubernetes operator using Kubebuilder](#creating-kubernetes-operator-using-kubebuilder) -3. [operatorhub.io](#operatorhubio) -4. [Red Hat Container Community of Practice Operators](#red-hat-container-community-of-practice-operators) -5. [Operator Capability Levels](#operator-capability-levels) -6. [Cluster Addons](#cluster-addons) -7. [K8Spin Operator. Kubernetes multi-tenant operator](#k8spin-operator-kubernetes-multi-tenant-operator) -8. [K8s KPIs with Kuberhealthy Operator](#k8s-kpis-with-kuberhealthy-operator) -9. [Writing Kubernetes Operators and Controllers](#writing-kubernetes-operators-and-controllers) -10. [Tweets](#tweets) -11. [Videos](#videos) +2. [OpenTelemetry Operator](#opentelemetry-operator) +3. [Creating Kubernetes operator using Kubebuilder](#creating-kubernetes-operator-using-kubebuilder) +4. [operatorhub.io](#operatorhubio) +5. [Red Hat Container Community of Practice Operators](#red-hat-container-community-of-practice-operators) +6. [Operator Capability Levels](#operator-capability-levels) +7. [Cluster Addons](#cluster-addons) +8. [K8Spin Operator. Kubernetes multi-tenant operator](#k8spin-operator-kubernetes-multi-tenant-operator) +9. [K8s KPIs with Kuberhealthy Operator](#k8s-kpis-with-kuberhealthy-operator) +10. [Writing Kubernetes Operators and Controllers](#writing-kubernetes-operators-and-controllers) +11. [Tweets](#tweets) +12. [Videos](#videos) ## Introduction @@ -146,7 +147,14 @@ - [==blog.frankel.ch: Introduction to Kubernetes extensibility== 🌟](https://blog.frankel.ch/kubernetes-extensibility/) In this article, you'll learn several extension points in Kubernetes: the data model, admission controllers, and client-side. - At its most basic level, Kubernetes is just a platform able to run container images. It stores its configuration in a distributed storage engine, etcd. The most significant part of this configuration is dedicated to the desired state for objects. For example, you only update this state when you schedule a pod using the kubectl command line. - Other components, called controllers, watch configuration changes and read the desired state. Then, they try to reconcile the desired state with the actual state. It’s nothing revolutionary: Puppet is based on the same control-loop approach, and AFAIK, Chef. Generally, a controller manages a single type of object, e.g., the DeploymentController manages deployments. -- [superorbital.io: Testing Production Kubernetes Controllers](https://superorbital.io/blog/testing-production-controllers/) Invasion of Kubernetes controllers, the word “cloud native” can be read as “implemented as a K8s controller”. If your controller relies heavily on interaction with the Kubernetes API across a set of resources, investing in tests makes more sense. +- [superorbital.io: Testing Production Kubernetes Controllers](https://superorbital.io/blog/testing-production-controllers/) In this article, you will learn how to test Kubernetes controllers using a mix of unit tests, local integration tests, and more fully featured runtime integration tests. +- [github.com/lukaszraczylo/jobs-manager-operator 🌟](https://github.com/lukaszraczylo/jobs-manager-operator) + - [itnext.io: Simplify Advanced Workflows in Kubernetes with Jobs Manager Operator](https://itnext.io/kubernetes-operator-to-manage-jobs-7ee96744c74a) A problem and idea led to the latest invention, which saved me hours of confusion and frustration and finally untangled the web of dependencies. + +## OpenTelemetry Operator + +- [github.com/open-telemetry/opentelemetry-operator](https://github.com/open-telemetry/opentelemetry-operator) +- [medium.com/@magstherdev: OpenTelemetry Operator](https://medium.com/@magstherdev/opentelemetry-operator-d3d407354cbf) This post aims to demonstrate how you can implement traces in your application without any code changes by using the OpenTelemetry Operator. ## Creating Kubernetes operator using Kubebuilder @@ -214,6 +222,7 @@ - [==kubernetes/sample-controller==](https://github.com/kubernetes/sample-controller) Repository for sample controller. Complements sample-apiserver - [betterprogramming.pub: Writing Custom Kubernetes Controller and Webhooks](https://betterprogramming.pub/writing-custom-kubernetes-controller-and-webhooks-141230820e9) Create a Kubernetes API, controller, validate webhooks, and test. - [betterprogramming.pub: How To Write Tests for Your Kubernetes Operator](https://betterprogramming.pub/write-tests-for-your-kubernetes-operator-d3d6a9530840) +- [metalbear.co: Writing a Kubernetes Operator](https://metalbear.co/blog/writing-a-kubernetes-operator/) ## Tweets diff --git a/docs/kubernetes-releases.md b/docs/kubernetes-releases.md index 08592e9d..a65a5937 100644 --- a/docs/kubernetes-releases.md +++ b/docs/kubernetes-releases.md @@ -65,3 +65,4 @@ - [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/) - [alexandrev.medium.com: Kubernetes Autoscaling 1.26: A Game-Changer for KEDA Users?](https://alexandrev.medium.com/kubernetes-autoscaling-1-26-a-game-changer-for-keda-users-c718a81fb155) +- [sysdig.com: Kubernetes 1.27 – What’s new?](https://sysdig.com/blog/kubernetes-1-27-whats-new/) \ No newline at end of file diff --git a/docs/kubernetes-security.md b/docs/kubernetes-security.md index 3ae9d60b..276294b3 100644 --- a/docs/kubernetes-security.md +++ b/docs/kubernetes-security.md @@ -1,38 +1,40 @@ # Kubernetes Security 1. [Introduction](#introduction) -2. [Securing a Kubernetes cluster using TLS certificates](#securing-a-kubernetes-cluster-using-tls-certificates) -3. [Kubernetes Security Scanners](#kubernetes-security-scanners) -4. [Security Checklist Kubernetes OWASP](#security-checklist-kubernetes-owasp) -5. [Exposed Kubernetes Clusters](#exposed-kubernetes-clusters) -6. [NSA National Security Agent Kubernetes Hardening Guidance](#nsa-national-security-agent-kubernetes-hardening-guidance) -7. [CIS Benchmarks and CIS Operator](#cis-benchmarks-and-cis-operator) -8. [User and Workload identities in Kubernetes](#user-and-workload-identities-in-kubernetes) -9. [Service Accounts](#service-accounts) -10. [Kubernetes Secrets](#kubernetes-secrets) -11. [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) -12. [Kubernetes OpenID Connect OIDC](#kubernetes-openid-connect-oidc) +2. [IAM Identity And Access Management in Kubernetes](#iam-identity-and-access-management-in-kubernetes) +3. [Securing Kubernetes Deployments](#securing-kubernetes-deployments) +4. [Securing a Kubernetes cluster using TLS certificates](#securing-a-kubernetes-cluster-using-tls-certificates) +5. [Kubernetes Security Scanners](#kubernetes-security-scanners) +6. [Security Checklist Kubernetes OWASP](#security-checklist-kubernetes-owasp) +7. [Exposed Kubernetes Clusters](#exposed-kubernetes-clusters) +8. [NSA National Security Agent Kubernetes Hardening Guidance](#nsa-national-security-agent-kubernetes-hardening-guidance) +9. [CIS Benchmarks and CIS Operator](#cis-benchmarks-and-cis-operator) +10. [User and Workload identities in Kubernetes](#user-and-workload-identities-in-kubernetes) +11. [Service Accounts](#service-accounts) +12. [Kubernetes Secrets](#kubernetes-secrets) +13. [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) +14. [Kubernetes OpenID Connect OIDC](#kubernetes-openid-connect-oidc) 1. [OAuth2 Proxy](#oauth2-proxy) 2. [Alternatives](#alternatives) -13. [RBAC and Access Control](#rbac-and-access-control) +15. [RBAC and Access Control](#rbac-and-access-control) 1. [Tools](#tools) -14. [Kubernetes and LDAP](#kubernetes-and-ldap) -15. [Admission Control](#admission-control) -16. [Kubernetes Security Best Practices](#kubernetes-security-best-practices) -17. [Kubernetes Authentication and Authorization](#kubernetes-authentication-and-authorization) +16. [Kubernetes and LDAP](#kubernetes-and-ldap) +17. [Admission Control](#admission-control) +18. [Kubernetes Security Best Practices](#kubernetes-security-best-practices) +19. [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) -18. [Pod Security Policies (SCCs - Security Context Constraints in OpenShift)](#pod-security-policies-sccs---security-context-constraints-in-openshift) -19. [Security Profiles Operator](#security-profiles-operator) -20. [EKS Security](#eks-security) -21. [External Secrets Operator](#external-secrets-operator) -22. [CVE](#cve) +20. [Pod Security Policies (SCCs - Security Context Constraints in OpenShift)](#pod-security-policies-sccs---security-context-constraints-in-openshift) +21. [Security Profiles Operator](#security-profiles-operator) +22. [EKS Security](#eks-security) +23. [External Secrets Operator](#external-secrets-operator) +24. [CVE](#cve) 1. [Official Kubernetes CVE Feed](#official-kubernetes-cve-feed) -23. [Videos](#videos) -24. [Tweets](#tweets) +25. [Videos](#videos) +26. [Tweets](#tweets) ## Introduction @@ -138,15 +140,30 @@ - [==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) - [dev.to/pavanbelagatti: Kubernetes Security Best Practices For Developers](https://dev.to/pavanbelagatti/kubernetes-security-best-practices-for-developers-2b92) +- [==itnext.io: Journey Of A Microservice Application In The Kubernetes World== 🌟](https://itnext.io/journey-of-a-microservice-application-in-the-kubernetes-world-6abd625c60fe) Security considerations: security related tools. In this article, you will discuss some security considerations and see how you can ensure (at least to some extent) that the application's specifications follow some of the best security practices. +- [tutorialboy24.blogspot.com: A Detailed Talk about K8S Cluster Security from the Perspective of Attackers (Part 2) 🌟](https://tutorialboy24.blogspot.com/2022/09/a-detailed-talk-about-k8s-cluster.html) In this 2-part series, you will address 12 common attack points in Kubernetes clusters and discuss various risks in cloud-native scenarios based on practical experience
[![kubernetes security mindmap](images/k8s_securitymindmap.jpg)](https://www.blackhat.com/)
+## IAM Identity And Access Management in Kubernetes + +- [thenewstack.io: Cloud Native Identity and Access Management in Kubernetes](https://thenewstack.io/cloud-native-identity-and-access-management-in-kubernetes/) +- [curity.io: OAuth 2.0 Overview](https://curity.io/resources/learn/oauth-overview/) +- [curity.io: OpenID Connect Overview](https://curity.io/resources/learn/openid-connect-overview/) +- [curity.io: Client Security](https://curity.io/resources/client-security/) Client security primarily covers web and mobile, to ensure best security in the browser and on devices + +## Securing Kubernetes Deployments + +- [==dev.to/aws-builders: Best Practices for Securing Kubernetes Deployments== 🌟](https://dev.to/aws-builders/best-practices-for-securing-kubernetes-deployments-1jg6) **Although Kubernetes is a powerful container orchestration platform, its complexity and its adoption makes it a prime target for security attacks. We'll go over some of the best practices for securing the Kubernetes deployments and keeping applications and data safe in this article. This article is only about pods or deployments.** + ## Securing a Kubernetes cluster using TLS certificates - [thenewstack.io: Jetstack Secure Promises to Ease Kubernetes TLS Security](https://thenewstack.io/jetstack-secure-promises-to-ease-kubernetes-tls-security/) - [==xgrid.medium.com: Securing a Kubernetes cluster using TLS certificates== 🌟](https://xgrid.medium.com/securing-a-kubernetes-cluster-using-tls-certificates-5e64a6bb26de) +- [ahmedy.hashnode.dev: Creating TLS Certificates for K8s components with OpenSSL](https://ahmedy.hashnode.dev/creating-tls-certificates-for-k8s-components-with-openssl) In this guide, you will discuss how to create key/certificate pairs using OpenSSL to facilitate secure communication between Kubernetes Cluster components +- [==erkanzileli.medium.com: How TLS Certificates Work==](https://erkanzileli.medium.com/how-tls-certificates-work-422d95f1df5e) ## Kubernetes Security Scanners @@ -242,6 +259,7 @@ - [==mjarosie.github.io: IAM roles for Kubernetes service accounts - deep dive==](https://mjarosie.github.io/dev/2021/09/15/iam-roles-for-kubernetes-service-accounts-deep-dive.html) - [linkerd.io: Using Kubernetes's new Bound Service Account Tokens for secure workload identity](https://linkerd.io/2021/12/28/using-kubernetess-new-bound-service-account-tokens-for-secure-workload-identity/) - [medium.com/pareture: Kubernetes Bound Projected Service Account Token Volumes Might Surprise You](https://medium.com/pareture/kubernetes-bound-projected-service-account-token-volumes-might-surprise-you-434ff2cd1483) There is an important difference to understand and remember between default Service Account Projection and Bound Service Account Token Volumes. +- [medium.com/geekculture: K8s — ServiceAccount Token](https://medium.com/geekculture/k8s-serviceaccount-token-313d62aee119) K8s ServiceAccount token deep dive ## Kubernetes Secrets @@ -421,7 +439,11 @@ Each of these alternatives provides different features and may be more suitable - 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) +- [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) In this blog post, you'll cover the following topics: + - What a NetworkPolicy is, and why do you need it + - How NetworkPolicies are structured + - Best practices for defining NetworkPolicies + - An example of defining NetworkPolicies - [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) diff --git a/docs/kubernetes-storage.md b/docs/kubernetes-storage.md index 0ed4debc..923b0ee8 100644 --- a/docs/kubernetes-storage.md +++ b/docs/kubernetes-storage.md @@ -79,6 +79,9 @@ - [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. - [containiq.com: Kubernetes Ephemeral Volumes & Storage | Tutorial](https://www.containiq.com/post/kubernetes-ephemeral-storage) In this article, we’ll discuss how Kubernetes handles ephemeral storage and learn how these volumes are provisioned in operating clusters. +- [medium.com/nerd-for-tech: Persistence with Kubernetes](https://medium.com/nerd-for-tech/persistence-with-kubernetes-46f039d9a2ad) +- [cncf.io: Kubernetes storage is complex, but it’s getting better](https://www.cncf.io/blog/2023/03/28/kubernetes-storage-is-complex-but-its-getting-better/) +- [==yuminlee2.medium.com: Kubernetes: Storage==](https://yuminlee2.medium.com/kubernetes-storage-fe5363d88d42) **In Kubernetes, pods are temporary and any data stored within them is lost when they’re deleted or restarted. To avoid this, use persistent storage options such as PVs(Persistent Volumes)and PVCs(Persistent Volume Claims). PVs are storage resources with an independent lifecycle, while PVCs are requests for storage. Use them for simplified storage management and scaling. Provisioning persistent volumes can be static or dynamic. StorageClass defines the provisioner, parameters, and reclaim policy for dynamically provisioned PVs.** ## Kubernetes Storage Classes @@ -111,6 +114,8 @@ - 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. - [devineer.medium.com: Get to Grips with Kubernetes Volumes: A Practical Tutorial](https://devineer.medium.com/get-to-grips-with-kubernetes-volumes-a-practical-tutorial-c41853c64f02) +- [airplane.dev: How to use Kubernetes ephemeral volumes & storage 🌟](https://www.airplane.dev/blog/kubernetes-ephemeral-storage) This tutorial will discuss how Kubernetes handles ephemeral storage and how these volumes are provisioned in operating clusters. +- [blog.devgenius.io: When K8s pods are stuck mounting large volumes](https://blog.devgenius.io/when-k8s-pods-are-stuck-mounting-large-volumes-2915e6656cb8) ### Kubernetes Volumes Guide @@ -254,6 +259,7 @@ edge. MinIO is software-defined and is 100% open source under GNU AGPL v3. - [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. +- [github.com/yandex-cloud: CSI for S3](https://github.com/yandex-cloud/k8s-csi-s3) This is a Container Storage Interface (CSI) for S3 (or S3 compatible) storage. This can dynamically allocate buckets and mount them via a fuse mount into any container. ## Kubestr diff --git a/docs/kubernetes-tools.md b/docs/kubernetes-tools.md index 328e75f5..21c582fc 100644 --- a/docs/kubernetes-tools.md +++ b/docs/kubernetes-tools.md @@ -2,86 +2,86 @@ 1. [Introduction](#introduction) 2. [K8s Tools](#k8s-tools) -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) +3. [kcp](#kcp) +4. [Clusternet](#clusternet) +5. [Open Cluster Management](#open-cluster-management) +6. [Penetration Testing Tools](#penetration-testing-tools) +7. [Deckhouse Kubernetes Platform](#deckhouse-kubernetes-platform) +8. [KubeIP (GKE)](#kubeip-gke) +9. [Porter](#porter) +10. [Datree. Quality Checks for Kubernetes YAMLs](#datree-quality-checks-for-kubernetes-yamls) +11. [Kaniko Build Images in Kubernetes without docker](#kaniko-build-images-in-kubernetes-without-docker) +12. [Shipwright Framework for Building Container Images on Kubernetes](#shipwright-framework-for-building-container-images-on-kubernetes) +13. [BuildKit CLI for kubectl](#buildkit-cli-for-kubectl) +14. [Buildpacks vs Dockerfiles](#buildpacks-vs-dockerfiles) +15. [Kubevela](#kubevela) +16. [Pixie. Instantly troubleshoot applications on Kubernetes](#pixie-instantly-troubleshoot-applications-on-kubernetes) +17. [Dekorate. Generate k8s manifests for java apps](#dekorate-generate-k8s-manifests-for-java-apps) +18. [Kubesploit](#kubesploit) +19. [Kubeshop](#kubeshop) +20. [Monokle](#monokle) +21. [KubeLibrary](#kubelibrary) +22. [kube-vip](#kube-vip) +23. [Kubermetrics](#kubermetrics) +24. [Kustomizer](#kustomizer) +25. [MetalLB](#metallb) +26. [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) +27. [Usernetes](#usernetes) +28. [k8syaml.com](#k8syamlcom) +29. [Popeye](#popeye) +30. [kbrew](#kbrew) +31. [KubExplorer](#kubexplorer) +32. [Kubescape](#kubescape) +33. [Kubectl Connections](#kubectl-connections) +34. [Benchmark Operator](#benchmark-operator) +35. [Source-To-Image (S2I)](#source-to-image-s2i) +36. [VMware Tanzu Octant](#vmware-tanzu-octant) +37. [Qovery Engine](#qovery-engine) +38. [mck8s Container orchestrator for multi-cluster Kubernetes](#mck8s-container-orchestrator-for-multi-cluster-kubernetes) +39. [Shipwright framework](#shipwright-framework) +40. [Schiff (Deutsche Telekom)](#schiff-deutsche-telekom) +41. [NetMaker](#netmaker) +42. [AWS Karpenter kubernetes Autoscaler](#aws-karpenter-kubernetes-autoscaler) +43. [Kuby (easy deployments of Ruby Rails App)](#kuby-easy-deployments-of-ruby-rails-app) +44. [Direktiv](#direktiv) +45. [Jabos](#jabos) +46. [Pleco](#pleco) +47. [Mesh-kridik](#mesh-kridik) +48. [kubewatch](#kubewatch) +49. [Botkube](#botkube) +50. [Robusta](#robusta) +51. [Soup GitOps Operator](#soup-gitops-operator) +52. [Epinio](#epinio) +53. [Testkube](#testkube) +54. [KuberLogic](#kuberlogic) +55. [Kusk](#kusk) +56. [Azure AD Workload Identity](#azure-ad-workload-identity) +57. [Kubernate](#kubernate) +58. [Tackle](#tackle) +59. [Azure Placement Policy Scheduler Plugins](#azure-placement-policy-scheduler-plugins) +60. [Azure AAD Pod Identity](#azure-aad-pod-identity) +61. [MicroShift](#microshift) +62. [kubefwd (Kube Forward)](#kubefwd-kube-forward) +63. [Kpng. Kubernetes Proxy NG](#kpng-kubernetes-proxy-ng) +64. [Auto-portforward (apf)](#auto-portforward-apf) +65. [gardener/Terraformer](#gardenerterraformer) +66. [Werf](#werf) +67. [Starboard kubernetes-native security toolkit](#starboard-kubernetes-native-security-toolkit) +68. [Netshoot](#netshoot) +69. [The Hierarchical Namespace Controller (HNC)](#the-hierarchical-namespace-controller-hnc) +70. [Kratix](#kratix) +71. [gRPC-Gateway](#grpc-gateway) +72. [KubeOrbit. Test your app on kubernetes](#kubeorbit-test-your-app-on-kubernetes) +73. [Mizu API Traffic Viewer for Kubernetes](#mizu-api-traffic-viewer-for-kubernetes) +74. [vcluster](#vcluster) +75. [Kateyes](#kateyes) +76. [Keepass Secret](#keepass-secret) +77. [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) +78. [Azure Eraser](#azure-eraser) +79. [Data Pipeline Workflow Schedulers](#data-pipeline-workflow-schedulers) +80. [ConfigMap Reloader](#configmap-reloader) 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) @@ -96,8 +96,10 @@ 92. [Observability Monitoring Tools](#observability-monitoring-tools) 1. [Debugging and Troubleshooting Tools](#debugging-and-troubleshooting-tools) 93. [Security](#security) -94. [Tweets](#tweets) -95. [Videos](#videos) +94. [Develop microservices locally while being connected to your Kubernetes environment](#develop-microservices-locally-while-being-connected-to-your-kubernetes-environment) +95. [AI Tools](#ai-tools) +96. [Tweets](#tweets) +97. [Videos](#videos) ## Introduction @@ -279,6 +281,7 @@ - [helm-ecr 🌟](https://github.com/vetyy/helm-ecr) is a Helm plugin that supports installing Charts from AWS ECR. - [PipeCD](https://github.com/pipe-cd/pipe) is a continuous delivery system for declarative Kubernetes, Serverless, and Infrastructure applications. - [kubecolor 🌟](https://github.com/dty1er/kubecolor) colorises your kubectl output + - [blog.devgenius.io: K8s — Kubecolor Introduction](https://blog.devgenius.io/k8s-kubecolor-introduction-3d650effc36f) - [kubectl-sudo](https://github.com/postfinance/kubectl-sudo) This plugin allows users to run kubernetes commands with the security privileges of another user. - [kfilt](https://github.com/ryane/kfilt) is a tool that lets you filter specific resources from a stream of Kubernetes YAML manifests. It can read manifests from a file, URL, or from stdin. - [k8s-mirror: Creates a local mirror of a kubernetes cluster in a docker container to support offline reviewing 🌟](https://github.com/darkbitio/k8s-mirror) @@ -391,7 +394,6 @@ - [jsonnet-controller](https://github.com/pelotech/jsonnet-controller) A fluxcd controller for managing manifests declared in jsonnet. - [rback: RBAC in Kubernetes visualizer 🌟🌟](https://github.com/team-soteria/rback) A simple "RBAC in Kubernetes" visualizer. No matter how complex the setup, rback queries all RBAC related information of an Kubernetes cluster in constant time and generates a graph representation of service accounts, (cluster) roles, and the respective access rules in dot format. - [github: Kubernetes JSON Schemas 🌟](https://github.com/instrumenta/kubernetes-json-schema) Schemas for every version of every object in every version of Kubernetes -- [kcp: a prototype of a Kubernetes API server that is not a Kubernetes cluster - a place to create, update, and maintain Kube-like APIs with controllers above or without clusters](https://github.com/kcp-dev/kcp) Kubernetes is mainly known as a container orchestration platform today, but we believe it can be even more. With the power of CustomResourceDefinitions, Kubernetes provides a flexible platform for declarative APIs of all types, and the reconciliation pattern common to Kubernetes controllers is a powerful tool in building robust, expressive systems. At the same time, a diverse and creative community of tools and services has sprung up around Kubernetes APIs. Imagine a declarative Kubernetes-style API for anything, supported by an ecosystem of Kubernetes-aware tooling, separate from Kubernetes-the-container-orchestrator. That's kcp. - [Metacontroller](https://github.com/metacontroller/metacontroller) Metacontroller is an add-on for Kubernetes that makes it easy to write and deploy custom controllers in the form of simple scripts. - [KubeCarrier - Service Management at Scale](https://github.com/kubermatic/kubecarrier) KubeCarrier is an open source system for managing applications and services across multiple Kubernetes Clusters; providing a framework to centralize the management of services and provide these services with external users in a self service hub. - [github.com: NFS Ganesha server and external provisioner](https://github.com/kubernetes-sigs/nfs-ganesha-server-and-external-provisioner) NFS Ganesha Server and Volume Provisioner. nfs-ganesha-server-and-external-provisioner is an out-of-tree dynamic provisioner for Kubernetes 1.14+. You can use it to quickly & easily deploy shared storage that works almost anywhere. @@ -501,7 +503,7 @@ - [groundnuty/k8s-wait-for 🌟](https://github.com/groundnuty/k8s-wait-for) A simple script that allows to wait for a k8s service, job or pods to enter a desired state - [nabsul/k8s-ecr-login-renew: Renew Kubernetes Docker secrets for AWS ECR](https://github.com/nabsul/k8s-ecr-login-renew) Renews Docker login credentials for an AWS ECR container registry. - [particledecay/kconf](https://github.com/particledecay/kconf) Manage multiple kubeconfigs easily -- [maruina/aws-auth-manager: K8s controller to manage the aws-auth configmap](https://github.com/maruina/aws-auth-manager) A kuberneres controller to manage the aws-auth configmap in EKS using a new AWSAuthItem CRD. +- [maruina/aws-auth-manager: K8s controller to manage the aws-auth configmap](https://github.com/maruina/aws-auth-manager) aws-auth-manager is a Kubernetes controller designed to manage the aws-auth ConfigMap in EKS using a new AWSAuthItem CRD - [segmentio/kubectl-curl: Kubectl plugin to run curl commands against kubernetes pods](https://github.com/segmentio/kubectl-curl) - [wallarm/sysbindings](https://github.com/wallarm/sysbindings) sysctl/sysfs settings on a fly for Kubernetes Cluster. No restarts are required for clusters and nodes. - [==atombender/ktail== 🌟](https://github.com/atombender/ktail) ktail is a tool to easily tail Kubernetes logs. It's like kubectl logs, but with a bunch of features to make it more convenient: @@ -589,6 +591,24 @@ - [github.com/Skarlso/crd-to-sample-yaml](https://github.com/Skarlso/crd-to-sample-yaml) card-to-sample-YAML lets you generate a sample YAML file from a Custom Resource Definition - [==github.com/alexellis/run-job==](https://github.com/alexellis/run-job) Run a Kubernetes Job and get the logs when it's done 🏃‍♂️ - [github.com/JovianX/Service-Hub](https://github.com/JovianX/Service-Hub) Service Hub is a tool to create and manage a Self-Service portal for your applications using Kubernetes and Helm +- [medium.com/@markcallen_devops: Setup Kubernetes Admin on Linux with Brew](https://medium.com/@markcallen_devops/setup-kubernetes-admin-on-linux-with-brew-da143cef1c90) +- [github.com/ahmetb/kubectl-foreach: kubectl foreach ⭐](https://github.com/ahmetb/kubectl-foreach) kubectl-foreach is a kubectl plugin that runs a kubectl command in one or more contexts (clusters) in parallel (similar to GNU parallel/xargs) +- [github.com/kubernetes-sigs/etcdadm ⭐](https://github.com/kubernetes-sigs/etcdadm) etcdadm is a command-line tool for operating an etcd cluster. It makes it easy to create a new cluster, add a member to, or remove a member from an existing cluster. Its user experience is inspired by kubeadm. +- [infoq.com: Kwok, a Tool to Spin up Kubernetes Nodes in a Second](https://www.infoq.com/news/2023/03/kwok-kubernetes/) +- [==github.com/jetpack-io/launchpad== ⭐](https://github.com/jetpack-io/launchpad) Launchpad is a command-line tool that lets you easily create applications on Kubernetes. In practice, Launchpad works similar to Heroku or Vercel, except everything is on Kubernetes. +- [github.com/OvidiuBorlean/kubectl-sockperf](https://github.com/OvidiuBorlean/kubectl-sockperf) Kubectl Sockperf plugin - Latency Measurement in Kubernetes +- [github.com/oslabs-beta/Ekkremis](https://github.com/oslabs-beta/Ekkremis) This repository contains the code for Ekkremis: a Prometheus-based alert manager to resolve kubernetes pods pending issues +- [==github.com/jonmosco/kube-ps1== ⭐](https://github.com/jonmosco/kube-ps1) Kubernetes prompt for bash and zsh. **kube-ps1 is a script that lets you add the current Kubernetes context and namespace configured on kubectl to your Bash/Zsh prompt strings (i.e. the `$PS1`)** +- [==github.com/cloudnativelabs/kube-shell== ⭐](https://github.com/cloudnativelabs/kube-shell) **Kube-shell is an integrated shell for working with the Kubernetes CLI. Under the hood, Kube-shell still calls kubectl. Kube-shell aims to provide ease-of-use of kubectl and increase productivity.** +- [github.com/DataCater/datacater (real-time, cloud-native data pipeline platform)](https://github.com/DataCater/datacater) The developer-friendly ETL platform for transforming data in real-time. Based on Apache Kafka® and Kubernetes®. DataCater helps you to build modern, real-time data pipelines with Apache Kafka and Kubernetes. You can choose from an extensive repository of filter functions, apply transformations, or code your own transforms in Python. + +## kcp + +- https://github.com/kcp-dev/ +- [kcp: a prototype of a Kubernetes API server that is not a Kubernetes cluster - a place to create, update, and maintain Kube-like APIs with controllers above or without clusters](https://github.com/kcp-dev/kcp) Kubernetes is mainly known as a container orchestration platform today, but we believe it can be even more. With the power of CustomResourceDefinitions, Kubernetes provides a flexible platform for declarative APIs of all types, and the reconciliation pattern common to Kubernetes controllers is a powerful tool in building robust, expressive systems. At the same time, a diverse and creative community of tools and services has sprung up around Kubernetes APIs. Imagine a declarative Kubernetes-style API for anything, supported by an ecosystem of Kubernetes-aware tooling, separate from Kubernetes-the-container-orchestrator. That's kcp. +- [cloudnativesimplified.substack.com: kcp: Kubernetes-like control plane](https://cloudnativesimplified.substack.com/p/tool-series-1-kcp) kcp is a control plane for workloads on many clusters. In this article, you will explore how to use it to manage multiple tenants: + - In a single cluster with workspaces (isolated namespaces) + - In multiple clusters with SyncTarget and Placements ## Clusternet @@ -934,6 +954,7 @@ - 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) +- [blog.werf.io: werf v1.2 is now stable! Here’s what it is all about](https://blog.werf.io/werf-v1-2-is-now-stable-heres-what-it-is-all-about-832ed647810f) werf is an Open Source CLI tool for building applications and deploying them to Kubernetes clusters. Version 1.2 features many new changes and improvements. ## Starboard kubernetes-native security toolkit @@ -1014,10 +1035,6 @@ - In Kubernetes, When we make some changes to a ConfigMap or Secret, new data is not automatically propagated to the pods from that configmap/secret. We often need to restart the pods to load new data. - This can be achieved using a tool ‘Reloader’. It is a Kubernetes controller which watch the changes made to secrets and ConfigMaps and perform rolling upgrades on pods with their associated Deployments, StatefulSets or DaemonSets. It is an Opensource tool provided by Stakater who also provide various other enterprise K8s solutions. -## Infra - -- [infrahq/infra 🌟](https://github.com/infrahq/infra) Infra enables you to discover and access infrastructure (e.g. Kubernetes, databases). It helps you connect an identity provider such as Okta or Azure active directory, and map users/groups with the permissions you set to your infrastructure. - ## Kluctl - [kluctl.io 🌟](https://kluctl.io) Kluctl is the missing glue to put together large Kubernetes deployments. It allows you to declare and manage multi-environment and multi-cluster deployments. Kluctl does not have cluster-side dependencies and works out of the box. @@ -1030,6 +1047,7 @@ - [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 - [m9sweeper/m9sweeper](https://github.com/m9sweeper/m9sweeper) m9sweeper is a complete kubernetes security platform that wraps trivy, project falco, kube-bench, kube-hunter, kubesec, and OPA Gatekeeper into one easy to manage user interface. +- [github.com/reddec/keycloak-ext-operator](https://github.com/reddec/keycloak-ext-operator) Creates OAuth clients in Keycloak and creates corresponding secrets in kubernetes ## PureLB @@ -1046,6 +1064,7 @@ - [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) - [tonylixu.medium.com: K8s Tools — K9s, Terminal Based UI to Manage Your Cluster](https://tonylixu.medium.com/devops-in-k8s-k9s-terminal-based-ui-to-manage-your-cluster-85b4f147e209) Introduction to K9s CLI, a K8s management tool +- [kubetools.io: Why K9s Should Be Your Go-To Tool for Kubernetes Management](https://www.kubetools.io/kubernetes/why-k9s-should-be-your-go-to-tool-for-kubernetes-management/) ## Pluto @@ -1084,10 +1103,21 @@ - [github.com/JamesTGrant/kubectl-debug](https://github.com/JamesTGrant/kubectl-debug) kubectl-debug is a tool that lets you debug a target container in a Kubernetes cluster by automatically creating a new, non-invasive, 'debug' container in the same PID, network, user, and IPC namespace as the target container without any disruption - [github.com/AdamRussak/k8f](https://github.com/AdamRussak/k8f) A simple go tool to check that your cluster is in supported version written in GO. k8f is a command line tool to find, list, connect and check versions for kubernetes clusters. With k8f you can connect at once to all clusters tagged as "AWS" or find a specific cluster in your kubeconfig. - [==github.com/komodorio/validkube==](https://github.com/komodorio/validkube) Validkube combines the best open-source tools to help ensure Kubernetes YAML best practices, hygiene & security +- [github.com/box/kube-iptables-tailer](https://github.com/box/kube-iptables-tailer) A service for better network visibility for your Kubernetes clusters. kube-iptables-tailer is a service that gives you better visibility on networking issues in your Kubernetes cluster by detecting the traffic denied by iptables and surfacing corresponding information to the affected Pods via Kubernetes events. +- [github.com/OvidiuBorlean/kubectl-windumps](https://github.com/OvidiuBorlean/kubectl-windumps) Network traffic capture in AKS Windows Nodes ## Security - [github.com/controlplaneio/badrobot](https://github.com/controlplaneio/badrobot) Badrobot is a Kubernetes Operator audit tool. It statically analyses manifests for high-risk configurations such as lack of security restrictions on the deployed controller and the permissions of an associated clusterole. +- [==infrahq/infra== 🌟](https://github.com/infrahq/infra) Infra enables you to discover and access infrastructure (e.g. Kubernetes, databases). It helps you connect an identity provider such as Okta or Azure active directory, and map users/groups with the permissions you set to your infrastructure. **Infra provides authentication and access management to servers, clusters, and databases** + +## Develop microservices locally while being connected to your Kubernetes environment + +- [github.com/we-dcode/kubetunnel](https://github.com/we-dcode/kubetunnel) + +## AI Tools + +- [kubetools.io: KoPylot: An AI-Powered Kubernetes Assistant for DevOps & Developers](https://www.kubetools.io/kubernetes/kopylot-an-ai-powered-kubernetes-assistant-for-devops-developers/) ## Tweets diff --git a/docs/kubernetes-troubleshooting.md b/docs/kubernetes-troubleshooting.md index 98b0b06f..d5ea088e 100644 --- a/docs/kubernetes-troubleshooting.md +++ b/docs/kubernetes-troubleshooting.md @@ -1,27 +1,29 @@ # Kubernetes Troubleshooting 1. [Introduction](#introduction) -2. [ImagePullBackOff](#imagepullbackoff) -3. [CrashLoopBackOff](#crashloopbackoff) -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. [Pod in Terminating or Unknown Status](#pod-in-terminating-or-unknown-status) -7. [OOM Kills](#oom-kills) -8. [Pause Container](#pause-container) -9. [Preempted Pod](#preempted-pod) -10. [Evited Pods](#evited-pods) -11. [Stuck Namespace](#stuck-namespace) -12. [Access PVC Data without the POD](#access-pvc-data-without-the-pod) -13. [CoreDNS issues](#coredns-issues) -14. [Debugging Techniques and Strategies. Debugging with ephemeral containers](#debugging-techniques-and-strategies-debugging-with-ephemeral-containers) -15. [Troubleshooting Tools](#troubleshooting-tools) +2. [Kubernetes Network Troubleshooting](#kubernetes-network-troubleshooting) +3. [Exit Codes in Containers and Kubernetes](#exit-codes-in-containers-and-kubernetes) +4. [ImagePullBackOff](#imagepullbackoff) +5. [CrashLoopBackOff](#crashloopbackoff) +6. [Failed to Create Pod Sandbox](#failed-to-create-pod-sandbox) +7. [Terminated with exit code 1 error](#terminated-with-exit-code-1-error) +8. [Pod in Terminating or Unknown Status](#pod-in-terminating-or-unknown-status) +9. [OOM Kills](#oom-kills) +10. [Pause Container](#pause-container) +11. [Preempted Pod](#preempted-pod) +12. [Evited Pods](#evited-pods) +13. [Stuck Namespace](#stuck-namespace) +14. [Access PVC Data without the POD](#access-pvc-data-without-the-pod) +15. [CoreDNS issues](#coredns-issues) +16. [Debugging Techniques and Strategies. Debugging with ephemeral containers](#debugging-techniques-and-strategies-debugging-with-ephemeral-containers) +17. [Troubleshooting Tools](#troubleshooting-tools) 1. [Komodor](#komodor) 2. [Palaemon](#palaemon) 3. [cdebug and debug-ctr](#cdebug-and-debug-ctr) 4. [kubectl-debug](#kubectl-debug) -16. [Slides](#slides) -17. [Images](#images) -18. [Tweets](#tweets) +18. [Slides](#slides) +19. [Images](#images) +20. [Tweets](#tweets) ## Introduction @@ -80,6 +82,17 @@ - [thenewstack.io: What David Flanagan Learned Fixing Kubernetes Clusters](https://thenewstack.io/what-david-flanagan-learned-fixing-kubernetes-clusters/) David Flanagan has fixed 50+ Kubernetes clusters as part of his YouTube series, 'Klustered.' He shared what he learned at Civo Navigate. - [==github.com/metaleapca: metaleap-k8s-troubleshooting.pdf== 🌟🌟🌟](https://github.com/metaleapca/metaleap-k8s-troubleshooting/blob/main/metaleap-k8s-troubleshooting.pdf) - [nicolasbarlatier.hashnode.dev: .NET Core Tip 2: How to troubleshoot Memory Leaks within a .NET Console application running in a Linux Docker Container in Kubernetes](https://nicolasbarlatier.hashnode.dev/net-core-tip-2-how-to-troubleshoot-memory-leaks-within-a-net-console-application-running-in-a-linux-docker-container-in-kubernetes) In this step-by-step guide, you will learn how to troubleshoot a memory leak in a .Net Core application running within a Kubernetes cluster. +- [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. In this article, you will create and deploy a (broken) CronJob. Then you will debug it and in the process learn about environment variables, RBAC, pod resource configuration, logging, and more +- [==dzone.com: Tackling the Top 5 Kubernetes Debugging Challenges==](https://dzone.com/articles/tackling-the-top-5-kubernetes-debugging-challenges) Bugs are inevitable and typically occur as a result of an error or oversight. Learn five Kubernetes debugging challenges and how to tackle them. +- [levelup.gitconnected.com: Access Kubernetes Objects Data From /Proc Directory 🌟](https://levelup.gitconnected.com/access-kubernetes-objects-data-from-proc-directory-8d2ec6a0faba) **The `/proc` directory is a special directory that holds all the details about our Linux system, such as — kernel, processes, and configuration parameters. In this article, you will learn how to explore the directory in a Kubernetes cluster** + +## Kubernetes Network Troubleshooting + +- [==hwchiu.medium.com: Kubernetes Network Troubleshooting Approach== 🌟](https://hwchiu.medium.com/kubernetes-network-troubleshooting-approach-701de9463493) + +## Exit Codes in Containers and Kubernetes + +- [==komodor.com: Exit Codes In Containers & Kubernetes – The Complete Guide== 🌟](https://komodor.com/learn/exit-codes-in-containers-and-kubernetes-the-complete-guide/) In this article, you will learn everything there is to know about exit codes used by container engines to indicate reasons for container termination. ## ImagePullBackOff @@ -92,7 +105,7 @@ - [devtron.ai: Troubleshoot: Pod Crashloopbackoff](https://devtron.ai/blog/troubleshoot_crashloopbackoff_pod/) - [erkanerol.github.io: I wish pods were fully restartable](https://erkanerol.github.io/post/restartable-pods/) Why are Pod not fully restartable in Kubernetes? Why is Kubernetes not restarting the Pod in **CrashLoopBackOff**? - [pauldally.medium.com: Why Leaving Pods in CrashLoopBackOff Can Have a Bigger Impact Than You Might Think](https://pauldally.medium.com/why-leaving-pods-in-crashloopbackoff-can-have-a-bigger-impact-than-you-might-think-c0d3dbd067a) -- [sysdig.com: What is Kubernetes CrashLoopBackOff? And how to fix it](https://sysdig.com/blog/debug-kubernetes-crashloopbackoff/) CrashLoopBackOff is a Kubernetes state representing a restart loop that is happening in a Pod: a container in the Pod is started but crashes and is then restarted over and over again. Learn what it is and how to fix it in this article +- [sysdig.com: What is Kubernetes CrashLoopBackOff? And how to fix it 🌟](https://sysdig.com/blog/debug-kubernetes-crashloopbackoff/) CrashLoopBackOff is a Kubernetes state representing a restart loop that is happening in a Pod: a container in the Pod is started but crashes and is then restarted over and over again. Learn what it is and how to fix it in this article ## Failed to Create Pod Sandbox @@ -167,10 +180,12 @@ - [==heka-ai.medium.com: Introduction to Debugging: locally and live on Kubernetes with VSCode== 🌟](https://heka-ai.medium.com/introduction-to-debugging-locally-and-live-on-kubernetes-8c8ecd3acbaa) In this article, you'll learn how to debug your code in real-time on a Pod running on Kubernetes using VS Code - [iximiuz.com: Kubernetes Ephemeral Containers and kubectl debug Command 🌟](https://iximiuz.com/en/posts/kubernetes-ephemeral-containers/) Learn how to use Ephemeral Containers to debug Kubernetes workloads with and without the kubectl debug command - [eminaktas.medium.com: Debug Containerd in Production](https://eminaktas.medium.com/debug-containerd-in-production-fe93ef4e3ce2) In this article, you will learn how you can debug containerd with VSCode in a remote production environment. +- [medium.com/@alex.ivenin: Exploring ephemeral containers in kubernetes 🌟](https://medium.com/@alex.ivenin/exploring-ephemeral-containers-in-kubernetes-bcceaf21101c) Ephemeral containers, a feature that was introduced in Kubernetes 1.16 as an alpha release, advanced to beta status in version 1.23, and has finally graduated to stable status in Kubernetes 1.25. This capability provides an easy and safe way to debug running containers in a pod, without requiring full access to the underlying node. ## Troubleshooting Tools - [github.com/replicatedhq/troubleshoot](https://github.com/replicatedhq/troubleshoot) Troubleshoot is a framework for collecting and analyzing diagnostic information about a Kubernetes cluster. The framework is customizable and allows third-party application developers to create troubleshoot specs that can be run by cluster operators. +- [github.com/airwallex: k8s-pod-restart-info-collector](https://github.com/airwallex/k8s-pod-restart-info-collector) k8s-pod-restart-info-collector is a simple Kubernetes customer controller that watches for Pods changes and collects K8s Pod restart reasons, logs, and events to Slack channels when a Pod restarts ### Komodor diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 09cc6303..e9f6cc0c 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -10,8 +10,9 @@ 4. [Kubernetes Failure Stories](#kubernetes-failure-stories) 5. [Kubernetes Maturity Model](#kubernetes-maturity-model) 6. [Cloud Native Learn by doing platforms](#cloud-native-learn-by-doing-platforms) - 7. [Kubernetes Installation Methods](#kubernetes-installation-methods) - 8. [Kubernetes Knowledge Hubs](#kubernetes-knowledge-hubs) + 7. [Kubernetes Scalability Thresholds](#kubernetes-scalability-thresholds) + 8. [Kubernetes Installation Methods](#kubernetes-installation-methods) + 9. [Kubernetes Knowledge Hubs](#kubernetes-knowledge-hubs) 1. [Kubernetes Podcasts](#kubernetes-podcasts) 2. [Kubernetes Blogs](#kubernetes-blogs) 3. [Spanish Kubernetes Blogs](#spanish-kubernetes-blogs) @@ -282,6 +283,18 @@ - [==medium.com/@deepeshjaiswal6734: An Introduction to Kubernetes Architecture && Kubernetes Object deep dive-1== 🌟](https://medium.com/@deepeshjaiswal6734/an-introduction-to-kubernetes-architecture-kubernetes-object-deep-dive-1-77205e56db5) - [dev.to: Kubernetes 101, part I, the fundamentals | Leandro Proença](https://dev.to/leandronsp/kubernetes-101-part-i-the-fundamentals-23a1) - [dormoshe.io: Kubernetes 101, part I, the fundamentals | Leandro Proença](https://dormoshe.io/trending-news/kubernetes-101-part-i-the-fundamentals-23a1-60035) +- [cncf.io: THE ILLUSTRATED CHILDREN’S GUIDE TO KUBERNETES 🌟](https://www.cncf.io/phippy/the-childrens-illustrated-guide-to-kubernetes/) +- [dev.to/leandronsp: Kubernetes 101, part I, the fundamentals](https://dev.to/leandronsp/kubernetes-101-part-i-the-fundamentals-23a1) + - [dev.to/leandronsp: Kubernetes 101, part II, pods](https://dev.to/leandronsp/kubernetes-101-part-ii-pods-19pb) + - [dev.to/leandronsp: Kubernetes 101, part III, controllers and self-healing](https://dev.to/leandronsp/kubernetes-101-part-iii-controllers-and-self-healing-4ki5) + - [dev.to/leandronsp: Kubernetes 101, part IV, deployments](https://dev.to/leandronsp/kubernetes-101-part-iv-deployments-20m3) + - [dev.to/leandronsp: Kubernetes 101, part V, statefulsets](https://dev.to/leandronsp/kubernetes-101-part-v-statefulsets-5dob) + - [dev.to/leandronsp: Kubernetes 101, part VI, daemonsets](https://dev.to/leandronsp/kubernetes-101-part-vi-daemonsets-1ph0) + - [dev.to/leandronsp: Kubernetes 101, part VII, jobs and cronjobs](https://dev.to/leandronsp/kubernetes-101-part-vii-jobs-and-cronjobs-12kg) +- [yuminlee2.medium.com: Kubernetes: Understanding Kubernetes Architecture through a Restaurant Chef’s Analogy](https://yuminlee2.medium.com/kubernetes-understanding-kubernetes-architecture-through-a-restaurant-chefs-analogy-b89f38d8b95a) +- [==medium.com/jamf-engineering: How three lines of configuration solved our gRPC scaling issues in Kubernetes== 🌟](https://medium.com/jamf-engineering/how-three-lines-of-configuration-solved-our-grpc-scaling-issues-in-kubernetes-ca1ff13f7f06) **It all started with a question I asked our senior software engineer: “Forget the speed of communication. Is it really better for you to develop communication in gRPC instead of REST?” The answer I didn’t want to get came immediately: “Absolutely yes.”** +- [thenewstack.io: A Platform for Kubernetes](https://thenewstack.io/a-platform-for-kubernetes/) Kubernetes community can greatly benefit from internal developer platforms to simplify its adoption and day-to-day usage. +- [blog.devgenius.io: DevOps in K8s — Deployment Rolling Update](https://blog.devgenius.io/devops-in-k8s-deployment-rolling-update-f022285c6f90) DevOps in K8s bootcamp series ### Kubernetes Jobs Market @@ -302,6 +315,8 @@ - [kube.careers: Kubernetes jobs market trends for 2022 Q3](https://kube.careers/kubernetes-trend-report-2022-q3) - [kube.careers: Kubernetes jobs market trends for 2022 Q4](https://kube.careers/kubernetes-trend-report-2022-q4) What's the average salary for a Kubernetes engineer? It's €82,554 in Europe & $133,918 in North America. How necessary are certifications? Not as much as you think. A lot more questions answered in our yearly report for 2022 - [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. +- [medium.com/@dfrancisczok: Introduction to Kubernetes — other Kubernetes components and abstract concepts | Dave Frank](https://medium.com/@dfrancisczok/introduction-to-kubernetes-other-kubernetes-components-and-abstract-concepts-7dfa4955d845) +- [levelup.gitconnected.com: Kubernetes 101: Understanding the Basics of Container Orchestration](https://levelup.gitconnected.com/kubernetes-101-understanding-the-basics-of-container-orchestration-898562f45651) Kubernetes is a container orchestration system that helps you to automates the process of deploying, scaling, and managing containerized apps across multiple hosts ### Certified Kubernetes Offerings @@ -342,9 +357,14 @@ - https://play-with-docker.com - https://play-with-k8s.com +### Kubernetes Scalability Thresholds + +- [github.com/kubernetes: Kubernetes Scalability thresholds](https://github.com/kubernetes/community/blob/master/sig-scalability/configs-and-limits/thresholds.md) + ### Kubernetes Installation Methods - [itnext.io: Kubernetes Installation Methods The Complete Guide](https://itnext.io/kubernetes-installation-methods-the-complete-guide-1036c860a2b3) +- [medium.com/@DevOpsfreak: Top 12 Kubernetes Installation Errors You Can’t Afford to Miss](https://medium.com/@DevOpsfreak/top-12-kubernetes-installation-errors-you-cant-afford-to-miss-b52d7cda1a52) Common Errors Encountered During Kubernetes Installation and How to Resolve Them {== @@ -616,7 +636,7 @@ - [blog.px.dev: Where are my container's files? Inspecting container filesystems](https://blog.px.dev/container-filesystems/) - [medium.com/codex: How to Deploy WordPress On Kubernetes — Part 2](https://medium.com/codex/how-to-deploy-wordpress-on-kubernetes-part-2-df1cc9cbaa2e) Learn how to deploy the WordPress on Kubernetes and connect with MySQL Pod. - [freecodecamp.org: Learn Kubernetes and Start Containerizing Your Applications](https://www.freecodecamp.org/news/learn-kubernetes-and-start-containerizing-your-applications/) -- [==komodor.com: Kubernetes Nodes – The Complete Guide==](https://komodor.com/learn/kubernetes-nodes-complete-guide/) +- [==komodor.com: Kubernetes Nodes – The Complete Guide==](https://komodor.com/learn/kubernetes-nodes-complete-guide/) K8s node is a machine that runs containerized workloads as part of a K8s cluster. Node can be physical machine or VM, and hosted on-prem or in the cloud..Cluster can have large number of nodes -upto 5,000 nodes - [medium.com/techbeatly: Chain of events behind a running Pod](https://medium.com/techbeatly/chain-of-events-behind-a-running-pod-149ebaafbfbc) What exactly happens behind the scenes when you create a pod/deployment? - [thenewstack.io: What Does It Take to Manage Hundreds of Kubernetes Clusters?](https://thenewstack.io/what-does-it-take-to-manage-hundreds-of-kubernetes-clusters/) - [medium.com/pareture: Kubernetes Scaling, Capacity and Resource Planning in Complex Clusters](https://medium.com/pareture/kubernetes-scaling-capacity-and-resource-planning-in-complex-clusters-97a6105b43a4) @@ -670,6 +690,8 @@ - [engineering.prezi.com: How to avoid global outage — Seamlessly migrating DaemonSet labels](https://engineering.prezi.com/intro-4727024fc2c1) In this case study, you'll learn how the team at Prezi managed to update the CSI driver installed as DaemonSet. This required working around the immutable `spec.selector.matchLabel` and `spec.template.metadata.labels` fields. - [medium.com/trendyol-tech: Kubernetes IO Problem Investigation](https://medium.com/trendyol-tech/kubernetes-io-problem-investigation-1e8aa0cf4909) During one of the load tests, the team at Trendyol ran into a latency issue between two APIs deployed in Kubernetes. In this case study, you will learn how the team narrowed down the issue to cAdvisor and IO operations. - [github.com/kairos-io/kairos: Kairos - Kubernetes-focused, Cloud Native Linux meta-distribution](https://github.com/kairos-io/kairos) The immutable Linux meta-distribution for edge Kubernetes. With Kairos, you can build immutable, bootable Kubernetes and OS images for your edge devices as easily as writing a Dockerfile. Optional P2P mesh with distributed ledger automates node bootstrapping and coordination. +- [medium.com/@GranulateIntel: The Fundamental Principles of Kubernetes Capacity Management](https://medium.com/@GranulateIntel/the-fundamental-principles-of-kubernetes-capacity-management-e23f388b4f3) +- [thenewstack.io: Optimizing Kubernetes for Peak Traffic and Avoiding Setbacks](https://thenewstack.io/optimizing-kubernetes-for-peak-traffic-and-avoiding-setbacks/) Machine learning and automation can help platform teams tame complexity and meet user demand with confidence. ### kubeconfig @@ -787,6 +809,9 @@ - [medium.com/@meng.yan: What Happens When Deleting a Pod](https://medium.com/@meng.yan/what-happens-when-deleting-a-pod-d1219c7e1b53) - [==itnext.io: Kubernetes Graceful Shutdown | Daniele Polencic== 🌟](https://itnext.io/how-do-you-gracefully-shut-down-pods-in-kubernetes-fb19f617cd67) - [community.ops.io: How do you gracefully shut down Pods in Kubernetes?](https://community.ops.io/danielepolencic/how-do-you-gracefully-shut-down-pods-in-kubernetes-30fa) Get tips on smoothly decommissioning your k8s pods. - [==itnext.io: Kubernetes Graceful Shutdown== | Daniele Polencic 🌟](https://itnext.io/how-do-you-gracefully-shut-down-pods-in-kubernetes-fb19f617cd67) How do you gracefully shut down Pods in Kubernetes? +- [nunoadrego.com: Abusing Pod Priority](https://nunoadrego.com/posts/abusing-pod-priority/) Pod Priority can be useful for some use cases, such as prioritizing critical applications, but definitely can catch you off guard if you don't have the right guardrails in place. This post illustrates the potential consequences of not having them. +- [blog.devgenius.io: DevOps in K8s — Pod Downward API](https://blog.devgenius.io/devops-in-k8s-pod-downward-api-571399049013) The K8s Downward API is a feature that allows containers running in a pod to access metadata about themselves and the pod they are running in. This metadata can be exposed as environment variables or as files within the container’s file system. +- [==itnext.io: POD rebalancing and allocations in kubernetes | Daniele Polencic== 🌟🌟](https://itnext.io/pod-rebalancing-and-allocations-in-kubernetes-df3dbfb1e2f9) **Does Kubernetes rebalance your Pods? If there's a node that has more space, does Kubernetes recompute and balance the workloads?** #### Kubernetes ConfigMaps @@ -818,6 +843,7 @@ - [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. - [vinothecloudone.medium.com: Kubernetes Configuration Patterns 101](https://vinothecloudone.medium.com/kubernetes-configuration-patterns-101-68cfb7af1084) +- [levelup.gitconnected.com: Kubernetes 101: Secrets](https://levelup.gitconnected.com/kubernetes-101-secrets-20d068ab0563) #### Kubernetes Volumes @@ -922,7 +948,7 @@ - [mirantis.com: Introduction to YAML: Creating a Kubernetes deployment](https://www.mirantis.com/blog/introduction-to-yaml-creating-a-kubernetes-deployment) - [medium: Kubernetes Deployment Explained](https://medium.com/geekculture/kubernetes-deployment-explained-9b2b89dd3977) Learn what is Deployment in the Kubernetes cluster and learn the advantages of the Deployment object. - [redhat.com: 10 considerations for Kubernetes deployments - Checklist](https://www.redhat.com/en/engage/considerations-kubernetes-deployments-s-202001101221) -- [learnk8s.io: Graceful shutdown and zero downtime deployments in Kubernetes](https://learnk8s.io/graceful-shutdown) +- [==learnk8s.io: Graceful shutdown and zero downtime deployments in Kubernetes==](https://learnk8s.io/graceful-shutdown) In this article, you will learn how to prevent broken connections when a Pod starts up or shuts down. You will also learn how to shut down long-running tasks gracefully. - [thoughtbot.com: Zero Downtime Rails Deployments with Kubernetes](https://thoughtbot.com/blog/zero-downtime-rails-deployments-with-kubernetes) - [medium: Deployment types in Kubernetes](https://medium.com/avmconsulting-blog/deployment-types-in-kubernetes-14b70ca7ef93) - [hackernoon.com: How To Deploy Code Faster Using Kubernetes](https://hackernoon.com/how-to-deploy-code-faster-using-kubernetes-jh1y3ul0) @@ -943,6 +969,9 @@ - [lovethepenguin.com: Kubernetes: How to Create a deployment](https://lovethepenguin.com/kubernetes-how-to-create-a-deployment-820e07e47806) - [medium.com/@the.nick.miller: Custom Deployments with Kubernetes](https://medium.com/@the.nick.miller/multi-container-deployments-with-kubernetes-33c824d8d9a4) - [==amolmote.hashnode.dev: ReplicaSet & Deployment In Kubernetes== 🌟](https://amolmote.hashnode.dev/replicaset-deployment-in-kubernetes#heading-what-is-deployment) In this article, you'll learn the basic concepts of the ReplicaSet and Deployment, how they are different and when you should use one or the other +- [teplyheng.medium.com: Understand the difference between Deployments and ReplicaSet 🌟](https://teplyheng.medium.com/understand-the-difference-between-deployments-and-replicaset-7e1cfd4d8639) +- [teplyheng.medium.com: In-depth understanding of Deployments in Kubernetes](https://teplyheng.medium.com/in-depth-understanding-of-deployments-in-kubernetes-af2c93ca4a24) When running apps on Kubernetes, most of you must have used Deployments to manage ReplicaSet and Pods. However, it’s hard to say that we’ve used Deployments effectively. +- [levelup.gitconnected.com: Kubernetes 101: Deployment vs Statefulset](https://levelup.gitconnected.com/kubernetes-101-deployment-vs-statefulset-509058c10593) #### Kubernetes StatefulSet @@ -955,6 +984,7 @@ - [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 +- [medium.com/@arton.demaku: Managing Stateful Applications with Kubernetes StatefulSets](https://medium.com/@arton.demaku/managing-stateful-applications-with-kubernetes-statefulsets-3eeec9e9d151) #### Kubernetes DaemonSets @@ -980,6 +1010,7 @@ - [medium.com/@abhinav.ittekot: Running Kubernetes jobs with sidecar containers](https://medium.com/@abhinav.ittekot/running-kubernetes-jobs-with-sidecar-containers-8c034b020993) - [==github.com/alexellis/run-job==](https://github.com/alexellis/run-job) Run a Kubernetes Job and get the logs when it's done 🏃‍♂️ - [blog.devops.dev: Understanding Jobs and CronJobs in Kubernetes](https://blog.devops.dev/understanding-jobs-and-cronjobs-in-kubernetes-9db379562da) +- [infoq.com: The Great Lambda Migration to Kubernetes Jobs—a Journey in Three Parts 🌟](https://www.infoq.com/articles/lambda-migration-k8s-jobs/) #### Kubernetes Services @@ -994,6 +1025,7 @@ - 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) +- [betterprogramming.pub: An Overview to Kubernetes Services](https://betterprogramming.pub/kubernetes-service-types-3c4a3088a5c) Know the different types of Kubernetes Services and Ingress controllers ### Kubernetes Deployment Strategies @@ -1017,6 +1049,7 @@ - [blog.devgenius.io: Kubernetes Deployment Strategy Explained 🌟](https://blog.devgenius.io/kubernetes-deployment-strategy-explained-bf27fea088e1) - [==developers.redhat.com: Run the Canary Deployment pattern on Kubernetes== 🌟](https://developers.redhat.com/developer-sandbox/activities/run-the-canary-deployment-pattern-on-kubernetes) In this activity, you will use basic Kubernetes skills to understand and implement the Canary Deployment. - [blog.werf.io: Canary releases in Kubernetes based on Ingress-NGINX Controller](https://blog.werf.io/canary-releases-in-kubernetes-based-on-ingress-nginx-controller-96193efe34f9) +- [medium.com/@bubu.tripathy: Blue-Green Deployment using Kubernetes](https://medium.com/@bubu.tripathy/blue-green-deployment-using-kubernetes-be994df956b4) ### Kubernetes API @@ -1045,6 +1078,7 @@ - Kubernetes Admission Webhooks - [==dev.to: The Kubernetes API architecture | Daniele Polencic== 🌟](https://dev.to/danielepolencic/the-kubernetes-api-architecture-1pi9) - [medium.com/cp-massive-programming: Kubernetes API Server Discovery](https://medium.com/cp-massive-programming/kubernetes-api-server-discovery-ac3b358e878e) A little excursion into the Kubernetes API server +- [==itnext.io: Working with the kubernetes API | Daniele Polencic== 🌟](https://itnext.io/working-with-the-kubernetes-api-587bc5941992) Working with Kubernetes API. Learn how to navigate and issue requests to the Kubernetes API with curl or your favourite programming language. Kubernetes exposes a robust API that lets you control every aspect of the cluster. Most of the time, it's hidden behind kubectl. But, you can also use the K8s API directly. Find out how in this post. #### Multi-Cluster Services API @@ -1083,6 +1117,9 @@ - [thenewstack.io: Kubernetes Probes (and Why They Matter for Autoscaling) 🌟](https://thenewstack.io/kubernetes-probes-and-why-they-matter-for-autoscaling/) In addition to validating our workloads’ health, we can use them to monitor and gather information about other events affecting containers. - [faun.pub: Kubernetes Liveness Probes](https://faun.pub/kubernetes-liveness-probes-1a053f53690c) In this article, we will take a look at Liveness Probes in Kubernetes (K8S), with some useful examples. Defining probes correctly can improve pod resilience and availability. - [dev.to: Configure Kubernetes Readiness and Liveness Probes - Tutorial | Pavan Belagatti 🌟](https://dev.to/pavanbelagatti/configure-kubernetes-readiness-and-liveness-probes-tutorial-478p) +- [dnastacio.medium.com: The Art and Science of Probing a Kubernetes Container](https://dnastacio.medium.com/the-art-and-science-of-probing-a-kubernetes-container-db1f16539080) In this article, you'll learn how to author Kubernetes container probes, with particular attention to the relatively new addition of startup probes to the mix +- [medium.com/@eumaho: Setting up readiness and liveness health-check probes in Kubernetes with SpringBoot 🌟](https://medium.com/@eumaho/setting-up-readiness-and-liveness-health-check-probes-in-kubernetes-with-springboot-674eb1038377) +- [kamsjec.medium.com: liveness and readiness probes…](https://kamsjec.medium.com/liveness-and-readiness-probes-91919f24e305) ### Reserved CPU and memory in Kubernetes nodes @@ -1091,7 +1128,7 @@ ### Kubernetes Capacity and Resource Management. Resource Quotas per namespace, LimitRanges per namespace, Limits and Requests per POD - [kubernetes.io Policy Limit Ranges](https://kubernetes.io/docs/concepts/policy/limit-range/) -- [sysdig.com: Understanding Kubernetes limits and requests by example](https://sysdig.com/blog/kubernetes-limits-requests/) +- [==sysdig.com: Understanding Kubernetes limits and requests by example== 🌟](https://sysdig.com/blog/kubernetes-limits-requests/) Choosing the optimal limits for our Kubernetes cluster is key in order to get the best of both energy consumption and costs. In this article, you will learn how to set the right requests and limits for your containers. - [dev.to/aurelievache: Understanding Kubernetes: part 22 – LimitRange](https://dev.to/aurelievache/understanding-kubernetes-part-22-limitrange-144l) - [dzone: Dive Deep Into Resource Requests and Limits in Kubernetes](https://dzone.com/articles/dive-deep-into-resource-requests-and-limits-in-kub) This article will be helpful for you to understand how Kubernetes requests and limits work, and why they can work in an expected way. - [sysdig.com: How to rightsize the Kubernetes resource limits](https://sysdig.com/blog/kubernetes-resource-limits/) @@ -1117,6 +1154,10 @@ - Enforce rations between requests and limits - [faun.pub: Optimize Kubernetes Resource Management with Time-To-Live (TTL) for Cleaner Cluster](https://faun.pub/optimize-kubernetes-resource-management-with-time-to-live-ttl-for-cleaner-cluster-ea1c6e0c1e73) Streamline Kubernetes Resource Management: Learn How to Use Time-To-Live (TTL) to Keep Your Cluster Clean and Optimized - [==itnext.io: Memory Request + Limit in Kubernetes | Daniele Polencic== 🌟🌟](https://itnext.io/memory-requests-and-limits-in-kubernetes-1c9cd573b3ab) +- [==itnext.io: CPU Request + Limit in Kubernetes | Daniele Polencic== 🌟🌟](https://itnext.io/cpu-limits-and-requests-in-kubernetes-fa9d55948b7c) In Kubernetes, what should I use as CPU requests and limits? +- [dev.to/pavanbelagatti: Learn How to Set Kubernetes Resource Requests and Limits](https://dev.to/pavanbelagatti/learn-how-to-set-kubernetes-resource-requests-and-limits-23n2) +- [iceburn.medium.com: Kubernetes Resource Requests and Resource Limits](https://iceburn.medium.com/kubernetes-resource-requests-and-resource-limits-99c549c5a439) +- [==home.robusta.dev: When is a CPU not a CPU? Benchmark of Kubernetes Providers and Node Efficiency== 🌟🌟](https://home.robusta.dev/blog/k8s-node-benchmark) **TLDR: On some cloud providers, you get half the CPU you expect due to burstable nodes. Without burstable nodes, overhead is improved but still significant.** ### Kubernetes Scheduler. Kube Scheduler @@ -1139,6 +1180,8 @@ - [itnext.io: Breaking down and fixing etcd cluster](https://itnext.io/breaking-down-and-fixing-etcd-cluster-d81e35b9260d) - [medium: ETCD - the Easy Way | Vaibhav Rajput](https://medium.com/nerd-for-tech/etcd-the-easy-way-4c01e243f285) This is a guide which will help you get started with etcd and help you understand how it is used in a kubernetes setup. - [derganodr.medium.com: Rearchitecting Kubernetes for a more resilient Container Orchestration](https://derganodr.medium.com/rearchitecting-kubernetes-for-a-more-resilient-container-orchestration-c54cef3aeef9) In large etcd clusters, the throughput decreases and the latency increases when there are writes to the database. This also affects Kubernetes since ~30% of all usage of etcd is writing values. This paper describes the issue and offers some workarounds. +- [kubernetes.io: Operating etcd clusters for Kubernetes](https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#securing-etcd-clusters) Securing etcd clusters. Access to etcd is equivalent to root permission in the cluster so ideally only the API server should have access to it. It is recommended to grant permission to only those nodes that require access to etcd clusters. +- [dev.to: A Detailed Brief About Offence and Defence on Cloud Security - Etcd Risks](https://dev.to/tutorialboy/a-detailed-brief-about-offence-and-defence-on-cloud-security-etcd-risks-4h02) In this article, you will assess the correct configuration for an etcd cluster in Kubernetes and discuss a few attack scenarios. ### Kubernetes Sidecars @@ -1828,6 +1871,10 @@

What happens when you create a Pod in Kubernetes?

A surprisingly simple task reveals a complicated workflow that touches several components in the cluster.

Let's dive into it. pic.twitter.com/T1VGR18rRu

— Daniele Polencic — @danielepolencic@hachyderm.io (@danielepolencic) February 6, 2023

Should you have more than one team using the same Kubernetes cluster?

Can you run untrusted workloads safely from untrusted users?

Does Kubernetes do multi-tenancy?

Let's see! pic.twitter.com/3H2BfAkuIG

— Daniele Polencic — @danielepolencic@hachyderm.io (@danielepolencic) April 10, 2023
+ +

In-depth understanding of Deployments in Kubernetes

When running apps on #Kubernetes, most of you must have used Deployments to manage ReplicaSet and Pods. However, it’s hard to say that we’ve used Deployments effectively.

👀https://t.co/0ou1uefMks #DevOps #CloudNative

— Ministry of Cloud 🇮🇳 (@NaveenS16) March 23, 2023
+ +

Does Kubernetes rebalance your Pods?

If there's a node that has more space, does Kubernetes recompute and balance the workloads?

Let's have a look 👉 pic.twitter.com/VHKPUEoXd3

— Daniele Polencic — @danielepolencic@hachyderm.io (@danielepolencic) April 3, 2023
@@ -1879,6 +1926,14 @@

"It's Kubernetes! I know this!" pic.twitter.com/djD4Ns3iEY

— memenetes (@memenetes) February 13, 2023

"But think about the cost reduction" pic.twitter.com/8qWJpNgnu1

— memenetes (@memenetes) February 23, 2023
+ +

everyone loves free stuff pic.twitter.com/lcAKpc29BG

— memenetes (@memenetes) March 9, 2023
+ +

It's not that hard pic.twitter.com/o6J2em6tkk

— memenetes (@memenetes) March 13, 2023
+ +

Still cheaper than running multiple EKS clusters pic.twitter.com/Rk1sDEzLCY

— memenetes (@memenetes) March 16, 2023
+ +

This is what happens to your SRE team when you're not considering #MultiTenancy for your #Kubernetes platforms.

Adopt #MultiTenancy, save SREs' life from getting paged and getting buried from the operational burden: it could be done, thanks to #Capsule and #Kamaji! pic.twitter.com/tHXWVe6mdX

— prometherion (@tranchitellad) April 3, 2023
diff --git a/docs/kustomize.md b/docs/kustomize.md index 990700bd..42b0c982 100644 --- a/docs/kustomize.md +++ b/docs/kustomize.md @@ -20,12 +20,13 @@ - [dev.to: Introduction to Kustomize - How to customize Kubernetes objects kubernetes](https://dev.to/katiatalhi/introduction-to-kustomize-how-to-customize-kubernetes-objects-3e08) - [mirantis.com: Kustomize Tutorial: Creating a Kubernetes app out of multiple pieces](https://www.mirantis.com/blog/introduction-to-kustomize-part-1-creating-a-kubernetes-app-out-of-multiple-pieces/) - [codefresh.io: Applied GitOps with Kustomize](https://codefresh.io/about-gitops/applied-gitops-with-kustomize) In this article, you will learn Kustomize and how it can help deploy Kubernetes manifest with GitOps. This will allow you to leverage the power of Kustomize to define YAML files without using a templating engine +- [tech.aabouzaid.com: Set OpenAPI patch strategy for Kubernetes Custom Resources - Kustomize](https://tech.aabouzaid.com/2022/11/set-openapi-patch-strategy-for-kubernetes-custom-resources-kustomize.html) Kustomize supports 2 main client-side patching methods for Kubernetes manifests: JSON Patching and Strategic Merge Patch. This article discusses the pros and cons and shows how to add a merging strategy extension for Custom Resources. ## Secretize plugin - [Secretize 🌟](https://github.com/bbl/secretize) Secretize is a kustomize plugin that helps generating kubernetes secrets from various sources such as AWS Secret Manager & Azure Vault. It's like a swiss army knife, but for kubernetes secrets. ## Comparison between Helm and Kustomize for Kubernetes yaml management -- [itnext.io: Helm Is Not Enough, You Also Need Kustomize](https://itnext.io/helm-is-not-enough-you-also-need-kustomize-82bae896816e) Customize the YAML’s to enforce policies from application operators, security operators, and cluster operators. +- [itnext.io: Helm Is Not Enough, You Also Need Kustomize](https://itnext.io/helm-is-not-enough-you-also-need-kustomize-82bae896816e) Customize the YAML’s to enforce policies from application operators, security operators, and cluster operators. - [harness.io: Comparing Helm vs Kustomize 🌟](https://harness.io/blog/devops/helm-vs-kustomize/) - [nakamasato.medium.com: Comparison between Helm and Kustomize for Kubernetes yaml management](https://nakamasato.medium.com/comparison-between-helm-and-kustomize-for-kubernetes-yaml-management-aed32cef2627) Helm and Kustomize are often compared with each other in the context of managing Kubernetes manifest file. Although those two tools have similar features, they are fundamentally different. In this post, I’ll compare them from several points of view with a sample application. diff --git a/docs/linux.md b/docs/linux.md index 97ec3a35..d934a6ce 100644 --- a/docs/linux.md +++ b/docs/linux.md @@ -239,6 +239,7 @@ - [==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) +- [blog.devgenius.io: DevOps in Linux — Systemd Introduction](https://blog.devgenius.io/devops-in-linux-systemd-introduction-db7f49cb566b) ## Makefiles @@ -289,6 +290,7 @@ - [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 +- [medium.com: Shell Scripting for DevOps with Examples](https://medium.com/@saurabhdahibhate50/devops-day-04-task-e51d64ffbf16) ## Questions and Answers @@ -429,5 +431,7 @@

In vim, you can type :e **/foo, then press tab and it'll find you a file with "foo" in its name.

You can press tab many times, and vim will iterate over the matching files.

Works in vanilla vim (no plugins), so you can use this trick on any Linux server you happen to log in to.

— Ivan Velichko (@iximiuz) November 5, 2022

Want to master Linux? Open this: 🧵

— Rohit Ghumare | That #DevOps Guy✍️ (@ghumare64) November 10, 2022
+ +

How to make rsync faster? pic.twitter.com/bIdizhoNoS

— Rakesh Jain (@devops_tech) March 9, 2023
diff --git a/docs/managed-kubernetes-in-public-cloud.md b/docs/managed-kubernetes-in-public-cloud.md index df02e10e..722e66b7 100644 --- a/docs/managed-kubernetes-in-public-cloud.md +++ b/docs/managed-kubernetes-in-public-cloud.md @@ -190,7 +190,7 @@ - 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) +- [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) Scaling down to zero can result in significant cost savings when you have workloads that don't run 24x7. In this tutorial, you'll learn how to do that with labels, taints, and the Cluster Autoscaler. - [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) @@ -213,6 +213,10 @@ - IP addresses exhaustion - Packets drop - Control plane performance issues +- [Scaling Amazon EKS and Cassandra Beyond 1,000 Nodes](https://aws.amazon.com/blogs/containers/scaling-amazon-eks-and-cassandra-beyond-1000-nodes/) This post described a concrete experiment to prove k8ssandra scalability on Amazon EKS. You will also find general performance and scaling configurations of Amazon EKS that enable customers to scale workloads while maintaining linear performance. +- [sitepoint.com: Getting Started With Kubernetes on AWS Tutorial (2023 Update)](https://www.sitepoint.com/kubernetes-aws-tutorial/) +- [medium.com: Saving costs in Google Kubernetes Engine using Spot VMs](https://medium.com/@vaibhav176/saving-costs-in-google-kubernetes-engine-using-spot-vms-2e6d0157815e) +- [medium.com/@benjamin.christmann_12432: Setting up your first EKS cluster on AWS: some practical tips](https://medium.com/@benjamin.christmann_12432/setting-up-your-first-eks-cluster-on-aws-some-practical-tips-60400963c588) ### EKS Upgrades @@ -256,6 +260,7 @@ ## AKS Azure Kubernetes Service +- [==the-aks-checklist.com: The Azure Kubernetes Service Checklist== 🌟🌟🌟](https://www.the-aks-checklist.com/) This checklist contains a large set of best practices and some of them may not be relevant to your context and thus the rating may be incorrect in your case. Please choose and apply them wisely. - [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: - Azure Kubernetes Service (AKS) @@ -342,6 +347,18 @@ - [==medium.com/credera-engineering: How to blue-green deploy an AKS cluster==](https://medium.com/credera-engineering/how-to-blue-green-deploy-an-aks-cluster-ab8f6a2cea9a) - [community.ops.io: Configuring AKS to read secrets and certificates from Azure KeyVaults](https://community.ops.io/javi_labs/configuring-aks-to-read-secrets-and-certificates-from-azure-keyvaults-17o1) This article will teach you how to configure an AKS cluster to consume secrets, keys and certificates from an Azure KeyVault - [==medium.com/@danieljimgarcia: The Application Gateway Ingress Controller is broken== 🌟](https://medium.com/@danieljimgarcia/the-application-gateway-ingress-controller-is-broken-6aa9eb229881) The Application Gateway Ingress Controller exposes applications hosted in Kubernetes to the outside world via Azure’s native Application Gateway. However, it has important design flaws, which can cause minutes of downtime when updating your workloads. +- [==kristhecodingunicorn.com: Setting Up OAuth 2.0 Authentication for Applications in AKS With NGINX and OAuth2 Proxy== 🌟🌟](https://kristhecodingunicorn.com/post/k8s_nginx_oauth/) +- [medium.com/@ershivamgupta: Disaster Recovery Solution for Azure Kubernetes Service (AKS) Persistent Volume Storage 🌟](https://medium.com/@ershivamgupta/disaster-recovery-solution-for-azure-kubernetes-service-aks-persistent-volume-storage-f2b3d2aafcf4) This article demonstrates a disaster recovery solution for AKS: + - Installing Longhorn + - Setting up an External Backup target + - Deploying a stateful application + - Backing up the Persistent Volume + - Restoring it in a secondary region +- [github.com/OvidiuBorlean/kubectl-windumps](https://github.com/OvidiuBorlean/kubectl-windumps) Network traffic capture in AKS Windows Nodes +- [infoq.com: Microsoft Brings Kubernetes to the Edge with AKS Edge Essentials](https://www.infoq.com/news/2023/03/aks-edge-essentials-ga/) +- [==azuredevopslabs.com: Deploying a multi-container application to Azure Kubernetes Services==](https://azuredevopslabs.com/labs/vstsextend/kubernetes/) +- [danielstechblog.io: Mitigating slow container image pulls on Azure Kubernetes Service](https://www.danielstechblog.io/mitigating-slow-container-image-pulls-on-azure-kubernetes-service/) It is not easy identifying the root cause for slow container image pulls on your AKS. In this article, you'll follow Daniel's journey in debugging the OS disk queue depth and how it affects image pulls. +- [==grafana.com: Scrape Azure metrics and monitor AKS using Grafana Agent== 🌟](https://grafana.com/blog/2023/04/07/scrape-azure-metrics-and-monitor-aks-using-grafana-agent/) In this blog post, we will demonstrate how to configure Grafana Agent to scrape metrics from Microsoft Azure, specifically from AKS, using the newly released [azure_exporter](https://grafana.com/docs/agent/v0.32/configuration/integrations/azure-exporter-config/). ### AKS Lite diff --git a/docs/message-queue.md b/docs/message-queue.md index 54008ef2..9e4b03a5 100644 --- a/docs/message-queue.md +++ b/docs/message-queue.md @@ -41,14 +41,13 @@ 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) +12. [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) +13. [eBooks](#ebooks) +14. [Related](#related) +15. [Questions and Answers](#questions-and-answers) +16. [Videos](#videos) +17. [Tweets](#tweets) ## Message Queue in Kubernetes. Event-driven Messaging. Real-Time Data Streaming @@ -385,6 +384,7 @@ comsysto about their usage of Debezium, touching on many details like outbox pat - [strimzi/strimzi-canary](https://github.com/strimzi/strimzi-canary) This repository contains the Strimzi canary tool implementation. It acts as an indicator of whether Kafka clusters are operating correctly. This is achieved by creating a canary topic and periodically producing and consuming events on the topic and getting metrics out of these exchanges. - [medium: Mastering Apache Kafka on Kubernetes — Strimzi K8s operator](https://medium.com/hacking-talent/mastering-apache-kafka-on-kubernetes-strimzi-k8s-operator-2c1d21d7b89a) - [medium.com/@ahmed.farhan: Kafka Setup in Kubernetes Using Strimzi K8s operator — Part 2](https://medium.com/@ahmed.farhan/kafka-setup-in-kubernetes-using-strimzi-k8s-operator-part-2-1f67dbe5f14d) +- [medium.com/adaltas: Operating Kafka in Kubernetes with Strimzi](https://medium.com/adaltas/operating-kafka-in-kubernetes-with-strimzi-84a281c6d964)
[![airflow vs kafka debezium](images/airflow_vs_debezium.jpg)](https://medium.com/convoy-tech/logs-offsets-near-real-time-elt-with-apache-kafka-snowflake-473da1e4d776) @@ -482,6 +482,8 @@ comsysto about their usage of Debezium, touching on many details like outbox pat - [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) +- [==medium.com/apache-airflow: Passing Data Between Tasks with the KubernetesPodOperator in Apache Airflow== 🌟](https://medium.com/apache-airflow/passing-data-between-tasks-with-the-kubernetespodoperator-in-apache-airflow-7ae9e3e6675c) TL;DR: Use the @task.kubernetes decorator! +- [medium.com/@piyush_74867: Apache Airflow on Kubernetes at scale — a peak under the hood](https://medium.com/@piyush_74867/apache-airflow-on-kubernetes-at-scale-a-peak-under-the-hood-1eebb9b4769b) ### Couler @@ -536,16 +538,6 @@ Red Hat AMQ 7|JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite|Apache ActiveMQ Artemi - [Open Data Hub 0.6 brings component updates and Kubeflow architecture](https://developers.redhat.com/blog/2020/05/07/open-data-hub-0-6-brings-component-updates-and-kubeflow-architecture/) - [A development roadmap for Open Data Hub](https://developers.redhat.com/blog/2020/06/22/a-development-roadmap-for-open-data-hub/) -## KEDA. Kubernetes Event Driven Autoscaling - -- [KEDA](https://keda.sh/) Kubernetes Event-driven Autoscaling. Application autoscaling made simple. https://github.com/kedacore/keda -- [Dzone: Autoscaling Your Kubernetes Microservice with KEDA](https://dzone.com/articles/autoscaling-your-kubernetes-microservice-with-keda) Introduction to KEDA—event-driven autoscaler for Kubernetes, Apache Camel, and ActiveMQ Artemis—and how to use it to scale a Java microservice on Kubernetes. -- [tomd.xyz: Event-driven integration on Kubernetes with Camel & KEDA 🌟](https://tomd.xyz/kubernetes-event-driven-keda/) Can we develop apps in Kubernetes that autoscale based on events? Perhaps, with this example using KEDA, ActiveMQ and Apache Camel. -- [faun.pub: Scaling an app in Kubernetes with KEDA (no Prometheus is needed)](https://faun.pub/keda-ec9fc7c8dd81) -- [itnext.io: Event Driven Autoscaling](https://itnext.io/event-driven-autoscaling-503b5cefaa49) KEDA expands the capabilities of Kubernetes by managing the integration with external sources allowing you to auto-scale your Kubernetes Deployments based on data from both internal and external metrics. -- [medium.com/@casperrubaek: Why KEDA is a game-changer for scaling in Kubernetes](https://medium.com/@casperrubaek/why-keda-is-a-game-changer-for-scaling-in-kubernetes-4ebf34cb4b61) KEDA makes it possible to easily scale based on any metric imaginable from almost any metric provider and is running at a massive scale in production in the cloud at some of the largest corporations in the world. -- [levelup.gitconnected.com: Scale your Apps using KEDA in Kubernetes](https://levelup.gitconnected.com/scale-your-apps-using-keda-in-kubernetes-a1f2142ecc20) - ## Integration Platform as a Solution (iPaaS). Platforms for collecting, storing and routing customer event data - [quandarycg.com: Everything You Need To Know About System Integration (And IPaaS) 🌟](https://quandarycg.com/everything-you-need-to-know-about-integrations/) diff --git a/docs/mlops.md b/docs/mlops.md index 362d23cd..6d0c4480 100644 --- a/docs/mlops.md +++ b/docs/mlops.md @@ -48,6 +48,9 @@ - [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/) +- [youtube: Making Friends with Machine Learning | Cassie Kozyrkov | playlist 🌟](https://www.youtube.com/playlist?list=PLRKtJ4IpxJpDxl0NTvNYQWKCYzHNuy2xG) +- [openai.com: Scaling Kubernetes to 7,500 nodes 🌟](https://openai.com/research/scaling-kubernetes-to-7500-nodes) **We’ve scaled Kubernetes clusters to 7,500 nodes, producing a scalable infrastructure for large models like GPT-3, CLIP, and DALL·E, but also for rapid small-scale iterative research such as Scaling Laws for Neural Language Models.** +- [huyenchip.com: Building LLM applications for production](https://huyenchip.com/2023/04/11/llm-engineering.html) ## Object Detection Libraries @@ -95,6 +98,7 @@ - [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/) +- [medium.com/@timleonardDS: Who Let the DAGs out? Register an External DAG with Flyte (Chapter 3)](https://medium.com/@timleonardDS/who-lets-the-dags-out-register-an-external-dag-with-flyte-chapter-3-bad0ea781119) ## Azure ML @@ -182,5 +186,8 @@

If you're not utilizing AI, you're falling behind.

Here are 7 free AI tools that'll save you hours of work:

— Nikki Siapno (@NikkiSiapno) October 24, 2022

Machine Learning will be one of the most sought-after professions this decade.

Learn & practice ML for free with these outstanding resources and earn certificates for your resume:

— Simon (@simonholdorf) February 25, 2023
+ +

Building robust #data and #ML pipelines by tapping into the power of multiple tools and integrating them should not be a challenging task.

With Flyte, you can simplify the entire process of developing data and ML pipelines through access to more than 30 integrations. ✨ pic.twitter.com/UBege732tQ

— Flyte (@flyteorg) March 9, 2023
+ diff --git a/docs/monitoring.md b/docs/monitoring.md index a2d46878..fc2d8ea6 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -28,6 +28,7 @@ 12. [Debugging Java Applications on OpenShift and Kubernetes](#debugging-java-applications-on-openshift-and-kubernetes) 13. [Distributed Tracing. OpenTelemetry and Jaeger](#distributed-tracing-opentelemetry-and-jaeger) 1. [Microservice Observability with Distributed Tracing. OpenTelemetry.io](#microservice-observability-with-distributed-tracing-opentelemetryio) + 1. [OpenTelemetry Operator](#opentelemetry-operator) 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) @@ -116,6 +117,11 @@ - [medium.com/@badawekoo: Monitoring in DevOps lifecycle](https://medium.com/@badawekoo/monitoring-in-devops-lifecycle-4d9a2f277eb0) - [laduram.medium.com: The Future of Observability](https://laduram.medium.com/the-future-of-observability-c33cd7ff644a) - [devops.com: Where Does Observability Stand Today, and Where is it Going Next?](https://devops.com/where-does-observability-stand-today-and-where-is-it-going-next/) +- [medium.com/kubeshop-i: Top 8 Open-Source Observability & Testing Tools](https://medium.com/kubeshop-i/top-8-open-source-observability-testing-tools-9341a361a634) +- [==dzone: 11 Observability Tools You Should Know== 🌟](https://dzone.com/articles/11-observability-tools-you-should-know-in-2023) This article looks at the features, limitations, and important selling points of eleven popular observability tools to help you select the best one for your project. +- [medium.com/devops-techable: Setup monitoring with Prometheus and Grafana in Kubernetes — Start monitoring your Kubernetes cluster resources](https://medium.com/devops-techable/setup-monitoring-with-prometheus-and-grafana-in-kubernetes-start-monitoring-your-kubernetes-a3071f083fa6) +- [thenewstack.io: What Is Container Monitoring?](https://thenewstack.io/what-is-container-monitoring/) Cloud native architectures don’t rely on dedicated hardware like virtualized infrastructure, which changes monitoring requirements and processes. +- [==devops.com: Why Monitoring-as-Code Will be a Must for DevOps Teams==](https://devops.com/why-monitoring-as-code-will-be-a-must-for-devops-teams/) ### Key Performance Indicator (KPI) @@ -258,6 +264,7 @@ OpenShift Cluster Monitoring components cannot be extended since they are read o - [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. +- [==udemy.com: Elasticsearch 7 and the Elastic Stack: In Depth and Hands On==](https://www.udemy.com/course/elasticseach-7/?referralCode=83E57F5BF9B3557E51F8) **Complete Elastic search tutorial - search, analyze, and visualize big data with Elasticsearch, Kibana, Logstash, & Beats** #### Elastic Cloud on Kubernetes (ECK) @@ -408,6 +415,11 @@ done - There’s no OpenTelemetry UI, instead Jaeger UI (or any APM like Dynatrace or New Relic) can be used as “Tracing backend + Visualization frontend + Data mining platform” of OpenTelemetry API/SDK. - [thenewstack.io: Tracing: Why Logs Aren’t Enough to Debug Your Microservices 🌟](https://thenewstack.io/tracing-why-logs-arent-enough-to-debug-your-microservices/) +#### OpenTelemetry Operator + +- [github.com/open-telemetry/opentelemetry-operator](https://github.com/open-telemetry/opentelemetry-operator) +- [medium.com/@magstherdev: OpenTelemetry Operator](https://medium.com/@magstherdev/opentelemetry-operator-d3d407354cbf) This post aims to demonstrate how you can implement traces in your application without any code changes by using the OpenTelemetry Operator. +
[![Jaeger UI](images/jaeger_ui.png)](https://www.jaegertracing.io/) diff --git a/docs/networking.md b/docs/networking.md index e92a5297..6172ac1c 100644 --- a/docs/networking.md +++ b/docs/networking.md @@ -47,6 +47,10 @@ - [slideshare: Http Status Code Errors in SEO](http://www.slideshare.net/AdelaRoger/http-status-code-errors-in-seo) - [http.cat 🌟](https://http.cat) +
+[![http status codes](images/http_status_codes.jpg){: style="width:50%"}](https://twitter.com/alexxubyte) +
+ ### HTTP/2 - [Wikipedia: HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) @@ -106,4 +110,6 @@

List of HTTP Status Codes Cheat Sheet: pic.twitter.com/1m8gci63Vs

— Java Guides (@GuidesJava) December 26, 2022

IPv4 vs IPv6 pic.twitter.com/mZnHL3E8Zu

— LetsDefend (@LetsDefendIO) February 24, 2023
+ +

/1 Which HTTP status codes are most common?

The response codes for HTTP are divided into five categories:

Informational (100-199)
Success (200-299)
Redirection (300-399)
Client Error (400-499)
Server Error (500-599) pic.twitter.com/39I34KqQoU

— Alex Xu (@alexxubyte) March 22, 2023
diff --git a/docs/nosql.md b/docs/nosql.md index 38c9efae..8746cef4 100644 --- a/docs/nosql.md +++ b/docs/nosql.md @@ -66,6 +66,7 @@ - [==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) - [thenewstack.io: Deploy MongoDB in a Container, Access It Outside the Cluster](https://thenewstack.io/deploy-mongodb-in-a-container-access-it-outside-the-cluster/) How to a deploy a containerized version of MongoDB and connect to it from a machine or service outside of the hosting server. +- [==github.com/oslabs-beta: Odin's Eye==](https://github.com/oslabs-beta/OdinsEye) Odin's Eye is a monitoring tool for Kubernetes and containerized MongoDB ### Redis diff --git a/docs/oauth.md b/docs/oauth.md new file mode 100644 index 00000000..6ecc656d --- /dev/null +++ b/docs/oauth.md @@ -0,0 +1,24 @@ +# OAuth + +1. [Introduction](#introduction) +2. [OpenID Connect](#openid-connect) +3. [Tweets](#tweets) + +## Introduction + +- [rapidapi.com:What is OAuth2.0?](https://rapidapi.com/guides/oath2-0) +- [curity.io: OAuth 2.0 Overview](https://curity.io/resources/learn/oauth-overview/) + +## OpenID Connect + +- [curity.io: OpenID Connect Overview](https://curity.io/resources/learn/openid-connect-overview/) + +## Tweets + +
+ Click to expand! + +
+ +
+
diff --git a/docs/ocp4.md b/docs/ocp4.md index a527615d..7f2af52c 100644 --- a/docs/ocp4.md +++ b/docs/ocp4.md @@ -591,6 +591,8 @@ oc login - [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/) +- [developers.redhat.com: How to easily deploy OpenShift on Azure using a GUI, Part 1](https://developers.redhat.com/articles/2023/03/16/how-deploy-openshift-azure-gui-part-1) + - [developers.redhat.com: How to easily deploy OpenShift on Azure via GitOps, Part 2](https://developers.redhat.com/articles/2023/03/17/deploy-openshift-azure-gitops-part-2) ## OpenShift Youtube diff --git a/docs/other-awesome-lists.md b/docs/other-awesome-lists.md index a50f7e94..22a3a82a 100644 --- a/docs/other-awesome-lists.md +++ b/docs/other-awesome-lists.md @@ -1,8 +1,9 @@ # Awesome Lists 1. [Inspired By](#inspired-by) -2. [Other Awesome Kubernetes Lists](#other-awesome-kubernetes-lists) -3. [Other Awesome Lists](#other-awesome-lists) +2. [Introduction](#introduction) +3. [Other Awesome Kubernetes Lists](#other-awesome-kubernetes-lists) +4. [Other Awesome Lists](#other-awesome-lists) 1. [Project Management](#project-management) 2. [SysAdmin](#sysadmin) 3. [Cloud Native](#cloud-native) @@ -27,14 +28,20 @@ 20. [Data Processing](#data-processing) 21. [Big Data](#big-data) 22. [Machine Learning and MLOps](#machine-learning-and-mlops) -4. [Open Source Alternatives](#open-source-alternatives) -5. [Kubectl Plugins](#kubectl-plugins) -6. [Tweets](#tweets) +5. [Open Source Alternatives](#open-source-alternatives) +6. [Kubectl Plugins](#kubectl-plugins) +7. [GitHub Repositories that developers love](#github-repositories-that-developers-love) +8. [LLMOps](#llmops) +9. [Tweets](#tweets) ## Inspired By - [@sindresorhus' Awesome](https://github.com/sindresorhus/awesome) +## Introduction + +- [dev.to: The Awesome Side of GitHub - Awesome Lists | Leonardo Montini](https://dev.to/this-is-learning/the-awesome-side-of-github-awesome-lists-2a5h) + ## Other Awesome Kubernetes Lists - [==@ramitsurana' Awesome Kubernetes==](https://ramitsurana.github.io/awesome-kubernetes/) @@ -265,6 +272,14 @@ - [Available kubectl plugins](https://github.com/kubernetes-sigs/krew-index/blob/master/plugins.md) - [Awesome Kubectl plugins](https://github.com/ishantanu/awesome-kubectl-plugins) +## GitHub Repositories that developers love + +- [dev.to: Great GitHub repositories that developers love](https://dev.to/swordheath/great-github-repositories-that-developers-love-1g97) + +## LLMOps + +- [github.com/tensorchord/Awesome-LLMOps: Awesome LLMOps](https://github.com/tensorchord/Awesome-LLMOps) An awesome & curated list of best LLMOps tools for developers + ## Tweets
diff --git a/docs/performance-testing-with-jenkins-and-jmeter.md b/docs/performance-testing-with-jenkins-and-jmeter.md index bb94a942..c7473c58 100644 --- a/docs/performance-testing-with-jenkins-and-jmeter.md +++ b/docs/performance-testing-with-jenkins-and-jmeter.md @@ -26,6 +26,7 @@ ## Performance testing of microservices running on Kubernetes - [dev.to: The most elegant way to performance test your microservices running on Kubernetes](https://dev.to/ksingh7/the-most-elegant-way-to-performance-test-your-microservices-running-on-kubernetes-2mo2) In this article, you'll learn how to measure the performance of backend applications running on Kubernetes & how to use Vegeta, a versatile HTTP load testing and benchmarking tool written in Golang +- [garden.io: Performance testing on a microservice architecture](https://garden.io/blog/performance-testing) ## JMeter diff --git a/docs/project-management-methodology.md b/docs/project-management-methodology.md index 8fc34bae..6b2687e5 100644 --- a/docs/project-management-methodology.md +++ b/docs/project-management-methodology.md @@ -88,6 +88,8 @@ - [jchyip.medium.com: My critique of “the Spotify Model”: Part 1](https://jchyip.medium.com/my-critique-of-the-spotify-model-part-1-197d335ef7af) - [hbr.org: How to Give Tough Feedback That Helps People Grow](https://hbr.org/2015/08/how-to-give-tough-feedback-that-helps-people-grow) - [medium.com/@tom-neal: CTO Checklist](https://medium.com/@tom-neal/cto-checklist-1a2ef3d6502) +- [martinfowler.com: Retrospectives Antipatterns 🌟](https://martinfowler.com/articles/retrospective-antipatterns.html) If you use retrospectives, or any kind of meeting where people are supposed to discuss and learn from their discussions, you will have experienced less efficient sessions from time to time. There is no wonder in that, and it happens to most people. This article describes and offers solutions for three of these unfortunate situations: skipping generating insights, getting lost in things you can't change, and being dominated by a loudmouth. +- [==dzone.com: Productivity: Noise Is the Problem== 🌟🌟](https://dzone.com/articles/effectiveness-noise-is-the-problem) How to improve the productivity of our engineering team by providing more focus time ### Spanish diff --git a/docs/prometheus.md b/docs/prometheus.md index c61f0194..42803d48 100644 --- a/docs/prometheus.md +++ b/docs/prometheus.md @@ -141,6 +141,9 @@ Thanos Metrics with prometheus in Kubernetes environments. - [blog.zelarsoft.com: Website Monitoring By Using Prometheus Blackbox Exporter with Grafana](https://blog.zelarsoft.com/website-monitoring-by-using-prometheus-blackbox-exporter-with-grafana-c4004bb03131) - [==blog.devops.dev: Monitoring a Spring Boot application in Kubernetes with Prometheus== 🌟](https://blog.devops.dev/monitoring-a-spring-boot-application-in-kubernetes-with-prometheus-a2d4ec7f9922) - [devopstalks.in: Everything about Prometheus](https://devopstalks.in/everything-about-prometheus/) +- [==blog.devops.dev: How to Monitor your Application using Prometheus== 🌟](https://blog.devops.dev/deploying-and-monitoring-an-application-using-prometheus-on-kubernetes-cluster-483773f789f) In this Blog, we will be able to deploy our application in an EKS cluster and monitor it with Prometheus +- [==dzone.com: Deploying Prometheus and Grafana as Applications Using ArgoCD — Including Dashboards==](https://dzone.com/articles/deploying-prometheus-and-grafana-as-applications-u) Goodbye to the headaches of manual infrastructure management, and hello to a more efficient and scalable approach with ArgoCD. +- [medium.com: How to find unused Prometheus metrics using mimirtool 🌟](https://medium.com/@dotdc/how-to-find-unused-prometheus-metrics-using-mimirtool-a44560173543)
[![prometheus architecture](images/prometheus-architecture.png)](https://github.com/prometheus/prometheus) diff --git a/docs/python.md b/docs/python.md index 4992ea47..5c5a7099 100644 --- a/docs/python.md +++ b/docs/python.md @@ -243,6 +243,12 @@ - [freecodecamp.org: How to Use PyScript – A Python Frontend Framework 🌟](https://www.freecodecamp.org/news/pyscript-python-front-end-framework/) Python is popular for web development, often used on the backend w/ frameworks like Django & Flask. But there's a newer framework called PyScript that lets you use Python on the web with regular HTML. - [realpython.com: How to Get a List of All Files in a Directory With Python](https://realpython.com/get-all-files-in-directory-python/) - [freecodecamp.org: Python For Loop - For i in Range Example](https://www.freecodecamp.org/news/python-for-loop-for-i-in-range-example/) +- [github.blog: Why Python keeps growing, explained](https://github.blog/2023-03-02-why-python-keeps-growing-explained/) A deep dive into why more people are using Python than ever, its key use cases, and why it’s still so popular 30-plus years after it was first released. +- [realpython.com: Evaluate Expressions Dynamically With Python eval() (Overview)](https://realpython.com/lessons/python-eval-overview/) +- [realpython.com: Splitting, Concatenating, and Joining Strings in Python Quiz](https://realpython.com/quizzes/python-split-strings/) +- [medium.com/@terminalsandcoffee: Mastering Python: How to Generate a List of Dictionaries for Files in Your Working Directory with One Script](https://medium.com/@terminalsandcoffee/mastering-python-how-to-generate-a-list-of-dictionaries-for-files-in-your-working-directory-with-7cab8b485e69) +- [realpython.com: How to Write Pythonic Loops](https://realpython.com/courses/how-to-write-pythonic-loops/) +- [freecodecamp.org: Learn Algorithms and Data Structures in Python 🌟🌟](https://www.freecodecamp.org/news/learn-algorithms-and-data-structures-in-python/) When you're learning Python, there are some important algorithms and data structures you'll need to know. They'll come up in job interviews, & you'll use them on a daily basis, too. You'll learn how to use them in this comprehensive Python DSA course. ## PHP vs Python @@ -341,6 +347,7 @@ - [towardsdatascience.com: Unlimited scientific libraries and applications in Kubernetes, instantly!](https://towardsdatascience.com/unlimited-scientific-libraries-and-applications-in-kubernetes-instantly-b69b192ec5e5) Set up a shared library of packages and applications that you can dynamically load into your Kubernetes Data Science environments. - [==huyenchip.com: Why data scientists shouldn’t need to know Kubernetes==](https://huyenchip.com/2021/09/13/data-science-infrastructure.html) - [==towardsdatascience.com: How to Land a Data Science Job in 2022==](https://towardsdatascience.com/how-to-land-a-data-science-job-in-2022-ebfbc506516b) 7 skills to improve employability for a data science position +- [==realpython.com: Machine Learning With Python== 🌟🌟🌟](https://realpython.com/learning-paths/machine-learning-python/) ### Python Pandas and pivot tables @@ -404,6 +411,7 @@ - [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. - [github.com/bloomberg/memray 🌟🌟](https://github.com/bloomberg/memray) Memray is a memory profiler for Python +- [github.com/microsoft/pyright](https://github.com/microsoft/pyright) Static Type Checker for Python ### Web Scraping with Python diff --git a/docs/qa.md b/docs/qa.md index d4fb0d57..82843846 100644 --- a/docs/qa.md +++ b/docs/qa.md @@ -25,7 +25,7 @@ - [blog.thundra.io: 4 Software Testing Roles](https://blog.thundra.io/4-software-testing-roles) - [lambdatest.com: TestNG vs JUnit : Which testing framework should you choose?](https://www.lambdatest.com/blog/testng-vs-junit-which-testing-framework-should-you-choose/) - [botplayautomation.com: Common mistakes test teams make in automation testing and how to fix them](https://www.botplayautomation.com/post/common-mistakes-test-teams-make-in-automation-testing-and-how-to-fix-them) -- [blog.testproject.io: A Complete Guide to Test Automation Framework 🌟](https://blog.testproject.io/2021/06/17/a-complete-guide-to-test-automation-framework/) +- [blog.testproject.io: A Complete Guide to Test Automation Framework 🌟](https://blog.testproject.io/2021/06/17/a-complete-guide-to-test-automation-framework/) - [Test Automation Framework: TestProject](https://testproject.io/) TestProject is a free end-to-end test automation platform for web, mobile, and API testing that’s supported by the #1 test automation community. - [botplayautomation.com: Automation Test Plan](https://www.botplayautomation.com/post/automation-test-plan) @@ -67,7 +67,7 @@ the #1 test automation community. ## Testing Frameworks - [JUnit](https://junit.org) - - [lambdatest.com](https://www.lambdatest.com/blog/junit5-extensions/) A Comprehensive Guide On JUnit 5 Extensions + - [lambdatest.com](https://www.lambdatest.com/blog/junit5-extensions/) A Comprehensive Guide On JUnit 5 Extensions - [TestNG](https://testng.org) - [Spock Framework](https://spockframework.org) - [testsvision.com: 6 Popular Automation Testing Frameworks & Tools](https://testsvision.com/6-popular-automation-testing-frameworks-tools/) @@ -93,6 +93,7 @@ the #1 test automation community. - [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/) + - [thenewstack.io: How Testcontainers Is Demonstrating Value as a Key CI Tool](https://thenewstack.io/how-testcontainers-is-demonstrating-value-as-a-key-ci-tool/) Testcontainers is a library originally written in Java that helps developers run module-specific Docker containers while the app is being built in order to simplify 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/) diff --git a/docs/securityascode.md b/docs/securityascode.md index ca09a70c..747eae38 100644 --- a/docs/securityascode.md +++ b/docs/securityascode.md @@ -62,6 +62,7 @@ - [medium: Deploying Open Policy Agent (OPA) on a GKE cluster — Step by Step](https://medium.com/linkbynet/deploying-opa-on-a-gke-cluster-da4d3d77812c) - [github.com/instrumenta/policies: A set of shared policies for use with Conftest and other Open Policy Agent tools 🌟](https://github.com/instrumenta/policies) - [blog.styra.com: Using OPA with GitOps to speed Cloud-Native development](https://blog.styra.com/blog/using-opa-with-gitops-to-speed-cloud-native-development) +- [medium.com/gitguardian: What is Policy-as-Code? An Introduction to Open Policy Agent](https://medium.com/gitguardian/what-is-policy-as-code-an-introduction-to-open-policy-agent-dba1400bb030) ### Open Policy Agent in OpenShift @@ -141,6 +142,7 @@ - Invalid resources can be blocked with helpful errors - Misconfigured resources can be corrected on the fly - New resources can be dynamically generated +- [blog.sigstore.dev: How to verify container images with Kyverno using KMS, Cosign, and Workload Identity](https://blog.sigstore.dev/how-to-verify-container-images-with-kyverno-using-kms-cosign-and-workload-identity-1e07d2b85061/) ### Kyverno E-Learning diff --git a/docs/serverless.md b/docs/serverless.md index ce892034..5f6a4b5a 100644 --- a/docs/serverless.md +++ b/docs/serverless.md @@ -17,8 +17,9 @@ 5. [OpenWhisk](#openwhisk) 6. [Dapr Microservices Frameworks](#dapr-microservices-frameworks) 4. [Popular Deployment Frameworks for AWS Lambda](#popular-deployment-frameworks-for-aws-lambda) -5. [Images](#images) -6. [Tweets](#tweets) +5. [TriggerMesh serverless event router](#triggermesh-serverless-event-router) +6. [Images](#images) +7. [Tweets](#tweets) ## Serverless Architectures @@ -56,6 +57,7 @@ - [==serverlessland.com: EDA VISUALS== 🌟🌟🌟](https://serverlessland.com/event-driven-architecture/visuals) **Small bite sized visuals about event-driven architectures** - [==serverlessland.com: BATCH PROCESSING VS EVENT STREAMING==](https://serverlessland.com/event-driven-architecture/visuals/batching-vs-event-streams) What's the difference between batching and event streams? When should you use one over the other? Events are super important in our event-driven architectures, so understanding these fundamentals can help. - [serverlessland.com: Splitter pattern](https://serverlessland.com/event-driven-architecture/visuals/splitter-pattern) When building message/event based solutions you may want to take a message or event and split it into many different ones. We can use this to split large messages/events into smaller ones for downstream consumers. +- [dev.to: Serverless - Beyond the Basics | Kristi Perreault 🌟](https://dev.to/aws-heroes/serverless-beyond-the-basics-kom) ### Terraform and Serverless @@ -153,6 +155,15 @@ - [lumigo.io: AWS Lambda Deployment Frameworks Compared](https://lumigo.io/blog/comparison-of-lambda-deployment-frameworks/) - [thenewstack.io: Build a Serverless API with AWS Gateway and Lambda](https://thenewstack.io/build-a-serverless-api-with-aws-gateway-and-lambda/) +## TriggerMesh serverless event router + +- [TriggerMesh](https://www.triggermesh.com) Easily build event-driven applications + - Open-source AWS EventBridge alternative + - Unified eventing experience + - Developer-friendly CLI + - Runs on Docker or natively on Kubernetes +- [thenewstack.io: TriggerMesh: Open Sourcing Event-Driven Applications](https://thenewstack.io/triggermesh-open-sourcing-event-driven-applications/) The open source, cloud-agnostic, serverless event router allows users to produce and consume between multiple clouds and on-prem data centers. Check out these real-life case studies. + ## Images ??? note "Click to expand!" diff --git a/docs/servicemesh.md b/docs/servicemesh.md index 1832dca7..a5cd299c 100644 --- a/docs/servicemesh.md +++ b/docs/servicemesh.md @@ -68,6 +68,7 @@ - [infoq.com: The Top-Five Challenges of Running a Service Mesh in an Enterprise 🌟](https://www.infoq.com/presentations/5-challenges-mesh/) - [medium.com/elca-it: Service Mesh Performance Evaluation — Istio, Linkerd, Kuma and Consul](https://medium.com/elca-it/service-mesh-performance-evaluation-istio-linkerd-kuma-and-consul-d8a89390d630) - [medium.com/@pauldotyu: Service Mesh Considerations](https://medium.com/@pauldotyu/service-mesh-considerations-117561f30295) +- [medium.com/4th-coffee: A Comprehensive Tutorial on Service Mesh, Istio, Envoy, Access Log, and Log Filtering](https://medium.com/4th-coffee/a-comprehensive-tutorial-on-service-mesh-istio-envoy-access-log-and-log-filtering-8f3d939c081d) ## Service Mesh and API Gateways diff --git a/docs/sre.md b/docs/sre.md index 022402aa..962228e2 100644 --- a/docs/sre.md +++ b/docs/sre.md @@ -90,6 +90,7 @@ - [SLOconf](https://www.sloconf.com/) The first SLO Conference for Site Reliability Engineers - [thenewstack.io: Automate User Satisfaction with This GitOps-Friendly Spec for Service Level Objectives](https://thenewstack.io/automate-user-satisfaction-with-this-gitops-friendly-spec-for-service-level-objectives/) Organizations looking to tighten up their ops with some site reliability engineering (SRE) should take a look at the recently-released OpenSLO specification, a GitOps-friendly template for establishing Service Level Objectives (SLO) to specify and even enforce the range of reliability required (and afforded) for a system. - [sre.google: The Art of SLOs](https://sre.google/resources/practices-and-processes/art-of-slos/) +- [blog.acethecloud.com: A Step-by-Step Guide to Calculate SLAs, SLIs, and SLOs for Your IT Services](https://blog.acethecloud.com/a-step-by-step-guide-to-calculating-slas-slis-and-slos-for-your-it-services-6f0a07b67bb5) ### OpenSLO diff --git a/docs/terraform.md b/docs/terraform.md index a9bd8a65..3970955e 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -13,38 +13,40 @@ 1. [Alternatives to Terraform Cloud](#alternatives-to-terraform-cloud) 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) + 6. [Providing Terraform with Ansible](#providing-terraform-with-ansible) + 7. [Python Boto3 and Terraform](#python-boto3-and-terraform) + 8. [Terraform Infracost](#terraform-infracost) + 9. [Awesome Terraform](#awesome-terraform) + 10. [Terraform Cheat Sheets](#terraform-cheat-sheets) + 11. [Best Practices](#best-practices) + 12. [Terraform and CI/CD. Terraform Workspace](#terraform-and-cicd-terraform-workspace) + 13. [Terraform Boilerplates](#terraform-boilerplates) + 14. [Terraform and Kubernetes](#terraform-and-kubernetes) + 15. [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) + 16. [Terraform Kubernetes Operator](#terraform-kubernetes-operator) + 17. [Terraform K3s Boilerplates](#terraform-k3s-boilerplates) + 18. [Terraform and GCP](#terraform-and-gcp) 1. [Terraform GKE Boilerplates](#terraform-gke-boilerplates) - 18. [Terraform and AWS](#terraform-and-aws) - 1. [AWS Observability Accelerator for Terraform](#aws-observability-accelerator-for-terraform) - 2. [Terraform EKS Boilerplates](#terraform-eks-boilerplates) - 3. [AWSCC. Terraform AWS Cloud Control Provider](#awscc-terraform-aws-cloud-control-provider) - 4. [AWS Control Tower Account Factory for Terraform (AFT)](#aws-control-tower-account-factory-for-terraform-aft) - 19. [Terraform with Azure](#terraform-with-azure) + 19. [Terraform and AWS](#terraform-and-aws) + 1. [AWS Service Catalog](#aws-service-catalog) + 2. [AWS Observability Accelerator for Terraform](#aws-observability-accelerator-for-terraform) + 3. [Terraform EKS Boilerplates](#terraform-eks-boilerplates) + 4. [AWSCC. Terraform AWS Cloud Control Provider](#awscc-terraform-aws-cloud-control-provider) + 5. [AWS Control Tower Account Factory for Terraform (AFT)](#aws-control-tower-account-factory-for-terraform-aft) + 20. [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) + 21. [Terraform and OCI](#terraform-and-oci) + 22. [Terraform and Minikube](#terraform-and-minikube) + 23. [Terraform and Apache Kafka](#terraform-and-apache-kafka) + 24. [Terraform and JMeter](#terraform-and-jmeter) + 25. [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) @@ -250,6 +252,10 @@ - [medium.com/codex: How to Use the If / Else Statement in Terraform — Examples 🌟](https://medium.com/codex/how-to-use-the-if-else-statement-in-terraform-examples-76283b593828) - [==tekanaid.com: Terraform for Beginners – A Beginner’s Guide to Automating Cloud Infrastructure== 🌟](https://tekanaid.com/posts/terraform-for-beginners-course-and-training) - [==terrahaxs.com: Choosing the Right Terraform Loop: count vs for_each== 🌟](https://www.terrahaxs.com/blog/count-vs-for-each/) +- [==digitalocean.com: How To Structure a Terraform Project== 🌟](https://www.digitalocean.com/community/tutorials/how-to-structure-a-terraform-project) **Learn about structuring Terraform projects according to their general purpose and complexity. Then, you’ll create a project with a simple structure using the more common features of Terraform: variables, locals, data sources, and provisioners.** +- [==getbetterdevops.io: How To Deploy Helm Charts With Terraform== 🌟](https://getbetterdevops.io/terraform-with-helm/) Do you know you can deploy HelmCharts as any other Terraform resources? It's possible with the official Helm provider. +- [==medium.com/@dsdatsme: Terraform GitOps CI/CD with Approval & Notifications==](https://medium.com/@dsdatsme/terraform-gitops-ci-cd-with-approval-notifications-6f0807299fc4) +- [github.com/DhruvinSoni30/Terraform_multiple_modules](https://github.com/DhruvinSoni30/Terraform_multiple_modules) **How to work with multiple terraform modules?** ### Alternatives to Terraform @@ -273,6 +279,7 @@ #### Alternatives to Terraform Cloud - [medium.com/@elliotgraebert: Four Great Alternatives to HashiCorp’s Terraform Cloud](https://medium.com/@elliotgraebert/four-great-alternatives-to-hashicorps-terraform-cloud-6e0a3a0a5482) Picking the Best IaC CI Platform +- [digger.dev](https://digger.dev) Open-source Terraform Cloud alternative. Run Terraform plan / apply jobs in your CI ### HCL @@ -286,6 +293,10 @@ - [hashicorp.com: CDK for Terraform: Enabling Python & TypeScript Support](https://www.hashicorp.com/blog/cdk-for-terraform-enabling-python-and-typescript-support) - [hashicorp.com: Announcing CDK for Terraform 0.1](https://www.hashicorp.com/blog/announcing-cdk-for-terraform-0-1) +### Providing Terraform with Ansible + +- [==ansible.com: Providing Terraform with that Ansible Magic== 🌟🌟](https://www.ansible.com/blog/providing-terraform-with-that-ansible-magic) + ### Python Boto3 and Terraform - [medium.com/@dmglascoe: ==Deploying IAM Users and S3 Buckets using Boto3 and Terraform==](https://medium.com/@dmglascoe/deploying-iam-users-and-s3-buckets-using-boto3-and-terraform-71ec04b2e14b) @@ -321,6 +332,7 @@ - [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. +- [spacelift.io: 20 Terraform Best Practices to Improve your TF workflow 🌟](https://spacelift.io/blog/terraform-best-practices) ### Terraform and CI/CD. Terraform Workspace @@ -442,9 +454,18 @@ - [betterprogramming.pub: Terraform Setup for Using AWS Lambda With S3](https://betterprogramming.pub/terraform-setup-for-using-aws-lambda-with-s3-2b8ba286b6d7) Build your buckets - [aws.amazon.com: Save time with automated security checks of your Terraform scripts](https://aws.amazon.com/blogs/infrastructure-and-automation/save-time-with-automated-security-checks-of-terraform-scripts/) Looking for a way to automate security checks of your Terraform scripts directly into your continuous integration and continuous delivery (CI/CD) pipeline? How about a way to view the results of those security checks and address issues before deployment, all with built-in notifications? Then check out our solution using Checkov, a static code analysis tool for flagging security and compliance problems. - [haque-zubair.medium.com: AWS API Gateway & Lambda with Terraform](https://haque-zubair.medium.com/aws-lambda-api-gateway-with-terraform-bd143b1c56bb) +- [medium.com/@abhimanyubajaj98: Deploying Kubernetes from Scratch with Terraform: A Step-by-Step Guide](https://medium.com/@abhimanyubajaj98/deploying-kubernetes-from-scratch-with-terraform-a-step-by-step-guide-7d628910efd0) +- [aws.plainenglish.io: Building AWS Infrastructure with Terraform Modules](https://aws.plainenglish.io/building-aws-infrastructure-with-terraform-modules-2cee480be24d) Also learn how to create an S3 backend for easy state file versioning +- [khainas.dev: Create SSH tunnel in AWS with Terraform](https://khainas.dev/create-ssh-tunnel-in-aws-with-terraform-62d1f6968e5d) Or the adventures of the JUMP Instance +- [faun.pub: Configuring a Highly Available Infrastructure in AWS using Terraform](https://faun.pub/configuring-a-highly-available-infrastructure-in-aws-using-terraform-2fc9dbb519b6) +- [towardsaws.com: Terraform Basics: Creating Custom AWS VPC, Subnets, and Route Tables](https://towardsaws.com/terraform-basics-creating-custom-aws-vpc-subnets-and-route-tables-4e7075135e99) {== +#### AWS Service Catalog + +- [==New – Self-Service Provisioning of Terraform Open-Source Configurations with AWS Service Catalog== 🌟🌟🌟](https://aws.amazon.com/blogs/aws/new-self-service-provisioning-of-terraform-open-source-configurations-with-aws-service-catalog/) With AWS Service Catalog, you can create, govern, and manage a catalog of infrastructure as code (IaC) templates that are approved for use on AWS. These IaC templates can include everything from virtual machine images, servers, software, and databases to complete multi-tier application architectures. You can control which IaC templates and versions are available, what is configured by each version, and who can access each template based on individual, group, department, or cost center. End users such as engineers, database administrators, and data scientists can then quickly discover and self-service provision approved AWS resources that they need to use to perform their daily job functions. + #### AWS Observability Accelerator for Terraform - [github.com/aws-observability](https://github.com/aws-observability) @@ -716,6 +737,7 @@ - [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/) +- [spacelift.io: 18 Most Useful Terraform Tools to Use in 2023](https://spacelift.io/blog/terraform-tools) ## Writing Terraform for unsupported resources with TerraCurl diff --git a/docs/visual-studio.md b/docs/visual-studio.md index 19e7afdc..08a08ec3 100644 --- a/docs/visual-studio.md +++ b/docs/visual-studio.md @@ -55,7 +55,7 @@ - [softzone.es: Mejora y añade más funciones a Visual Studio Code con plugins](https://www.softzone.es/programas/lenguajes/mejores-plugins-anadir-visual-code/) - [dzone: VS Code Extensions for Frontend Developers](https://dzone.com/articles/7-vs-code-extensions-for-frontend-developers) - In code 1.61.0, you can get a colorized bracket pair guide, just enable it by setting: - - `"editor.guides.bracketPairs": true` + - `"editor.guides.bracketPairs": true` - [dev.to: How to configure VSCode Bracket Pair Colors Natively](https://dev.to/amanhimself/how-to-configure-vscode-bracket-pair-colors-natively-3nl) - **Zen Mode:** Per user requests, we have added Zen Mode to VS Code. Zen Mode lets you focus on your code by hiding all UI except the editor (no Activity Bar, Status Bar, Sidebar and Panel) and going to full screen. Zen mode can be toggled using the View menu, Command Palette or by the shortcut Ctrl+K Z. - [realpython.com: Advanced Visual Studio Code for Python Developers](https://realpython.com/advanced-visual-studio-code-python/) @@ -160,7 +160,7 @@ A simple extension to make indentation more readable - [Local History](https://marketplace.visualstudio.com/items?itemName=xyz.local-history) Save files into local history - [Remote Repositories 🌟](https://code.visualstudio.com/blogs/2021/06/10/remote-repositories) You can now browse or even make edits to any GitHub repo straight from code, instantly WITHOUT having to pull the source down first. - [marketplace.visualstudio.com: Bridge to Kubernetes (VSCode)](https://marketplace.visualstudio.com/items?itemName=mindaro.mindaro) With Bridge to Kubernetes, the only thing you need to run and debug on your development machine is the microservice you're working on and your preferred dev tools. - [thorsten-hans.com: Debugging apps in Kubernetes with Bridge 🌟](https://www.thorsten-hans.com/debugging-apps-in-kubernetes-with-bridge/) Bridge to Kubernetes simplifies and streamlines the process of debugging applications running in Kubernetes. Debug any language using the tools you prefer and love. -- [Working with Kubernetes in VS Code](https://code.visualstudio.com/docs/azure/kubernetes) +- [Working with Kubernetes in VS Code](https://code.visualstudio.com/docs/azure/kubernetes) Learn how to create a Kubernetes cluster, write a K8s manifest file (YAML), which tells K8s everything it needs to know about app, and finally deploy the app to the K8s cluster. - [marketplace.visualstudio.com: GitHub Repositories 🌟](https://marketplace.visualstudio.com/items?itemName=GitHub.remotehub) Browse and edit code from Github without cloning. You can even review PRs!. The GitHub Repositories extension lets you quickly browse, search, edit, and commit to any remote GitHub repository directly from within Visual Studio Code, with support for Azure repos coming soon. - [Azure/vscode-kubernetes-tools 🌟](https://github.com/Azure/vscode-kubernetes-tools) Visual Studio Code Kubernetes Tools - [==GitHub Copilot== 🌟](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) @@ -173,6 +173,7 @@ A simple extension to make indentation more readable - [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 - [marketplace.visualstudio.com: GitOps Tools for Flux 🌟](https://marketplace.visualstudio.com/items?itemName=Weaveworks.vscode-gitops-tools) This is a VS Code extension for GitOps automation tool for continuous delivery of Kubernetes and cloud native applications +- [marketplace.visualstudio.com: Kubernetes Reference Highlighter 🌟](https://marketplace.visualstudio.com/items?itemName=dag-andersen.kubernetes-reference-highlighter) Kubernetes reference highlighter is a plugin for VS Code that highlights references in your Kubernetes YAML files #### More Extensions (Blogs) @@ -313,6 +314,10 @@ A simple extension to make indentation more readable - [STOP Creating New Files This! But Do THIS in VS Code!!!](https://www.youtube.com/shorts/VqOVb76IyI4) - [Take your extensions with you](https://www.youtube.com/shorts/HyhSDvaaRwM) - [Java, Gradle, and VS Code](https://www.youtube.com/shorts/0xq_ZYfl6Vk) +- [VS Code February 2023 Release Highlights (v1.76)](https://www.youtube.com/shorts/hdmaP4ibJ4I) +- [Extension of the week: Thunder Client](https://www.youtube.com/shorts/X3wgBid4gO8) +- [Pin VS Code Tabs?](https://www.youtube.com/shorts/6NFR5MsHM_4) +- [Rainbox CSV](https://www.youtube.com/shorts/y55a7NAiHiI) ## Videos diff --git a/docs/web-servers.md b/docs/web-servers.md index 05fd1dd0..9d8d4300 100644 --- a/docs/web-servers.md +++ b/docs/web-servers.md @@ -38,6 +38,7 @@ - [How To Use the Official NGINX Docker Image](https://www.docker.com/blog/how-to-use-the-official-nginx-docker-image/) - [medium: Using Nginx-Ingress as a Static Cache for Assets Inside Kubernetes](https://medium.com/@vdboor/using-nginx-ingress-as-a-static-cache-91bc27be04a1) Optimizing Nginx on Kubernetes Without a Adding a Cloud CDN. - [==freecodecamp.org: The NGINX Handbook== 🌟](https://www.freecodecamp.org/news/the-nginx-handbook/) +- [==nginx.com: The Complete NGINX Cookbook== 🌟](https://www.nginx.com/resources/library/complete-nginx-cookbook/) **Get sample NGINX configurations for load balancing, cloud deployment, automation, containers and microservices, service mesh, security, and more.** ### Nginx Unit @@ -61,7 +62,7 @@ ## Traefik (HTTP router and reverse proxy) - [Traefik](http://traefik.io/) -- [Dzone: How to Use the Open Source Tool Traefik to Direct Kubernetes Traffic](https://dzone.com/articles/how-to-use-the-open-source-tool-traefik-to-direct) +- [Dzone: How to Use the Open Source Tool Traefik to Direct Kubernetes Traffic](https://dzone.com/articles/how-to-use-the-open-source-tool-traefik-to-direct) - [opensource.com: Directing Kubernetes traffic with Traefik](https://opensource.com/article/20/3/kubernetes-traefik) - [blog.tomarrell.com - Kustomize: Traefik v2.2 as a Kubernetes Ingress Controller](https://blog.tomarrell.com/post/traefik_v2_on_kubernetes) - [thenewstack.io: Using Traefik Ingress Controller with Istio Service Mesh](https://thenewstack.io/using-traefik-ingress-controller-with-istio-service-mesh/) diff --git a/mkdocs.yml b/mkdocs.yml index 231642a6..7095ced4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -269,6 +269,7 @@ nav: - Digital Money: digital-money.md - Hiring: - Recruitment: recruitment.md + - Human Resources: hr.md - Freelancing: freelancing.md - Remote Tech Jobs: remote-tech-jobs.md - Clients: customer.md diff --git a/react.md b/react.md index 621b4278..f3da2647 100644 --- a/react.md +++ b/react.md @@ -1,3 +1,9 @@ # React -- [freecodecamp.org: How to Get Started With React – A Beginner's Guide](https://www.freecodecamp.org/news/get-started-with-react-for-beginners/) \ No newline at end of file +- [freecodecamp.org: How to Get Started With React – A Beginner's Guide](https://www.freecodecamp.org/news/get-started-with-react-for-beginners/) + +??? note "Videos - Click to expand!" + +
+ +