From b5704714aac3c707c07ee851b74f33cf781be546 Mon Sep 17 00:00:00 2001 From: Inaki Fernandez Date: Wed, 23 Sep 2020 19:23:41 +0200 Subject: [PATCH] big update, summer time frame --- docs/ansible.md | 1 + docs/api.md | 4 + docs/aws.md | 19 +- docs/cheatsheets.md | 6 + docs/cicd.md | 7 + docs/container-managers.md | 2 + docs/databases.md | 11 +- docs/demos.md | 4 + docs/developerportals.md | 13 ++ docs/devops.md | 4 + docs/devsecops.md | 18 +- docs/docker.md | 4 + docs/git.md | 13 ++ docs/gitops.md | 8 +- docs/golang.md | 3 + docs/helm.md | 13 +- docs/index.md | 2 + docs/introduction.md | 9 +- docs/istio.md | 4 + .../java-and-java-performance-optimization.md | 4 +- docs/java_frameworks.md | 1 + docs/jenkins-alternatives.md | 6 + docs/jenkins.md | 5 + docs/kubernetes.md | 204 +++++++++++++++++- docs/kustomize.md | 4 +- docs/linux-dev-env.md | 3 + docs/linux.md | 9 + docs/message-queue.md | 19 ++ docs/mkdocs.md | 1 + docs/monitoring.md | 18 +- docs/nexus-jfrog.md | 7 +- docs/ocp3.md | 1 + docs/ocp4.md | 8 + docs/other-awesome-lists.md | 5 + docs/postman.md | 1 + docs/pulumi.md | 3 +- docs/python.md | 2 + docs/rancher.md | 3 + docs/securityascode.md | 4 + docs/servicemesh.md | 1 + docs/sre.md | 2 + docs/storage.md | 2 + docs/terraform.md | 12 ++ docs/testops.md | 1 + docs/visual-studio.md | 7 + docs/web-servers.md | 2 + docs/yaml.md | 5 +- mkdocs.yml | 1 + 48 files changed, 463 insertions(+), 23 deletions(-) create mode 100644 docs/golang.md diff --git a/docs/ansible.md b/docs/ansible.md index 23fc05bb..9ad17d0e 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -25,6 +25,7 @@ * [Dzone: Ansible: An Effective IT Automation Tool](https://dzone.com/articles/ansible-an-effective-it-automation-tool) Learn about Ansible, a tool for automating application deployments, configuration management, and more in a DevOps environment. * [Dzone: Running Ansible at Scale](https://dzone.com/articles/running-ansible-at-scale) * [Udemy.com: Ansible Essentials: Simplicity in Automation (Free Tutorial)](https://www.udemy.com/ansible-essentials-simplicity-in-automation) +* [Deployment of Microservices in Cloud With Ansible](https://medium.com/avmconsulting-blog/deploying-microservices-via-ansible-in-cloud-platform-a03d46b7bd68) This tutorial will help you understand how Ansible orchestrates Docker containers at least for a dev environment ## Red Hat Ansible Automation Platform - [redhat.com: Red Hat Ansible Automation Platform Enhancements and New Certified Ansible Content Collections Refine the Automation Experience to Drive Business Imperatives](https://www.redhat.com/en/about/press-releases/red-hat-ansible-automation-platform-enhancements-and-new-certified-ansible-content-collections-refine-automation-experience-drive-business-imperatives) Ready-to-use, curated automation for a wide range of platforms, public clouds, network and security technologies help organizations more easily get started with the latest trusted automation diff --git a/docs/api.md b/docs/api.md index 309e56e0..5ae4d7ca 100644 --- a/docs/api.md +++ b/docs/api.md @@ -114,6 +114,10 @@ * [Dzone: How to Create a REST API With Spring Boot](https://dzone.com/articles/how-to-create-rest-api-with-spring-boot) * [Dzone: Step-By-Step Spring Boot RESTful Web Service Complete Example](https://dzone.com/articles/spring-boot-restful-web-service-complete-example) * [Creando un API REST en Java (parte 1)](https://www.oscarblancarteblog.com/2018/06/25/creando-un-api-rest-en-java-parte-1/) +* [dev.to: Rapid API Creation with AWS Amplify](https://dev.to/fllstck/rapid-api-creation-with-aws-amplify-3c8i) +* [portal.dev](https://portal.dev/) Build beautiful API documentation. Portal lets you create, publish, and maintain your API docs with ease. +* [openapi-comment-parser](https://github.com/bee-travels/openapi-comment-parser) A clean and simple way to document your code for generating OpenAPI (Swagger) specs. + * [IBM creates an open source tool to simplify API documentation](https://www.techrepublic.com/article/ibm-creates-an-open-source-tool-to-simplify-api-documentation/) ## API Business Models - [API Business Models. 20 Models in 20 Minutes](https://www.infoq.com/presentations/API-Business-Models/) diff --git a/docs/aws.md b/docs/aws.md index 682ebf30..7fdc670c 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -30,6 +30,7 @@ - [AWS Management Tools Blog](#aws-management-tools-blog) - [AWS Schema Conversion Tool](#aws-schema-conversion-tool) - [AWS RDS](#aws-rds) + - [AWS DMS](#aws-dms) - [AWS RDS Proxy](#aws-rds-proxy) - [AWS Application Discovery Service](#aws-application-discovery-service) - [New AWS Competency. AWS Migration](#new-aws-competency-aws-migration) @@ -87,6 +88,7 @@ - [Local Testing](#local-testing) - [Localstack](#localstack) - [Migrating On Premise VM to AWS](#migrating-on-premise-vm-to-aws) +- [AWS configuration files](#aws-configuration-files) - [Spain](#spain) - [Videos](#videos) @@ -256,10 +258,13 @@ - [Working with PostgreSQL, MySQL, and MariaDB Read Replicas - Amazon ๐ŸŒŸ](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) Use RDS PostgreSQL cross-region Read Replicas to get data close to customers. - [Working with an Amazon RDS DB Instance in a VPC](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) - [Creating a DB Instance Running the Oracle Database Engine](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateOracleInstance.html) In RDS, create Oracle Standard Edition 2 DB instances with the License Included model. -- [Amazon RDS for PostgreSQL Enhancements: Support for new minor versions, Logical Replication, and Amazon RDS PostgreSQL as a source for AWS DMS](https://aws.amazon.com/about-aws/whats-new/2016/09/amazon-rds-for-postgresql-enhancements-support-for-new-minor-versions-logical-replication-and-amazon-rds-postgresql-as-a-source-for-aws-dms/) - [Oracle Database on the AWS Cloud: Quick Start Reference Deployment](https://aws.amazon.com/about-aws/whats-new/2016/10/oracle-database-on-the-aws-cloud-quick-start-reference-deployment/) - [besanttechnologies.com: AWS โ€“ Relational Database Service](https://www.besanttechnologies.com/amazon-web-services-relational-database) +### AWS DMS +- [Amazon RDS for PostgreSQL Enhancements: Support for new minor versions, Logical Replication, and Amazon RDS PostgreSQL as a source for AWS DMS](https://aws.amazon.com/about-aws/whats-new/2016/09/amazon-rds-for-postgresql-enhancements-support-for-new-minor-versions-logical-replication-and-amazon-rds-postgresql-as-a-source-for-aws-dms/) +- [Migrating Oracle databases with near-zero downtime using AWS DMS](https://aws.amazon.com/blogs/database/migrating-oracle-databases-with-near-zero-downtime-using-aws-dms/) + ### AWS RDS Proxy - [Amazon RDS Proxy โ€“ Now Generally Available](https://aws.amazon.com/es/blogs/aws/amazon-rds-proxy-now-generally-available/) A fully managed, highly available database proxy for Amazon Relational Database Service (RDS) that makes applications more scalable, more resilient to database failures, and more secure. @@ -366,6 +371,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [Build a Modular and Scalable Amazon VPC Architecture with New Quick Start ๐ŸŒŸ](https://aws.amazon.com/about-aws/whats-new/2016/07/build-a-modular-and-scalable-amazon-vpc-architecture-with-new-quick-start) Build a modular virtual network architecture with Amazon VPC in 5 minutes with our new Quick Start - [Specifying the VPC for your Amazon RDS DB Instance](https://aws.amazon.com/about-aws/whats-new/2016/08/specifying-the-vpc-for-your-amazon-rds-db-instance/) You can now easily change the Amazon VPC used by your Amazon RDS DB instance! - [awsfundamentals.blogspot.com: AWS Virtual Private Cloud - VPC ๐ŸŒŸ](https://awsfundamentals.blogspot.com/2019/12/aws-vpc-fundamental.html) +- [Reduce Cost and Increase Security with Amazon VPC Endpoints](https://aws.amazon.com/blogs/architecture/reduce-cost-and-increase-security-with-amazon-vpc-endpoints/) ## AWS SQS. Amazon Simple Queue Service - [Limits in Amazon SQS](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html) @@ -485,6 +491,14 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [What is the best way to generate a visual diagram of the AWS environment which includes VPC, VPN, EC2, and AMIs?](https://acloud.guru/forums/aws-certified-advanced-networking-specialty/discussion/-LELSWplsuDI8q8_KtjN/What%20is%20the%20best%20way%20to%20generate%20a%20visual%20diagram%20of%20the%20AWS%20environment%20which%20includes%20VPC,%20VPN,%20EC2,%20and%20AMIs%3F) - [CloudSkew](https://www.cloudskew.com/) Free AWS, Azure, GCP, Kubernetes Architecture Diagram Tool - [PlantUML](https://plantuml.com/) +- [cloudskew.com](https://www.cloudskew.com/) +- [draw.io](https://drawio-app.com/) +- [Isoflow](https://isoflow.io) Infrastructure Diagrams +- [AWS Perspective ๐ŸŒŸ](https://aws.amazon.com/solutions/implementations/aws-perspective/) a tool to automatically visualise your loud workloads. + - https://github.com/awslabs/aws-perspective + - Perspective inventories your aws accounts and can automatically create architecture diagrams with your resources along with the relationships between them. The diagrams are dynamic and you have the ability to explore them to discover how your resources are associated and connected. + - Perspective displays indicative costing data for the resources in your diagrams and works cross-account and cross-region. + - Perspective is open source and has an open road map. Feel free to raise issues and contribute to future development! ## AWS Config Rules - [AWS Config Rules now available in 4 new regions: US West (Oregon), EU (Ireland), EU (Frankfurt) and Asia Pacific (Tokyo)](https://aws.amazon.com/es/about-aws/whats-new/2016/04/aws-config-rules-now-available-in-4-new-regions-us-west-oregon-eu-ireland-eu-frankfurt-and-asia-pacific-tokyo/) @@ -563,6 +577,9 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa ## Migrating On Premise VM to AWS - [youtube: Migrating On Premise VM to AWS | VM Import/Export | Create EC2 instance based on on-premises server](https://youtu.be/buzusNljpy4) +## AWS configuration files +- [medium: AWS configuration files, explained](https://medium.com/@ben11kehoe/aws-configuration-files-explained-9a7ea7a5b42e) + ## Spain - [xataka.com: Por quรฉ Amazon ha elegido Aragรณn para instalar sus tres primeros centros de datos en Espaรฑa](https://www.xataka.com/servicios/que-amazon-ha-elegido-aragon-para-instalar-sus-tres-primeros-centros-datos-espana) - [RESOURCE HUB: Eventos y webinars de AWS](https://emea-resources.awscloud.com/spain-events-webinars) diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md index 911f8fb3..d8e9e258 100644 --- a/docs/cheatsheets.md +++ b/docs/cheatsheets.md @@ -25,6 +25,7 @@ - [JMeter Cheat Sheets](#jmeter-cheat-sheets) - [Quarkus Cheat Sheets](#quarkus-cheat-sheets) - [Markdown Cheat Sheets](#markdown-cheat-sheets) +- [Machine Learning](#machine-learning) ## Cheat Sheets * [lzone.de/cheat-sheet](https://lzone.de/cheat-sheet/) @@ -60,6 +61,8 @@ * [cheatsheet.dennyzhang.com: kubectl kubernetes free cheat sheet ๐ŸŒŸ](https://cheatsheet.dennyzhang.com/cheatsheet-kubernetes-a4) * [opensource.com: 9 kubectl commands sysadmins need to know ๐ŸŒŸ](https://opensource.com/article/20/5/kubectl-cheat-sheet) Keep these 9 critical kubectl commands handy to help you with troubleshooting and managing your Kubernetes cluster administration. * [bluematador.com: kubectl cheatsheet](https://www.bluematador.com/learn/kubectl-cheatsheet) +* [medium: Awesome Kubernetes Command-Line Hacks](https://medium.com/better-programming/awesome-kubernetes-command-line-hacks-8bd3604e394f) +* [dockerlabs.collabnix.com: Cheatsheet - Kubectl ๐ŸŒŸ](https://dockerlabs.collabnix.com/kubernetes/cheatsheets/kubectl.html) ## Docker Cheat Sheets - [dockerlux.github.io: Docker Cheat Sheet](http://dockerlux.github.io/pdfcheat-sheet-v2.pdf) @@ -113,6 +116,7 @@ ## Linux Command Cheat Sheets * [linoxide.com: Linux Commands Cheat Sheet](https://linoxide.com/linux-command/linux-commands-cheat-sheet/) * [commandlinefu.com](https://www.commandlinefu.com/) +* [opensource.com: 10 cheat sheets for Linux sysadmins](https://opensource.com/article/20/7/sysadmin-cheat-sheets) ### SSH Cheat Sheets - [ssh cheat sheet](https://cheatsheet.dennyzhang.com/cheatsheet-ssh-a4) @@ -189,3 +193,5 @@ - [Markdown Cheat Sheet 3](https://3os.org/markdownCheatSheet/welcome/) - [Markdown Cheat Sheet 4](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) +## Machine Learning +- [Machine Learning Glossary](https://developers.google.com/machine-learning/glossary) \ No newline at end of file diff --git a/docs/cicd.md b/docs/cicd.md index ca79598c..477d38b9 100644 --- a/docs/cicd.md +++ b/docs/cicd.md @@ -1,6 +1,7 @@ # CI/CD - [Introduction](#introduction) - [CI/CD Continuous Integration and Continuous Delivery](#cicd-continuous-integration-and-continuous-delivery) +- [Security in CI/CD](#security-in-cicd) - [Deployment Strategies](#deployment-strategies) - [CI/CD with Kubernetes](#cicd-with-kubernetes) - [Reports on the Enterprise CI/CD Market](#reports-on-the-enterprise-cicd-market) @@ -43,6 +44,12 @@ Here are some important things to consider while building a CI/CD pipeline: * Implement an easy way to rollback * Proactively monitor your CD pipeline +* [medium: How to build an efficient CI/CD pipeline ๐ŸŒŸ๐ŸŒŸ](https://medium.com/@sanjayaben/how-to-build-an-efficient-ci-cd-pipeline-b5738ad567c8) +* [medium: Continuous Kubernetes blue-green deployments on Azure using Nginx, AppGateway or TrafficManager โ€” part 2](https://medium.com/@denniszielke/continuous-kubernetes-blue-green-deployments-on-azure-using-nginx-appgateway-or-trafficmanager-4490bce29cb) + +## Security in CI/CD +* [CI Checks Are Not Enough: Combat Configuration Drift in Kubernetes Resources](https://thenewstack.io/ci-checks-are-not-enough-combat-configuration-drift-in-kubernetes-resources/) + ## Deployment Strategies - [blog.container-solutions.com: Deployment Strategies ๐ŸŒŸ](https://blog.container-solutions.com/deployment-strategies) - It really depends on the needs and budget. When releasing to development/staging environments, a recreate or ramped deployment is usually a good choice. When it comes to production, a ramped or blue/green deployment is usually a good fit, but proper testing of the new platform is necessary. diff --git a/docs/container-managers.md b/docs/container-managers.md index 691a7117..f88067d0 100644 --- a/docs/container-managers.md +++ b/docs/container-managers.md @@ -49,6 +49,8 @@ - [redhat.com: Be careful when pulling images by short name](https://www.redhat.com/en/blog/be-careful-when-pulling-images-short-name) - [developers.redhat.com: Podman and Buildah for Docker users ๐ŸŒŸ](https://developers.redhat.com/blog/2019/02/21/podman-and-buildah-for-docker-users/) - [podmain.io: Announcing Podman v2](https://podman.io/blogs/2020/06/29/podman-v2-announce.html) Featuring a new REST API, Remote Clients, Auto-update, Systemd Integration Improvements and more! +- [youtube: Getting started with Podman](https://www.youtube.com/watch?v=Za36qHbrf3g) +- [Podman remote clients for macOS and Windows](https://www.redhat.com/sysadmin/podman-clients-macos-windows) Podman manages your containers on a Linux host. Manage your containers from macOS or Windows by using the Podman remote client. #### Containers In High Security Environments with Podman - [Build trusted pipelines/Guards with Podman containers](https://www.redhat.com/en/blog/using-container-technology-make-trusted-pipeline) Container technology makes develoment easier/cheaper & much more secure. SELinux,SECCOMP,Namespaces,Dropped Capabilities. diff --git a/docs/databases.md b/docs/databases.md index 7e934fd5..c3c6082b 100644 --- a/docs/databases.md +++ b/docs/databases.md @@ -31,6 +31,7 @@ - [Certified Crunchydata Postgres Operator (OLM/OperatorHub). Manual Setup](#certified-crunchydata-postgres-operator-olmoperatorhub-manual-setup) - [Oracle 12c on OpenShift Container Platform](#oracle-12c-on-openshift-container-platform) - [SQL Server](#sql-server) +- [Percona MySQL](#percona-mysql) ## Stateful and Stateless Applications * [xenonstack.com: Stateful and Stateless Applications Best Practices and Advantages](https://www.xenonstack.com/insights/stateful-and-stateless-applications/) @@ -45,6 +46,7 @@ ## Database DevOps - [informationweek.com: Can Enterprises Benefit From Adopting Database DevOps?](https://www.informationweek.com/devops/can-enterprises-benefit-from-adopting-database-devops/a/d-id/1337238) +- [medium: DevOps and Databasesโ€Šโ€”โ€ŠThe forgotten automation](https://medium.com/devops-dudes/devops-and-databases-the-forgotten-automation-95325b2d3c89) ## KubeDB Cloud Native Postgress Database * [kubedb.com](https://kubedb.com/) Run production-grade databases easily on Kubernetes @@ -91,6 +93,9 @@ * [info.crunchydata.com: Composite Primary Keys, PostgreSQL and Django](https://info.crunchydata.com/blog/composite-primary-keys-postgresql-and-django) * [info.crunchydata.com: Getting Started with PostgreSQL Operator 4.3 in OpenShift](https://info.crunchydata.com/blog/getting-started-with-postgresql-operator-4.3-in-openshift) * [thenewstack.io: Advanced Kubernetes Namespace Management with the PostgreSQL Operator](https://thenewstack.io/advanced-kubernetes-namespace-management-with-the-postgresql-operator/) +* [info.crunchydata.com: Introducing the Postgres Prometheus Adapter](https://info.crunchydata.com/blog/using-postgres-to-back-prometheus-for-your-postgresql-monitoring-1) +* [info.crunchydata.com: Getting Started with PostgreSQL Operator 4.3 in OpenShift](https://info.crunchydata.com/blog/getting-started-with-postgresql-operator-4.3-in-openshift) +* [info.crunchydata.com: Deploying Active-Active PostgreSQL on Kubernetes](https://info.crunchydata.com/blog/active-active-on-kubernetes) ### Crunchy Data Developer Portal - [Announcing the Crunchy Data Developer Portal](https://info.crunchydata.com/blog/announcing-the-crunchy-data-developer-portal) @@ -723,4 +728,8 @@ oc adm policy add-scc-to-user anyuid system:serviceaccount:pgophub:default - [dockerhub: Oracle Database 12c Enterprise Edition](https://hub.docker.com/_/oracle-database-enterprise-edition) ## SQL Server -- [Expanding SQL Server Big Data Clusters capabilities, now on Red Hat OpenShift](https://cloudblogs.microsoft.com/sqlserver/2020/06/23/expanding-sql-server-big-data-clusters-capabilities-now-on-red-hat-openshift/) \ No newline at end of file +- [Expanding SQL Server Big Data Clusters capabilities, now on Red Hat OpenShift](https://cloudblogs.microsoft.com/sqlserver/2020/06/23/expanding-sql-server-big-data-clusters-capabilities-now-on-red-hat-openshift/) + +## Percona MySQL +- [Percona.com: Percona Kubernetes Operator for Percona XtraDB Cluster](https://www.percona.com/doc/kubernetes-operator-for-pxc/index.html) +- [medium: Upgrading MySQL (Percona Server) from 5.7 to 8.0](https://medium.com/flant-com/upgrading-mysql-percona-server-5-to-8-4bce53bdce5c) \ No newline at end of file diff --git a/docs/demos.md b/docs/demos.md index 44ded924..cd9fa7e6 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -21,6 +21,7 @@ - [OpenShift Pipelines Workshop (Tekton)](#openshift-pipelines-workshop-tekton) - [Monitoring Services with OpenShift ServiceMesh](#monitoring-services-with-openshift-servicemesh) - [Red Hat Migration Toolkit for Applications](#red-hat-migration-toolkit-for-applications) + - [Red Hat Advanced Cluster Management RHACM](#red-hat-advanced-cluster-management-rhacm) - [OKD](#okd) - [Helm 3 on OpenShift](#helm-3-on-openshift) - [Jenkins Demos](#jenkins-demos) @@ -171,6 +172,9 @@ ### Red Hat Migration Toolkit for Applications - [Migration Toolkit for Applications Demo - June 2020](https://youtu.be/mRCz6Jl0Ds8) Migraiton Toolkit from Applications by Red Hat can help you migrate and/or modernize your applications by analyzing them and finding isses such as use of proprietary classes or behaviousr that are not conformant with 12factor app, in order to help you modernize your app portfolio and make it more cloud & container friendly. +### Red Hat Advanced Cluster Management RHACM +- [Advanced Cluster Management Demos](https://www.youtube.com/playlist?list=PLbMP1JcGBmSFA56rykbH2fg1F9Tozk4of) Want to manage Kubernetes clusters at scale? Struggle with Application Lifecycle? Need to ensure Security and Compliance policies across clusters? Check out these demos of Red Hat Advanced Cluster Manager (RHACM). + ### OKD * [medium.com: Installing an OKD 4.5 Cluster](https://medium.com/@craig_robinson/guide-installing-an-okd-4-5-cluster-508a2631cbee) diff --git a/docs/developerportals.md b/docs/developerportals.md index e317bea9..0c6dad0b 100644 --- a/docs/developerportals.md +++ b/docs/developerportals.md @@ -1,4 +1,5 @@ # API Marketplaces. API Management with API Gateways & Developer Portals +- [Introduction](#introduction) - [API Landscape and API Marketplaces](#api-landscape-and-api-marketplaces) - [API Marketplaces](#api-marketplaces) - [Rapid API Marketplace. Free Public & Open REST APIs](#rapid-api-marketplace-free-public--open-rest-apis) @@ -13,7 +14,9 @@ - [Tyk API Manager](#tyk-api-manager) - [Axway API Manager](#axway-api-manager) - [MuleSoft API Manager](#mulesoft-api-manager) + - [Gloo Federation API Gateway Management](#gloo-federation-api-gateway-management) - [Backstage Developer Portal](#backstage-developer-portal) + - [APISIX](#apisix) - [Mobile Developer Portals](#mobile-developer-portals) - [Automotive](#automotive) - [Auto API](#auto-api) @@ -23,6 +26,9 @@ - [Insurance](#insurance) - [Telecom](#telecom) +## Introduction +- [Layering domains and microservices using API Gateways](https://kislayverma.com/software-architecture/layering-domains-and-microservices-using-api-gateways/) + ## API Landscape and API Marketplaces - [API Landscape](https://www.apidays.co/api-landscape) @@ -85,10 +91,17 @@ - [MuleSoft API Manager](https://www.mulesoft.com/platform/api/manager) - [MuleSoft @Youtube](https://www.youtube.com/user/mulesoftvids) +### Gloo Federation API Gateway Management +- [Introducing Gloo Federation for Multi-Cluster API Gateway Management](https://www.solo.io/blog/introducing-gloo-federation-for-multi-cluster-management/) + ### Backstage Developer Portal - [Backstage Developer Portal:](https://backstage.io/) Spotify has now open-sourced Backstage (under Apache-2.0), the platform of platforms to create a great developer experience across hundreds of squads at Spotify - [Backstage @Youtube](https://www.youtube.com/channel/UCHBvqSwbfAf5Vx1jrwkG43Q) +### APISIX +- [apisix](https://github.com/apache/apisix) +- [thenewstack.io - APISIX: An Open Source API Gateway for Microservices](https://thenewstack.io/apisix-an-open-source-api-gateway-for-microservices/) + ## Mobile Developer Portals - [developer.mobileconnect.io](https://developer.mobileconnect.io/) - [developer.android.com](https://developer.android.com/) diff --git a/docs/devops.md b/docs/devops.md index fd975e81..d6f0b24c 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -48,6 +48,10 @@ * [itprotoday.com: Is the DevOps Model Killing the Developer? In a Word, No](https://www.itprotoday.com/devops-and-software-development/devops-model-killing-developer-word-no) The rise of the DevOps model means that app environments are moving faster and running on a larger scale than they did a decade ago. * [blog.vmware.com: DevOps: Culture โ€“ Collaboration, Empowerment, Autonomy ๐ŸŒŸ](https://blogs.vmware.com/management/2020/06/devops-culture.html) * [enterprisersproject.com: 3 DevOps skills IT leaders need for the next normal](https://enterprisersproject.com/article/2020/7/3-devops-skills-it-leaders-need-next-normal) +* [How to Become a DevOps Engineer in 2020](https://medium.com/better-programming/how-to-become-a-devops-engineer-in-2020-7618492a09d8) +* [Digestible DevOps: The 7 DevOps Practices](https://levelup.gitconnected.com/digestible-devops-the-7-devops-practices-8bd8b34e1418) Breaking down DevOps into practical chunks for real-world implementation. +* [red-gate.com: Automated Production Deployments are Not the Key to DevOps Performance](https://www.red-gate.com/blog/automated-production-deployments-are-not-the-key-to-devops-performance) Thereโ€™s a myth about DevOps which is hard to shake free of: that โ€œsuccessโ€ means fully automating your deployments from code check-in to production. +* [Hating code of others](https://statemanagement.substack.com/p/hating-the-code-of-others) We struggle to appreciate the meaning and intent of other people's work because we fail to understand the deeply personal and subjective quality of software development.
[![OCP 4 Pland and Deploy](images/openshift_day2.png)](https://www.openshift.com/blog/openshift-end-to-end-cluster-customization) diff --git a/docs/devsecops.md b/docs/devsecops.md index 7186c73e..2b4cf8f0 100644 --- a/docs/devsecops.md +++ b/docs/devsecops.md @@ -21,9 +21,10 @@ - [SOPS for Kubernetes](#sops-for-kubernetes) - [Alternatives](#alternatives) - [Serverless Security Best Practices](#serverless-security-best-practices) -- [Docker Images](#docker-images) +- [Docker Images & Container Security](#docker-images--container-security) - [Pod Security Policies](#pod-security-policies) - [Kubernetes Network Policies](#kubernetes-network-policies) +- [Books](#books) ## Introduction - [fiercesw.com: DevOps vs DevSecOps](https://fiercesw.com/devsecops-starter) @@ -31,6 +32,7 @@ - [linkedin: Dear Google, my data has left your building!](https://www.linkedin.com/pulse/dear-google-my-data-has-left-your-building-zakir-khan/) - [snyk.io: The State of Open Source Security 2020](https://snyk.io/open-source-security-report/) - [managedsentinel.com: Executive Viewโ€Šโ€”โ€ŠCurrent and Future Cybersecurity Architecture On One Page](https://www.managedsentinel.com/2019/05/23/cybersecurity-roadmap/) +- [Exploring the (lack of) security in a typical Docker and Kubernetes installation](https://www.neowin.net/news/exploring-the-lack-of-security-in-a-typical-docker-and-kubernets-installation/) ## Kubernetes Threat Modelling - [marcolancini.it: The Current State of Kubernetes Threat Modelling](https://www.marcolancini.it/2020/blog-kubernetes-threat-modelling/) @@ -75,6 +77,8 @@ ## Credential Managers ### keycloak - [keycloak.org](https://www.keycloak.org/) Open Source Identity and Access Management For Modern Applications and Services +- [Securing Kubernetes Apps with Keycloak and Gatekeeper](https://fdk.codes/securing-kubernetes-apps-with-keycloak-and-gatekeeper/) +- [Authorizing multi-language microservices with Louketo Proxy](https://developers.redhat.com/blog/2020/08/03/authorizing-multi-language-microservices-with-louketo-proxy/) ### Git Credential Manager Core - [Git Credential Manager Core](https://github.com/microsoft/Git-Credential-Manager-Core) GCM Core is a free, open-source, cross-platform credential manager for Git. @@ -90,9 +94,12 @@ - https://www.openshift.com/blog/vault-integration-using-kubernetes-authentication-method - https://www.openshift.com/blog/integrating-vault-with-legacy-applications - https://www.openshift.com/blog/integrating-hashicorp-vault-in-openshift-4 +- [Vault Learning Resources: Vault 1.5 features and more](https://www.hashicorp.com/blog/learn-vault-1-5) +- [medium: Securing K8s Ingress Traffic with HashiCorp Vault PKIaaS and JetStack Cert-Manager](https://medium.com/hashicorp-engineering/securing-k8s-ingress-traffic-with-hashicorp-vault-pkiaas-and-jetstack-cert-manager-cb46195742ca) ### CyberArk and Ansible - [ansible.com: Simplifying secrets management with CyberArk and Red Hat Ansible Automation Platform](https://www.ansible.com/blog/simplifying-secrets-management-with-cyberark-and-red-hat-ansible-automation-platform) +- [ansible.com: Automating Security with CyberArk and Red Hat Ansible Automation Platform](https://www.ansible.com/blog/automating-security-with-cyberark-and-red-hat-ansible-automation-platform) ### SOPS for Kubernetes - [dev.to: Manage your secrets in Git with SOPS for Kubernetes ๐ŸŒŸ](https://dev.to/stack-labs/manage-your-secrets-in-git-with-sops-for-kubernetes-57me) @@ -103,12 +110,17 @@ ## Serverless Security Best Practices - [10 Serverless security best practices](https://snyk.io/blog/10-serverless-security-best-practices/) -## Docker Images +## Docker Images & Container Security - [thehackernews.com: Docker Images Containing Cryptojacking Malware Distributed via Docker Hub](https://thehackernews.com/2020/06/cryptocurrency-docker-image.html) +- [sysdig.com: 12 Container image scanning best practices to adopt in production](https://sysdig.com/blog/image-scanning-best-practices/) +- [The Ten Commandments of Container Security](https://www.infracloud.io/blogs/top-10-things-for-container-security/?utm_sq=ghrej190y8) ## Pod Security Policies - [octetz.com: Setting Up Pod Security Policies](https://octetz.com/docs/2018/2018-12-07-psp/) By default, Kubernetes allows anything capable of creating a Pod to run a fairly privileged container that can compromise a system. Pod Security Policies protect clusters from privileged pods by ensuring the requester is authorised. - [infracloud.io: Kubernetes Pod Security Policies with Open Policy Agent](https://www.infracloud.io/kubernetes-pod-security-policies-opa/) In this blog post, you will learn about the Pod Security Policy admission controller. Then you will see how Open Policy Agent can implement Pod Security Policies. ## Kubernetes Network Policies -- [medium.com: K8s Network Policies Demystified and Simplified ๐ŸŒŸ](https://medium.com/swlh/k8s-network-policies-demystified-and-simplified-18f5ea9848e2) \ No newline at end of file +- [medium.com: K8s Network Policies Demystified and Simplified ๐ŸŒŸ](https://medium.com/swlh/k8s-network-policies-demystified-and-simplified-18f5ea9848e2) + +## Books +- [Microservices Security in Action](https://medium.facilelogin.com/microservices-security-in-action-933072043ad7) \ No newline at end of file diff --git a/docs/docker.md b/docs/docker.md index 1370bfd6..86c841b8 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -35,6 +35,9 @@ * [Broken by default: why you should avoid most Dockerfile example ๐ŸŒŸ](https://pythonspeed.com/articles/dockerizing-python-is-hard/) * [geekflare.com: docker tutorials](https://geekflare.com/docker-tutorials/) * [medium: What is Docker, Why should you use it in simple words](https://medium.com/@shahinghasemy/what-is-docker-why-should-you-use-it-in-simple-words-cc5e6160f9db) +* [docker.com: Top Questions for Getting Started with Docker ๐ŸŒŸ](https://www.docker.com/blog/top-questions-for-getting-started-with-docker/) +* [medium: How to Start Working With Docker Containers](https://medium.com/swlh/how-to-start-working-with-docker-containers-72b73ca60e0c) +* [dzone: Mitigating DevOps Repository Risks](https://dzone.com/articles/mitigating-devops-repository-risks) Docker is in the news for two reasons: Image retention limits and download throttling. Let's discuss both and see the better alternatives. ## Security - [thehackernews.com: Docker Images Containing Cryptojacking Malware Distributed via Docker Hub](https://thehackernews.com/2020/06/cryptocurrency-docker-image.html) @@ -45,6 +48,7 @@ ## Docker Tools - [Top 50 Docker Tools](https://blog.inedo.com/top-50-docker-tools) +- [docker-ecs-plugin: Docker Releases Plugin for Simplified Deployments into AWS ECS and Fargate](https://www.infoq.com/news/2020/07/docker-ecs-plugin/) ## Docker and WSL2 - [Creating the best Linux Development experience on Windows & WSL 2](https://www.docker.com/blog/creating-the-best-linux-development-experience-on-windows-wsl-2/) diff --git a/docs/git.md b/docs/git.md index 2b5512ec..27d4661b 100644 --- a/docs/git.md +++ b/docs/git.md @@ -56,6 +56,11 @@ * [dev.to: Git Concepts I Wish I Knew Years Ago ๐ŸŒŸ](https://dev.to/g_abud/advanced-git-reference-1o9j) * [opensource.com: 6 best practices for managing Git repos](https://opensource.com/article/20/7/git-repos-best-practices) Resist the urge to add things in Git that will make it harder to manage; here's what to do instead. * [codeburst.io: Debug your code using git bisect](https://codeburst.io/debug-your-code-using-git-bisect-45db2983cc69) +* [github.blog: Highlights from Git 2.28](https://github.blog/2020-07-27-highlights-from-git-2-28/) +* [codeburst.io: A Resource for all Things Git](https://codeburst.io/a-resource-for-all-things-git-b63d6626beca) +* [Things You Want to Do in Git and How to Do Them](https://stu2b50.dev/posts/things-you-wante9665) +* [Learn Git Branching ๐ŸŒŸ](https://learngitbranching.js.org/) An interactive Git visualization tool to educate and challenge! +* [livecodestream.dev: Git Concepts and Workflow for Beginners](https://livecodestream.dev/post/2020-08-21-git-concepts-and-workflow-for-beginners/) ## Design By Contract [Wikipedia: Design by contract (DbC)](https://en.wikipedia.org/wiki/Design_by_contract), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software. @@ -135,6 +140,7 @@ It prescribes that software designers should define formal, precise and verifiab * [CloudBees Releases Another Industry First: Feature Flagging for On-Premise Use ๐ŸŒŸ](https://www.previous.cloudbees.com/press/cloudbees-releases-another-industry-first-feature-flagging-premise-use) * [cioperu.pe: 5 formas de impulsar la utilizaciรณn de feature flags](https://cioperu.pe/articulo/30477/devops-5-formas-de-impulsar-la-utilizacion-de-feature-flags/) * [cloudbees.com: Testing with Feature Flags to Improve Developer Productivity](https://www.cloudbees.com/blog/feature-flags-improve-developer-productivity) +* [cloudbees.com: Goodbye Sleepless Nights: De-Risking Deployments with Feature Flags](https://www.cloudbees.com/case-study/petdesk) ## Git Commands * Show commit logs: @@ -169,6 +175,13 @@ git push origin -f * [github.blog: Mark pull requests as ready for review, view the diff, review, and merge from GitHub CLI](https://github.blog/changelog/2020-05-26-mark-pull-requests-as-ready-for-review-review-and-merge-from-github-cli/) * [githubstatus.com/uptime ๐ŸŒŸ](https://www.githubstatus.com/uptime) * [github.blog: How we launched docs.github.com](https://github.blog/2020-07-02-how-we-launched-docs-github-com/) +* [Introducing GitHubโ€™s OpenAPI Description](https://github.blog/2020-07-27-introducing-githubs-openapi-description/) +* [GitHub public roadmap ๐ŸŒŸ](https://github.com/github/roadmap) +* [Token authentication requirements for API and Git operations](https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/) +* [GitHub Chaos Actions in Your CI/CD workflow](https://blog.mayadata.io/github-chaos-actions-in-your-ci/cd-workflow-part-1) +* [GitHub's OpenAPI Spec Open-Sourced in Beta](https://www.infoq.com/news/2020/08/GitHub-open-api-spec/) +* [Things you didn't know you could diff in GitHub](https://sebastiandedeyne.com/things-you-didnt-know-you-could-diff-in-github/) +* [github.blog: Set the default branch for newly-created repositories](https://github.blog/changelog/2020-08-26-set-the-default-branch-for-newly-created-repositories/) ## Git Tools * [Atlassian Sourcetree](https://www.sourcetreeapp.com/) diff --git a/docs/gitops.md b/docs/gitops.md index de3592e2..bb299cd9 100644 --- a/docs/gitops.md +++ b/docs/gitops.md @@ -26,6 +26,8 @@ - [dzone: What Is GitOps, Really?](https://dzone.com/articles/what-is-gitops-really) This article will help you understand what GitOps really is as a strategy for development, and its benefits over other CI/CD approaches - [Continuous GitOps, the way to do DevOps in Kubernetes](https://medium.com/@imarunrk/continuous-gitops-the-way-to-do-devops-in-kubernetes-896b0ea1d0fb) Continuous GitOps, the new age DevOps practice to increase the delivery velocity by achieving an end to end โ€œGit source of truthโ€ with Zero manual changes into the Kubernetes cluster. - [thenewstack.io: What Is GitOps and Why It Might Be The Next Big Thing for DevOps](https://thenewstack.io/what-is-gitops-and-why-it-might-be-the-next-big-thing-for-devops/) +- [opensource.substack.com: All You Need To Know About GitOps](https://opensource.substack.com/p/all-you-need-to-know-about-gitops) A complete guide about GitOps, what why and how +- [itnext.io: Continuous GitOps, the way to do DevOps in Kubernetes](https://itnext.io/continuous-gitops-the-way-to-do-devops-in-kubernetes-896b0ea1d0fb) Continuous GitOps, the new age DevOps practice to increase the delivery velocity by achieving an end to end โ€œGit source of truthโ€ with Zero manual changes into the Kubernetes cluster ## Git Repositories Structures - [GitOps: How to Ops Your Git the Right Way ๐ŸŒŸ](https://dzone.com/articles/gitops-how-to-ops-your-git-the-right-way) In this article weโ€™ll look into the specifics of creating Git repositories structures โ€Šโ€” โ€Šthe very core of the GitOps approach. @@ -96,4 +98,8 @@ Weaveworks's Flagger. ### Ubuntu Charmed Kubernetes * [Charmed Kubernetes](https://ubuntu.com/kubernetes/features) -* [Kubernetes GitOps with Azure Arc and Charmed Kubernetes](https://ubuntu.com/blog/gitops-with-azure-arc-and-charmed-kubernetes) \ No newline at end of file +* [Kubernetes GitOps with Azure Arc and Charmed Kubernetes](https://ubuntu.com/blog/gitops-with-azure-arc-and-charmed-kubernetes) + +
+ +
\ No newline at end of file diff --git a/docs/golang.md b/docs/golang.md new file mode 100644 index 00000000..b1a5b99a --- /dev/null +++ b/docs/golang.md @@ -0,0 +1,3 @@ +# Golang +- [Zepto is a lightweight framework for the development of microservices & web services in golang](https://github.com/go-zepto/zepto) +- [An example of using dynamic client of k8s.io/client-go](https://ymmt2005.hatenablog.com/entry/2020/04/14/An_example_of_using_dynamic_client_of_k8s.io/client-go?utm_sq=ggbsr9k836#Using-the-dynamic-client-to-implement-SSA) \ No newline at end of file diff --git a/docs/helm.md b/docs/helm.md index 12ba7286..b1b4443a 100644 --- a/docs/helm.md +++ b/docs/helm.md @@ -21,8 +21,15 @@ * [Helm 3: Validating Helm Chart Values with JSON Schemas ๐ŸŒŸ](https://www.arthurkoziel.com/validate-helm-chart-values-with-json-schemas/) * [chart-doc-gen: Helm Chart Documentation Generator](https://github.com/kubepack/chart-doc-gen) * [hackernoon.com: Kubernetes and Helm: A Deadly Combo to Help You Deploy with Ease](https://hackernoon.com/kubernetes-and-helm-a-deadly-combo-to-help-you-deploy-with-ease-rjr30x2) +* [medium: Helm Chart โ€” Development Guide ๐ŸŒŸ](https://medium.com/swlh/helm-chart-development-guide-bbc525d3b448) Writing maintainable and reliable charts with few tricks +* [medium: Multi-namespace Helm deploy in Kubernetes](https://medium.com/analytics-vidhya/multi-namespace-helm-deploy-in-kubernetes-26d1baf1ca5c) +* [rancher.com: Create Reproducible Security in Kubernetes with Helm 3 and Helm Charts](https://rancher.com/blog/2020/helm-security) -### Helm Charts repositories +## Kubecrt +* [Kubecrt](https://github.com/blendle/kubecrt) +* [Kubecrt - Convert HELM charts to kubernetes resources ๐ŸŒŸ](https://toolbox.kali-linuxtr.net/kubecrt-convert-helm-charts-to-kubernetes-resources.tool) + +## Helm Charts repositories * [codeengineered.com: 4 Places To Find Helm Charts](https://codeengineered.com/blog/2020/helm-find-charts/) * [hub.helm.sh ๐ŸŒŸ](http://hub.helm.sh) * [Bitnami Helm Charts](https://bitnami.com/stacks/helm) @@ -31,7 +38,7 @@ * [Artifact Hub](https://artifacthub.io/) * [KubeApps Hub](https://hub.kubeapps.com/) -### Helm Charts +## Helm Charts * [Jenkins](https://github.com/helm/charts/tree/master/stable/jenkins) * [Codecentric Jenkins ๐ŸŒŸ](https://github.com/codecentric/helm-charts/tree/master/charts/jenkins) Helm 3 compliant (Simpler and more secure than helm 2) * [Nexus3](https://github.com/helm/charts/tree/master/stable/sonatype-nexus) @@ -41,5 +48,5 @@ * [Jmeter](https://github.com/helm/charts/tree/master/stable/distributed-jmeter) * [bitnami: create your first helm chart](https://docs.bitnami.com/kubernetes/how-to/create-your-first-helm-chart/) -### Helm Books +## Helm Books - [Learn Helm](https://www.packtpub.com/cloud-networking/learn-helm) diff --git a/docs/index.md b/docs/index.md index b1a7fe3c..04c33e5a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -28,6 +28,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [agilemethodology.org](http://agilemethodology.org/) - [agilemanifesto.org](http://agilemanifesto.org/) - [12factor.net](https://12factor.net/) +- [openpracticelibrary.com](https://openpracticelibrary.com/) - [roadmap.sh](https://roadmap.sh/) - [API Landscape](https://www.apidays.co/api-landscape) - [Stack Overflow Annual Developer Survey](https://insights.stackoverflow.com/survey) @@ -136,6 +137,7 @@ A curated list of awesome references collected since 2018. Microservices archite ## Development & Frameworks - [Angular](angular.md) - [Document Object Model (DOM)](dom.md) +- [Golang](golang.md) - [JavaScript - node.js & npm](javascript.md) - [Python - Django & Flask](python.md) - [Xamarin](xamarin.md) diff --git a/docs/introduction.md b/docs/introduction.md index cdd88b4f..2ee3e0f1 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -19,6 +19,11 @@ * [Dzone: How to Kill Your Developer Productivity](https://dzone.com/articles/how-to-kill-your-developer-productivity-humanitec) * [loves.cloud: Kubernetes: An Introduction](https://loves.cloud/kubernetes-an-introduction/) * [thenewstack.io: Microservices vs. Monoliths: An Operational Comparison](https://thenewstack.io/microservices-vs-monoliths-an-operational-comparison/) +* [weave.works: 6 Business Benefits of Kubernetes](https://www.weave.works/blog/6-business-benefits-of-kubernetes) +* [ituser.es: Las principales habilidades que un arquitecto cloud necesita para triunfar](https://www.ituser.es/opinion/2020/07/las-principales-habilidades-que-un-arquitecto-cloud-necesita-para-triunfar) +* [Introducing Domain-Oriented Microservice Architecture ๐ŸŒŸ](https://eng.uber.com/microservice-architecture/) +* [Monolithic versus Microservice architecture](https://www.enterprisetimes.co.uk/2020/07/23/monolithic-versus-microservice-architecture) +* [Modernize legacy applications with containers, microservices](https://searchcloudcomputing.techtarget.com/feature/Modernize-legacy-applications-with-containers-microservices) To break down monolithic apps and modernize them for cloud deployment, enterprise development teams continue to turn to containers and microservices.
[![microservices infographic](images/microservices-infographic.png)](https://www.weave.works/technologies/going-cloud-native-6-essential-things-you-need-to-know) @@ -56,4 +61,6 @@ [![Openshift VS Kubernetes](images/openshift_vs_kubernetes.jpeg)](https://www.linkedin.com/feed/update/urn:li:activity:6459657167300583424)
- +
+ +
diff --git a/docs/istio.md b/docs/istio.md index a0475a7c..688d8da6 100644 --- a/docs/istio.md +++ b/docs/istio.md @@ -24,6 +24,10 @@ - [dev.to/aurelievache: Understanding Istio: part 16 โ€“ Observability / Metrics](https://dev.to/aurelievache/understanding-istio-part-16-observability-metrics-2m8p) - [Controlling egress traffic with Istio](https://banzaicloud.com/blog/istio-external-demo/) - [openshift.com: Monitoring Services like an SRE in OpenShift ServiceMesh Part 2: Collecting Standard Metrics ๐ŸŒŸ](https://www.openshift.com/blog/monitoring-services-like-an-sre-in-openshift-servicemesh-part-2-collecting-standard-metrics-3) +- [istio.io: Learn Microservices using Kubernetes and Istio ๐ŸŒŸ](https://istio.io/latest/docs/examples/microservices-istio/) step-by-step tutorial +- [thenewstack.io - Service Mesh: The Gateway to Cloud Migration](https://thenewstack.io/when-you-need-or-dont-need-service-mesh/) +- [thenewstack.io: Kubernetes, Microservices, and Istioโ€Š โ€” A Great Fit!](https://thenewstack.io/kubernetes-microservices-istio%E2%80%8A-%E2%80%8Aa-great-fit/) +- [medium: Observability With Istio, Kiali, and Grafana in Kubernetes and Spring Boot ๐ŸŒŸ](https://medium.com/swlh/observability-with-istio-kiali-and-grafana-in-kubernetes-and-spring-boot-743af225c24f) ## Maistra Istio - [Maistra.io](https://maistra.io) diff --git a/docs/java-and-java-performance-optimization.md b/docs/java-and-java-performance-optimization.md index 232b7aa6..86e08c1f 100644 --- a/docs/java-and-java-performance-optimization.md +++ b/docs/java-and-java-performance-optimization.md @@ -18,7 +18,9 @@ - [DZone: The JVM Architecture Explained ๐ŸŒŸ](https://dzone.com/articles/jvm-architecture-explained) An overview of the different components of the JVM, along with a very useful diagram - [DZone: How to Troubleshoot Sudden CPU Spikes](https://dzone.com/articles/troubleshoot-sudden-cpu-spikes) Your Java application has been running fine, but all of a sudden CPU consumption starts to go higher and higher... sound familiar? - [DZone refcard: Java Caching](https://dzone.com/refcardz/java-caching) -* [Dzone: 7 JVM Arguments of Highly Effective Applications ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1) How to use 7 JVM arguments to help increase your application's performance and avoid common memory pitfalls. +- [Dzone: 7 JVM Arguments of Highly Effective Applications ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1) How to use 7 JVM arguments to help increase your application's performance and avoid common memory pitfalls. +- [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) +- [developers.redhat.com: Get started with JDK Flight Recorder in OpenJDK 8u ๐ŸŒŸ](https://developers.redhat.com/blog/2020/08/25/get-started-with-jdk-flight-recorder-in-openjdk-8u/) Deploy JDK Flight Recorder with JDK Mission Control, a new monitoring and profiling tool that exposes a high level of information without adding a tax on the runtime system ### Benchmarking modern Java Virtual Machines and the next-generation garbage collectors * [jet-start.sh: Performance of Modern Java on Data-Heavy Workloads, Part 1 ๐ŸŒŸ](https://jet-start.sh/blog/2020/06/09/jdk-gc-benchmarks-part1) The Java runtime has been evolving more rapidly in recent years and, after 15 years, we finally got a **new default garbage collector: the G1**. Two more GCs are on their way to production and are available as experimental features: **Oracle's ZGC** and **OpenJDK's Shenandoah**. We at Hazelcast thought it was time to put all these new options to the test and find which choices work well with workloads typical for our distributed stream processing engine, [Hazelcast Jet](https://jet-start.sh/). diff --git a/docs/java_frameworks.md b/docs/java_frameworks.md index 3df3dfa1..e211b2fb 100644 --- a/docs/java_frameworks.md +++ b/docs/java_frameworks.md @@ -23,6 +23,7 @@ * [developers.redhat.com: The future of Java and OpenJDK updates without Oracle support](https://developers.redhat.com/blog/2018/09/24/the-future-of-java-and-openjdk-updates-without-oracle-support/) * [redhat.com: The history and future of OpenJDK](https://www.redhat.com/en/blog/history-and-future-openjdk) * [javarevisited.blogspot.com: The 2020 Java Developer RoadMap ๐ŸŒŸ](https://javarevisited.blogspot.com/2019/10/the-java-developer-roadmap.html) +* [marcobehler.com: Java Versions and Features ๐ŸŒŸ](https://www.marcobehler.com/guides/a-guide-to-java-versions-and-features) ### Existing Java Implementations - [Oracle Java](https://www.oracle.com/technetwork/java/javase/overview/index.html) diff --git a/docs/jenkins-alternatives.md b/docs/jenkins-alternatives.md index 45e854a2..8488e6dd 100644 --- a/docs/jenkins-alternatives.md +++ b/docs/jenkins-alternatives.md @@ -26,6 +26,7 @@ * [AWS DevOps - CICD](https://aws.amazon.com/devops/#cicd) * [Google Cloud Build](https://cloud.google.com/cloud-build) * [Azure DevOps](https://azure.microsoft.com/services/devops/) +* [Kubeflow](https://www.kubeflow.org/) The Machine Learning Toolkit for Kubernetes ## Cloud Native CI/CD * [jenkins-x.io](https://jenkins-x.io/) @@ -37,6 +38,7 @@ * [ArgoCD](https://argoproj.github.io/argo-cd/) Declarative GitOps CD for Kubernetes * [Cloud Native Computing Foundation Accepts Argo as an Incubator Project](https://www.intuit.com/blog/technology/cloud-native-computing-foundation-accepts-argo-as-an-incubator-project/) * [openshift.com: OpenShift Authentication Integration with ArgoCD](https://www.openshift.com/blog/openshift-authentication-integration-with-argocd) + * [developers.redhat.com: OpenShift joins the Argo CD community (KubeCon Europe 2020)](https://developers.redhat.com/blog/2020/08/17/openshift-joins-the-argo-cd-community-kubecon-europe-2020/) * [Tekton](https://github.com/tektoncd/) * [Tekton PetClinic Demo](https://github.com/tektoncd/pipeline) * [Tekton PetClinic Demo Youtube](https://www.youtube.com/watch?v=igwFpZOUTnw) @@ -63,4 +65,8 @@ [![gitlab](images/gitlab.jpg)](https://gitlab.com/) +
+ +
+
\ No newline at end of file diff --git a/docs/jenkins.md b/docs/jenkins.md index ea73f3d0..ea91cf4d 100644 --- a/docs/jenkins.md +++ b/docs/jenkins.md @@ -58,6 +58,9 @@ * [Jenkins: Shifting Gears ๐ŸŒŸ๐ŸŒŸ](https://www.jenkins.io/blog/2018/08/31/shifting-gears/) **Evolutionary line from the current Jenkins 2, but with breaking changes in order to gain higher development speed.** This document lays out the key directions and approaches in a broad stroke, which I discussed with a number of you in the past. Hopefully, this gives you the big picture of how I envision where to move Jenkins forward, not just as the creator of Jenkins but as the CTO of CloudBees, who employs a number of key contributors to the Jenkins project. * [aws.amazon.com/blogs: Why Jenkins still continuously serves developers ๐ŸŒŸ](https://aws.amazon.com/blogs/opensource/why-jenkins-still-continuously-serves-developers/) * [On Jenkins Terminology Updates](https://www.jenkins.io/blog/2020/06/18/terminology-update/) +* [medium: Deploy your App Using CI/CD Pipeline](https://medium.com/wind-of-change/creating-a-ci-cd-pipeline-6ff9aeb0848c) +* [medium: CI/CD Pipeline of Jenkins Using Groovy Language With Monitoring on the Top of Kubernetes ๐ŸŒŸ](https://medium.com/swlh/ci-cd-pipeline-of-jenkins-using-groovy-language-with-monitoring-on-the-top-of-kubernetes-b37f962fb0ac) +* [Cross account ECR push with Jenkins](https://devopsformula.hashnode.dev/cross-account-ecr-push-with-jenkins)
[![Jenkins Is The Way](images/Jenkins-is-the-Way.png)](https://jenkinsistheway.io) @@ -212,6 +215,7 @@ * [Example of Configuration as Code of Jenkins (for Kubernetes) ๐ŸŒŸ](https://github.com/figaw/configuration-as-code-jenkins-k8s) * [JEP-224: System Read permission: Improve experience of Jenkins Configuration-as-Code users](https://www.jenkins.io/events/online-hackfest/2020-uiux/) It improves the modifying Web UI configuration controls to support the read-only mode. * [cloudbees.com: All Tier 1 Plugins Support Configuration as Code ๐ŸŒŸ๐ŸŒŸ](https://www.cloudbees.com/blog/configuration-as-code-plugin-support) +* [Example of JCasC](https://github.com/halkeye-docker/docker-jenkins) #### Read-only Jenkins Configuration - [Read-only Jenkins Configuration ๐ŸŒŸ](https://www.jenkins.io/blog/2020/05/25/read-only-jenkins-announcement/) This feature allows restricting configuration UIs and APIs while providing access to essential Jenkins system configuration, diagnostics, and self-monitoring tools through Web UI. Such mode is critical for instances managed as code, e.g. with Jenkins [Configuration-as-Code plugin](https://plugins.jenkins.io/configuration-as-code). It is delivered as a part of the [JEP-224: Read-only system configuration](https://github.com/jenkinsci/jep/blob/master/jep/224/README.adoc) effort. @@ -310,6 +314,7 @@ * [Declarative Pipeline Migration Assistant ๐ŸŒŸ](https://plugins.jenkins.io/declarative-pipeline-migration-assistant/) * [Configuration Slicing](https://plugins.jenkins.io/configurationslicing/) * [Git Plugin Performance Improvement](https://www.jenkins.io/blog/2020/07/09/git-performance-improvement-phase1/) + * [Git Plugin Performance Improvement Phase-2 Progress](https://www.jenkins.io/blog/2020/07/29/git-performance-improvement-phase2/) ### Plugin Development. Jenkins Plugin Parent POM 4.0 - [Plugin Development](https://www.jenkins.io/doc/developer/plugin-development/) diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 1baa9415..efcca45d 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -2,13 +2,18 @@ - [Certified Kubernetes Offerings](#certified-kubernetes-offerings) - [The State of Cloud-Native Development. Details data on the use of Kubernetes, serverless computing and more](#the-state-of-cloud-native-development-details-data-on-the-use-of-kubernetes-serverless-computing-and-more) - [Kubernetes open-source container-orchestation](#kubernetes-open-source-container-orchestation) + - [Kubernetes Resource and Capacity Management](#kubernetes-resource-and-capacity-management) + - [Kubernetes Monitoring](#kubernetes-monitoring) + - [Logging in Kubernetes](#logging-in-kubernetes) - [Health Checks](#health-checks) - [Architecting Kubernetes clusters](#architecting-kubernetes-clusters) - [Templating YAML in Kubernetes with real code. YQ YAML processor](#templating-yaml-in-kubernetes-with-real-code-yq-yaml-processor) - [Kubernetes Limits](#kubernetes-limits) + - [Kube Scheduler](#kube-scheduler) - [Kubernetes Knowledge Hubs](#kubernetes-knowledge-hubs) - [Kubectl commands](#kubectl-commands) - [Kubectl Cheat Sheets](#kubectl-cheat-sheets) + - [Kubectl explain](#kubectl-explain) - [Kubectl Autocomplete](#kubectl-autocomplete) - [List all resources and sub resources that you can constrain with RBAC](#list-all-resources-and-sub-resources-that-you-can-constrain-with-rbac) - [Copy a configMap in kubernetes between namespaces](#copy-a-configmap-in-kubernetes-between-namespaces) @@ -39,7 +44,10 @@ - [Kubernetes Special Interest Groups (SIGs)](#kubernetes-special-interest-groups-sigs) - [Kubernetes SIG's Repos](#kubernetes-sigs-repos) - [Kubectl Plugins](#kubectl-plugins) - - [Kubectl Plugins and Tools. Kubernetes Extensions](#kubectl-plugins-and-tools-kubernetes-extensions) + - [Kubectl Plugins and Tools. Kubernetes Extensions & Projects](#kubectl-plugins-and-tools-kubernetes-extensions--projects) +- [Enforcing Policies and governance for kubernetes workloads with Conftest](#enforcing-policies-and-governance-for-kubernetes-workloads-with-conftest) +- [Kubernetes Backup](#kubernetes-backup) + - [Backup with Velero](#backup-with-velero) - [Kubernetes Troubleshooting](#kubernetes-troubleshooting) - [Debugging Techniques and Strategies. Debugging with ephemeral containers](#debugging-techniques-and-strategies-debugging-with-ephemeral-containers) - [Kubernetes Tutorials](#kubernetes-tutorials) @@ -63,8 +71,10 @@ - [List of existing CNI Plugins (IPAM)](#list-of-existing-cni-plugins-ipam) - [Project Calico](#project-calico) - [DNS Service with CoreDNS](#dns-service-with-coredns) + - [Kubernetes Node Local DNS Cache](#kubernetes-node-local-dns-cache) - [Kubernetes Sidecars](#kubernetes-sidecars) - [Kubernetes Security](#kubernetes-security) + - [RBAC](#rbac) - [Security Best Practices Across Build, Deploy, and Runtime Phases](#security-best-practices-across-build-deploy-and-runtime-phases) - [Kubernetes Authentication and Authorization](#kubernetes-authentication-and-authorization) - [Kubernetes Authentication Methods](#kubernetes-authentication-methods) @@ -77,6 +87,7 @@ - [Kubernetes Scheduling and Scheduling Profiles](#kubernetes-scheduling-and-scheduling-profiles) - [Assigning Pods to Nodes. Pod Affinity and Anti-Affinity](#assigning-pods-to-nodes-pod-affinity-and-anti-affinity) - [Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin](#pod-topology-spread-constraints-and-podtopologyspread-scheduling-plugin) +- [Kubernetes etcd](#kubernetes-etcd) - [Kubernetes Storage](#kubernetes-storage) - [Kubernetes Volumes Guide](#kubernetes-volumes-guide) - [ReadWriteMany PersistentVolumeClaims](#readwritemany-persistentvolumeclaims) @@ -84,6 +95,7 @@ - [Kubernetes in Public Cloud](#kubernetes-in-public-cloud) - [GKE vs EKS vs AKS](#gke-vs-eks-vs-aks) - [AWS EKS (Hosted/Managed Kubernetes on AWS)](#aws-eks-hostedmanaged-kubernetes-on-aws) + - [GCP & GKE](#gcp--gke) - [Tools for multi-cloud Kubernetes management](#tools-for-multi-cloud-kubernetes-management) - [On-Premise Production Kubernetes Cluster Installers](#on-premise-production-kubernetes-cluster-installers) - [Comparative Analysis of Kubernetes Deployment Tools](#comparative-analysis-of-kubernetes-deployment-tools) @@ -180,6 +192,50 @@ * [medium: Delivering value on Kubernetes](https://medium.com/@dius_au/delivering-value-on-kubernetes-8d5c5655c1b4) * [medium: 10 Most Common Mistakes When Using Kubernetes ๐ŸŒŸ](https://medium.com/devops-dudes/10-most-common-mistakes-when-using-kubernetes-8a07abb8e850) Avoid your cluster from falling over in production by implementing these best practices * [dev.to: Open a command prompt in a Kubernetes cluster](https://dev.to/eldadak/open-a-command-prompt-in-a-kubernetes-cluster-206g) This starts up a pod (in the default namespace by default) and opens a command line in the given container. As I'm running as root, I can install anything I need for debugging and testing right in my cluster. +* [medium: 5 Things We Overlooked When Deploying Our First App on Kubernetes ๐ŸŒŸ](https://medium.com/gumgum-tech/5-things-we-overlooked-when-putting-our-first-app-on-kubernetes-58583c1783e4) +* [opensource.com: Explaining Kubernetes in 10 minutes using an analogy](https://opensource.com/article/20/7/kubernetes-analogy) +* [itnext.io: Kubernetes is Hard!](https://itnext.io/kubernetes-is-hard-190f1d0c6d36) +* [medium: The Kubernetes Cloud Controller Manager](https://medium.com/@m.json/the-kubernetes-cloud-controller-manager-d440af0d2be5) +* [howtoforge.com: How to create Multi-Container Pods in Kubernetes](https://www.howtoforge.com/multi-container-pods-in-kubernetes/) +* [blocksandfiles.com: Kubernetes is in a bit of state about state](https://blocksandfiles.com/2020/07/21/kubernetes-stateful-status/) Kubernetes is โ€œfour to five years awayโ€ from being a stable distribution capable of running stateful apps, according to Redis Labs chief product officer Alvin Richards. +* [10 most common mistakes when using Kubernetes ๐ŸŒŸ๐ŸŒŸ](https://blog.pipetail.io/posts/2020-05-04-most-common-mistakes-k8s/) + * resources - requests and limits + * liveness and readiness probes + * LoadBalancer for every http service + * non-kubernetes-aware cluster autoscaling + * Not using the power of IAM/RBAC +* [Architecting Kubernetes clusters โ€” choosing a cluster size ๐ŸŒŸ](https://itnext.io/architecting-kubernetes-clusters-choosing-a-cluster-size-92f6feaa2908) +* [medium: Deploying Kubernetes โ€” Deciding the size of your nodes ๐ŸŒŸ](https://medium.com/swlh/deploying-kubernetes-deciding-the-size-of-your-nodes-a115e770e09) +* [medium: A Practical Step-by-Step Guide to Understanding Kubernetes](https://medium.com/better-programming/a-practical-step-by-step-guide-to-understanding-kubernetes-d8be7f82e533) Deploy a distributed application and understand key underlying concepts. +* [medium: Kubernetes, a practical introduction](https://medium.com/nexton/kubernetes-a-practical-introduction-18a5b69e7763) +* [medium: Kubernetes Deployment: Connect Your Front End to Your Back End With Nginx](https://medium.com/better-programming/kubernetes-deployment-connect-your-front-end-to-your-back-end-with-nginx-7e4e7cfef177) +* [learnk8s.iod: Kubernetes production best practices ๐ŸŒŸ๐ŸŒŸ](https://learnk8s.io/production-best-practices) A curated checklist of best practices designed to help you release to production. +* [itnext.io: Automating System Updates for Kubernetes Clusters using Ansible](https://itnext.io/automating-system-updates-for-kubernetes-clusters-using-ansible-94a70f4e1972) +* [Hands on your first Kubernetes secrets ๐ŸŒŸ](https://www.padok.fr/en/blog/kubernetes-secrets) +* [medium: Starting with kubernetes](https://medium.com/@thomaspoignant/starting-with-kubernetes-db121b09fd4) +* [Discovering Running Pods By Using DNS and Headless Services in Kubernetes](https://medium.com/swlh/discovering-running-pods-by-using-dns-and-headless-services-in-kubernetes-7002a50747f4) When retrieving all serviceโ€™s connected pods is desired +* [itnext.io: Kubernetes is Hard! ๐ŸŒŸ](https://itnext.io/kubernetes-is-hard-190f1d0c6d36) But, where thereโ€™s Kubernetes, thereโ€™s a way! +* [How we learned to improve Kubernetes CronJobs at Scale (Part 1 of 2)](https://eng.lyft.com/improving-kubernetes-cronjobs-at-scale-part-1-cf1479df98d4) + * [How we learned to improve Kubernetes CronJobs at Scale (Part 2 of 2)](https://eng.lyft.com/how-we-learned-to-improve-kubernetes-cronjobs-at-scale-part-2-of-2-dad0c973ffca) +* [thenewstack.io: Kubernetes Is the New Standard for Computing, Including the Edge](https://thenewstack.io/kubernetes-is-the-new-standard-for-computing-including-the-edge/) +* [enterprisersproject.com: Managing Kubernetes resources: 5 things to remember](https://enterprisersproject.com/article/2020/8/managing-kubernetes-resources-5-things-remember) Kubernetes automates much of the work of managing containers at scale. But containerized applications commonly share pooled resources, so you need to allocate and manage them properly +* [Kubernetes Tip: What Happens To Pods Running On Node That Become Unreachable?](https://medium.com/tailwinds-navigator/kubernetes-tip-what-happens-to-pods-running-on-node-that-become-unreachable-3d409f734e5d) +* [hackernoon.com: How To Deploy Code Faster Using Kubernetes](https://hackernoon.com/how-to-deploy-code-faster-using-kubernetes-jh1y3ul0) +* [How to handle environment variables with Kubernetes? ๐ŸŒŸ](https://humanitec.com/blog/handling-environment-variables-with-kubernetes) +* [Liveness and Readiness Probes for Kubernetes in Phoenix application](https://blog.lelonek.me/liveness-and-readiness-probes-for-kubernetes-in-phoenix-application-890e24d0737e) +* [Kubernetes Liveness and Readiness Probes](https://theithollow.com/2020/05/18/kubernetes-liveness-and-readiness-probes/) +* [learnk8s.io: Graceful shutdown and zero downtime deployments in Kubernetes ๐ŸŒŸ](https://learnk8s.io/graceful-shutdown) +* [kubernetes.io: Introducing Hierarchical Namespaces](https://kubernetes.io/blog/2020/08/14/introducing-hierarchical-namespaces/) +* [medium: Kubernetes Pod Redundancy Strategies](https://medium.com/better-programming/kubernetes-pod-redundancy-strategies-a6d9b560749a) +* [sbg.technology: Zero-Downtime Kubernetes Deployments](https://sbg.technology/2020/08/21/zero-downtime-kubernetes-deployments/) +* [medium: Then he asked me โ€œIs Kubernetes right for us?โ€](https://medium.com/@alexellisuk/then-he-asked-me-is-kubernetes-right-for-us-78695ee35289) +* [thenewstack.io: How does kubernetes work?](https://thenewstack.io/how-does-kubernetes-work/) +* [elmanytas.es: Kubernetes para impostores III](http://elmanytas.es/?q=node/358) +* [loft.sh: Kubernetes: Virtual Clusters For CI/CD & Testing](https://loft.sh/blog/kubernetes-virtual-clusters-for-ci-cd-testing/) +* [medium: Mastering the KUBECONFIG file](https://medium.com/@ahmetb/mastering-kubeconfig-4e447aa32c75) +* [luminousmen.com: Kubernetes 101](https://luminousmen.com/post/kubernetes-101) +* [thenewstack.io: How do applications run on kubernetes? ๐ŸŒŸ](https://thenewstack.io/how-do-applications-run-on-kubernetes/) +* [deepsource.io: Breaking down zero downtime deployments in Kubernetes ๐ŸŒŸ](https://deepsource.io/blog/zero-downtime-deployment/) An in-depth analysis of deployments in Kubernete
[![Kubernetes architecture](images/kubernetes-pod-creation.png)](https://www.padok.fr/en/blog/kubernetes-architecture-clusters) @@ -192,6 +248,21 @@

+### Kubernetes Resource and Capacity Management +* [itnext.io: Kubernetes Resource Management in Production ๐ŸŒŸ](https://itnext.io/kubernetes-resource-management-in-production-d5382c904ed1) Requests, Limits, Overcommitment, Slack/Waste, Throttling +* [medium: Ultimate Kubernetes Resource Planning Guide ๐ŸŒŸ](https://medium.com/dev-genius/ultimate-kubernetes-resource-planning-guide-449a4fddd1d6) +* [learnk8s.io: Setting the right requests and limits in Kubernetes ๐ŸŒŸ](https://learnk8s.io/setting-cpu-memory-limits-requests) + +### Kubernetes Monitoring +* [medium: Kubernetes Monitoring: Kube-State-Metrics](https://medium.com/@chrisedrego/kubernetes-monitoring-kube-state-metrics-df6546aea324) +* [Kubernetes Monitoring 101 โ€” Core pipeline & Services Pipeline ๐ŸŒŸ](https://levelup.gitconnected.com/kubernetes-monitoring-101-core-pipeline-services-pipeline-a34cd4cc9627) +* [medium: Utilizing and monitoring kubernetes cluster resources more effectively](https://medium.com/@martin.schneppenheim/utilizing-and-monitoring-kubernetes-cluster-resources-more-effectively-using-this-tool-df4c68ec2053) + +#### Logging in Kubernetes +- [cncf.io: Logging in Kubernetes: EFK vs PLG Stack ๐ŸŒŸ](https://www.cncf.io/blog/2020/07/27/logging-in-kubernetes-efk-vs-plg-stack/) +- [medium: How to Deploy an EFK stack to Kubernetes](https://medium.com/avmconsulting-blog/how-to-deploy-an-efk-stack-to-kubernetes-ebc1b539d063) +- [digitalocean.com: How To Set Up an Elasticsearch, Fluentd and Kibana (EFK) Logging Stack on Kubernetes](https://www.digitalocean.com/community/tutorials/how-to-set-up-an-elasticsearch-fluentd-and-kibana-efk-logging-stack-on-kubernetes) + ### Health Checks * [medium: How to Perform Health checks in Kubernetes (K8s)](https://medium.com/faun/how-to-perform-health-checks-in-kubernetes-k8s-a4e5300b1f9d) * [wideops.com: Kubernetes best practices: Setting up health checks with readiness and liveness probes](https://wideops.com/kubernetes-best-practices-setting-up-health-checks-with-readiness-and-liveness-probes/) @@ -212,14 +283,25 @@ * [sysdig.com: Understanding Kubernetes limits and requests by example ๐ŸŒŸ](https://sysdig.com/blog/kubernetes-limits-requests/) * [dev.to/aurelievache: Understanding Kubernetes: part 22 โ€“ LimitRange](https://dev.to/aurelievache/understanding-kubernetes-part-22-limitrange-144l) +### Kube Scheduler +- [All you need to know to get started with the Kube Scheduler](https://gist.github.com/luisalfonsopreciado/40a0fc2319241d517832affdce2bc1ff) + ### Kubernetes Knowledge Hubs - [k8sref.io ๐ŸŒŸ](https://www.k8sref.io/) Kubernetes Reference - [Kubernetes Research. Research documents on node instance types, managed services, ingress controllers, CNIs, etc. ๐ŸŒŸ](https://learnk8s.io/research) A research hub to collect all knowledge around Kubernetes. Those are in-depth reports and comparisons designed to drive your decisions. Should you use GKE, AKS, EKS? How many nodes? What instance type? ## Kubectl commands +* [itnext.io: Boosting your kubectl productivity](https://itnext.io/boosting-your-kubectl-productivity-b348f7c25712) + ### Kubectl Cheat Sheets * [Kubectl Cheat Sheets](cheatsheets.md) +### Kubectl explain +- [kubectl explain](https://jamesdefabia.github.io/docs/user-guide/kubectl/kubectl_explain/) +- [itnext.io: Using โ€˜kubectl explainโ€™ for Custom Resources](https://itnext.io/understanding-kubectl-explain-9d703396cc8) Goal: Explore if โ€˜kubectl explainโ€™ can be used to discover static information about Custom Resources + +```for r in $(kubectl api-resources|grep -v ^N|awk '{print $1}');do kubectl explain $r --recursive;done``` + ### Kubectl Autocomplete * [Kubectl Autocomplete](https://kubernetes.io/docs/reference/kubectl/cheatsheet/) * [kubectl Shell Autocomplete](https://blog.heptio.com/kubectl-shell-autocomplete-heptioprotip-48dd023e0bf3) @@ -316,6 +398,9 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names ### HPA and VPA * [HPA: Horizontal Pod Autoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) * [VPA: Vertical Pod Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler) +* [returngis.net: Escalado vertical de tus pods en Kubernetes con VerticalPodAutoscaler](https://www.returngis.net/2020/07/escalado-vertical-de-tus-pods-en-kubernetes/) +* [partlycloudy.blog: Horizontal Autoscaling in Kubernetes #3 โ€“ KEDA](https://partlycloudy.blog/2020/05/29/horizontal-autoscaling-in-kubernetes-3-keda/?utm_sq=gg9zmjs4yi) +* [medium: Build Kubernetes Autoscaling for Cluster Nodes and Application Pods](https://medium.com/better-programming/build-kubernetes-autoscaling-for-cluster-nodes-and-application-pods-bb7f2d716b07) Via the Cluster Autoscaler, Horizontal Pod Autoscaler, and Vertical Pod Autoscaler ### Cluster Autoscaler and Helm * [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. @@ -391,6 +476,7 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names #### Kubectl Plugins * [Available kubectl plugins ๐ŸŒŸ](https://github.com/kubernetes-sigs/krew-index/blob/master/plugins.md) +* [Awesome Kubectl plugins ๐ŸŒŸ](https://github.com/ishantanu/awesome-kubectl-plugins) * [Extend kubectl with plugins](https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/) * [youtube: Welcome to the world of kubectl plugins](https://www.youtube.com/watch?v=_W2qZvQT6XY) @@ -399,7 +485,7 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names

-##### Kubectl Plugins and Tools. Kubernetes Extensions +##### Kubectl Plugins and Tools. Kubernetes Extensions & Projects * [ramitsurana/awesome-kubernetes: Tools ๐ŸŒŸ](https://github.com/ramitsurana/awesome-kubernetes#configuration) * [VMware octant](https://github.com/vmware/octant) A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters. * [octant.dev](https://octant.dev/) Visualize your Kubernetes workloads. Octant is an open source developer-centric web interface for Kubernetes that lets you inspect a Kubernetes cluster and its applications. @@ -435,7 +521,6 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names * [Youtube Webinar: The KUbernetes Test TooL (kuttl)](https://www.youtube.com/watch?v=Jh-viBv-D04) * [Portfall: A desktop k8s port-forwarding portal for easy access to all your cluster UIs ๐ŸŒŸ](https://github.com/rekon-oss/portfall) * [k8s-dt-node-labeller](https://github.com/adaptant-labs/k8s-dt-node-labeller) is a Kubernetes controller for labelling a node with devicetree properties (devicetree is a data structure for describing hardware). -* [kube-backup: Kubernetes resource state sync to git](https://github.com/pieterlange/kube-backup) * [kubedev ๐ŸŒŸ](https://relferreira.github.io/kubedev/) is a Kubernetes Dashboard that helps developers in their everyday usage * [Kubectl SSH Proxy ๐ŸŒŸ](https://github.com/little-angry-clouds/kubectl-ssh-proxy) Kubectl plugin to launch a ssh socks proxy and use it. This plugin aims to make your life easier when using kubectl a cluster that's behind a SSH bastion. * [K9s - Kubernetes CLI To Manage Your Clusters In Style!](https://github.com/derailed/k9s) K9s provides a terminal UI to interact with your Kubernetes clusters. The aim of this project is to make it easier to navigate, observe and manage your applications in the wild. K9s continually watches Kubernetes for changes and offers subsequent commands to interact with your observed resources. @@ -458,6 +543,62 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names * [Beetle](https://github.com/Clivern/Beetle) Kubernetes multi-cluster deployment automation service. * [vault-controller](https://github.com/gobins/vault-controller) A K8s controller to manage Hashicorp Vault configuration using CRDs. * [k8s-crash-informer](https://github.com/lnsp/k8s-crash-informer) is a Kubernetes controller that informs a Mattermost or Slack channel if an annotated deployment goes into crash loop. +* [Azure Arc enabled Kubernetes allows you to connect and manage external Kubernetes clusters in Azure](https://thorsten-hans.com/azure-arc-enabled-kubernetes-digital-ocean) +* [Kip, the Kubernetes Cloud Instance Provider](https://github.com/elotl/kip) Kip is a Virtual Kubelet provider that allows a Kubernetes cluster to transparently launch pods onto their own cloud instances. The kip pod is run on a cluster and will create a virtual Kubernetes node in the cluster. +* [Kubeletctl is a command line tool that implement kubelet's API ๐ŸŒŸ](https://github.com/cyberark/kubeletctl) +* [k8s-node-label-monitor: Kubernetes Node Label Monitor provides a custom Kubernetes controller for monitoring and notifying changes in the label states of Kubernetes nodes (labels added, deleted, or updated), and can be run either node-local or cluster-wide](https://github.com/adaptant-labs/k8s-node-label-monitor) +* [medium: How to Validate Your Kubernetes Cluster With Sonobuoy ๐ŸŒŸ](https://medium.com/better-programming/how-to-validate-your-kubernetes-cluster-with-sonobuoy-c91b282908fe) Run comprehensive conformance testing for your Kubernetes cluster +* [k42s is a full multinode Kubernetes Vagrant cluster with a real load balancer](https://github.com/p0bailey/k42s) +* [Pluto is a cli tool to help discover deprecated apiVersions in Kubernetes ๐ŸŒŸ](https://github.com/FairwindsOps/pluto) Find Kubernetes resources that have been deprecated +* [Switchboard](https://github.com/borchero/switchboard) is a tool that manages DNS zones and their A/CNAME records for arbitrary backends. It runs as Kubernetes controller and watches for custom resources DNSZone and DNSRecord. +* [Kubernetes Deployment Builder ๐ŸŒŸ๐ŸŒŸ](https://static.brandonpotter.com/kubernetes/DeploymentBuilder.html) +* [ktx ๐ŸŒŸ](https://github.com/heptiolabs/ktx) Managing kubeconfig files can become tedious when you have multiple clusters and contexts to switch between. ktx aims to reduce friction caused by switching between various configurations. +* [telepresence.io ๐ŸŒŸ๐ŸŒŸ](https://www.telepresence.io) Fast, local development for kubernetes and openshift microservices. +* [k8s-alert](https://github.com/kareem-elsayed/k8s-alerts) is a simple and lightweight alerting tool for Kubernetes. +* [Arktos](https://github.com/futurewei-cloud/arktos) is an open source cluster management system designed for large scale clouds. It is evolved from the open source Kubernetes v1.15 codebase with some fundamental improvements. +* [kube-exec ๐ŸŒŸ](https://engineerd.github.io/kube-exec/introduction/) is a library similar to os/exec that allows you to run commands in a Kubernetes pod, as if that command was executed locally. It is inspired from go-dexec, which does the same thing, but for a Docker engine. +* [identity-server](https://github.com/kubeshield/identity-server) Identity Server implements a Kubernetes "whoami" service. +* [Kubermatic Kubernetes Platform ๐ŸŒŸ](https://github.com/Kubermatic/Kubermatic) is in an open source project to centrally manage the global automation Kubernetes clusters across multicloud, on-prem and edge with unparalleled density and resilience. +* [The Kubernetes Goat](https://github.com/madhuakula/kubernetes-goat) is a project designed to be intentionally vulnerable cluster environment to learn and practice Kubernetes security. +* [kubefs](https://github.com/configurator/kubefs) lets you mount kubernetes's metadata object store as a file system +* [DAST Operator (Dynamic application security testing)](https://github.com/banzaicloud/dast-operator) is a Kubernetes operator that leverages OWASP ZAP to make automated basic web service security testing +* [KuUI (Kubernetes UI)](https://github.com/viveksinghggits/kuui) is a simple UI that can be used to manage the configmaps/secrets of your Kubernetes cluster. +* [pangolin ๐ŸŒŸ](https://github.com/dpeckett/pangolin) is an enhanced Horizontal Pod Autoscaler for Kubernetes. +* [kubectl-isolate](https://github.com/yteraoka/kubectl-isolate) is a kubectl plugin to isolate a Pod from the Kubernetes Service +* [k8s-diagrams ๐ŸŒŸ](https://github.com/cloudogu/k8s-diagrams) is a collection of diagrams explaining kubernetes, extracted from our trainings, articles and talks (k8s sec, k8s intro). +* [kconmon](https://github.com/Stono/kconmon) is a Kubernetes node connectivity monitoring tool +* [helm-docs](https://github.com/norwoodj/helm-docs) is a tool for automatically generating markdown documentation for helm charts. +* [Kubernetes Active Passive Applications](https://github.com/amelbakry/kubernetes-active-passive) is an ingenious script that combines StatefulSets and readiness probes to achieve an active-passive configuration for your Pods/apps. +* [Agorakube](https://github.com/ilkilab/agorakube) is a Certified Kubernetes Distribution that provides an enterprise grade solution following best practices to manage a conformant Kubernetes cluster for on-premise and public cloud providers. +* [dynamic-pv-scaler](https://github.com/opstree/dynamic-pv-scaler) is a golang based Kubernetes application which has been created to overcome the scaling issue of Persistent Volume in Kubernetes. This can scale the Persistent Volume on the basis of threshold which you have set. +* [Sinker](https://github.com/plexsystems/sinker) Imagesync enables the syncing of container images from one container registry to another. This is useful in cases where you need to mirror images that exist in a public container registry, to a private one. +* [Cluster Turndown](https://github.com/kubecost/cluster-turndown) is an automated scaledown and scaleup of a Kubernetes cluster's backing nodes based on a custom schedule and turndown criteria. +* [capsule](https://github.com/clastix/capsule) is a Kubernetes multi-tenant Operator. It aggregates multiple namespaces in a Tenant. Within each tenant, users are free to create their namespaces and share all the assigned resources between the namespaces of the tenant. +* [Kubernetes Node Label Monitor](https://github.com/adaptant-labs/k8s-node-label-monitor) is a Kubernetes controller for monitoring and notifying about changes to Node label states +* [kubeinit](https://github.com/Kubeinit/kubeinit) KubeInit provides Ansible playbooks and roles for the deployment and configuration of multiple Kubernetes distributions. +* [kubergui: Kubernetes Deployment Builder๐ŸŒŸ](https://github.com/BrandonPotter/kubergui) quickly builds out a basic Kubernetes Deployment and Kubernetes Service YAML. Kubernetes GUI YAML generators for simple but typo-prone tasks. +* [fubectl](https://github.com/kubermatic/fubectl) is a tool that reduces repetitive interactions with kubectl +* [Authelia ๐ŸŒŸ](https://github.com/authelia/authelia) is a Single Sign-On and Multi-Factor portal for web apps that can be installed in Kubernetes and can integrate with your ingress controller + +## Enforcing Policies and governance for kubernetes workloads with Conftest +* [Accelerated Feedback Loops when Developing for Kubernetes with Conftest](https://engineering.plex.com/posts/kubernetes-policy-conftest) Learn how to validate Kubernetes resources with Conftest for faster feedback loops + * [open-policy-agent/conftest](https://github.com/open-policy-agent/conftest) + * [Enforcing policies and governance for Kubernetes workloads](https://learnk8s.io/kubernetes-policies) +* [Deprek8ion](https://github.com/swade1987/deprek8ion) is a set of rego policies to monitor Kubernetes APIs deprecations and designed to work with conftest. +* [k8s-worker-pod-autoscaler](https://github.com/practo/k8s-worker-pod-autoscaler) scales the replicas in a deployment based on observed queue length. + +## Kubernetes Backup +* [kube-backup: Kubernetes resource state sync to git](https://github.com/pieterlange/kube-backup) +* [Stash](https://github.com/stashed/stash) If you are running production workloads in Kubernetes, you might want to take backup of your disks, databases etc. Stash is a cloud native data backup and recovery solution for Kubernetes workloads +* [thenewstack.io: Cloud Native Backups, Disaster Recovery and Migrations on Kubernetes](https://thenewstack.io/cloud-native-backups-disaster-recovery-and-migrations-on-kubernetes/) +* [rancher.com: The No. 1 Rule of Disaster Recovery](https://rancher.com/blog/2020/number-one-rule-disaster-recovery) +* [rancher.com: Disaster Recovery Preparedness for Your Kubernetes Clusters ๐ŸŒŸ](https://rancher.com/blog/2020/disaster-recovery-preparedness-kubernetes-clusters) +* [k8s-snapshots: Automatic Volume Snapshots on Kubernetes](https://github.com/miracle2k/k8s-snapshots) is an operator that creates and expires snapshots according to annotations to your PersistentVolume or PersistentVolumeClaim resources. + +### Backup with Velero +* [akomljen.com: Kubernetes Backup and Restore with Velero ๐ŸŒŸ](https://akomljen.com/kubernetes-backup-and-restore-with-velero/?utm_sq=ggwzo8xdd8) +* [wecloudpro.com: Kubernetes Disaster Recovery with Velero ๐ŸŒŸ](https://www.wecloudpro.com/2020/08/22/kubernetes-disaster-recovery-with-velero.html) +* [medium: Backup,Restore & Migrate Kubernetes cluster with Velero](https://medium.com/@maheshd7878/restore-backup-migrate-kubernetes-cluster-with-velero-434fa151f1e8) ## Kubernetes Troubleshooting * [Kubernetes troubleshooting diagram ๐ŸŒŸ](https://github.com/redhatspain/awesome-kubernetes/blob/master/docs/images/kubernetes-troubleshooting.jpg) @@ -506,6 +647,10 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names * [35 Advanced Tutorials to Learn Kubernetes ๐ŸŒŸ](https://medium.com/faun/35-advanced-tutorials-to-learn-kubernetes-dae5695b1f18) * [geekflare.com: 14 Kubernetes Tutorials for Beginner to Master](https://geekflare.com/learn-kubernetes/) +
+ +
+ ### Online Training * [katacoda.com ๐ŸŒŸ](https://www.katacoda.com/) Interactive Learning and Training Platform for Software Engineers * [kubernetesbyexample.com ๐ŸŒŸ](http://kubernetesbyexample.com/) @@ -568,6 +713,9 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names * [devops.com: Day 2 for the Operator Ecosystem ๐ŸŒŸ](https://devops.com/day-2-for-the-operator-ecosystem/) * [KUDO: The Kubernetes Universal Declarative Operator ๐ŸŒŸ](https://kudo.dev/) KUDO is a toolkit that makes it easy to build Kubernetes Operators, in most cases just using YAML. - [itnext.io: **Operator Lifecycle Manager (OLM)** ๐ŸŒŸ](https://itnext.io/wth-is-a-operator-lifecycle-manager-873cf1661b04) +- [kube-fluentd-operator ๐ŸŒŸ](https://github.com/vmware/kube-fluentd-operator) is a sane, no-brainer Kubernetes+Helm distribution of Fluentd with batteries included, config validation, no needs to restart, with sensible defaults and best practices built-in. You can use Kubernetes labels to filter/route logs! +- [K8Spin Operator ๐ŸŒŸ](https://github.com/k8spin/k8spin-operator) Kubernetes multi-tenant operator. Enables multi-tenant capabilities in your Kubernetes Cluster. [We defined some small features to implement](https://github.com/k8spin/k8spin-operator/projects/1). If you know python & Kubernetes and want to contribute to this project, ping us! +- [Domain-harvester](https://github.com/shurshun/domain-harvester) is an operator that collects domains from all Ingress resources in a Kubernetes cluster and provides its expiry information ### Flux. The GitOps Operator for Kubernetes * [Flux ๐ŸŒŸ](https://fluxcd.io/) The GitOps operator for Kubernetes @@ -586,6 +734,7 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names * [bmc.com: What Is a Kubernetes Operator?](https://www.bmc.com/blogs/kubernetes-operator/) * [Writing a Kubernetes Operator in Java Cheat Sheet](https://developers.redhat.com/cheat-sheets/writing-kubernetes-operator-java/) * [linuxera.org: Writing Operators using the Operator Framework SDK](https://linuxera.org/writing-operators-using-operator-framework/) +* [openshift.com: 7 Best Practices for Writing Kubernetes Operators: An SRE Perspective](https://www.openshift.com/blog/7-best-practices-for-writing-kubernetes-operators-an-sre-perspective) ## Kubernetes Networking * [kubernetes.io: The Kubernetes network model. How to implement the Kubernetes networking model](https://kubernetes.io/docs/concepts/cluster-administration/networking/) @@ -602,6 +751,8 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names * [medium: Service Types in Kubernetes? ๐ŸŒŸ](https://medium.com/faun/service-types-in-kubernetes-24a1587677d6) A Service enables network access to a set of Pods in Kubernetes. * [containo.us: Kubernetes Ingress & Service API Demystified](https://containo.us/blog/kubernetes-ingress-service-api-demystified/) * [speakerdeck.com: Kubernetes and networks. Why is this so dan hard? ๐ŸŒŸ](https://speakerdeck.com/thockin/kubernetes-and-networks-why-is-this-so-dang-hard) +* [opensource.com: Why I use Ingress Controllers to expose Kubernetes services](https://opensource.com/article/20/8/ingress-controllers-kubernetes) Kubernetes ingress controllers will make or break your cloud architecture. +* [howtoforge.com: Network Policy in Kubernetes ๐ŸŒŸ](https://www.howtoforge.com/kubernetes_network_policy/)
@@ -660,6 +811,10 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names ### DNS Service with CoreDNS - [medium: How to Autoscale the DNS Service in a Kubernetes Cluster](https://medium.com/faun/how-to-autoscale-the-dns-service-in-a-kubernetes-cluster-cbb46ae89678) +### Kubernetes Node Local DNS Cache +- [NodeLocal DNSCache](https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/20190424-NodeLocalDNS-beta-proposal.md) +- [Kubernetes Node Local DNS Cache](https://povilasv.me/kubernetes-node-local-dns-cache/) + ## Kubernetes Sidecars * [banzaicloud.com: Sidecar container lifecycle changes in Kubernetes 1.18 ๐ŸŒŸ](https://banzaicloud.com/blog/k8s-sidecars/) * [medium: Delaying application start until sidecar is ready](https://medium.com/@marko.luksa/delaying-application-start-until-sidecar-is-ready-2ec2d21a7b74) Taking advantage of a peculiar Kubernetes implementation detail to block containers from starting before another container starts. @@ -672,11 +827,17 @@ kubectl get secret --namespace=โ€Š-o yaml | sed โ€˜s/names * [Dzone - OAuth 2.0](https://dzone.com/articles/oauth-20-beginners-guide) * [Kubernetes Security Best Practices ๐ŸŒŸ](https://github.com/freach/kubernetes-security-best-practice/blob/master/README.md#firewall-ports-fire) * [Kubernetes Certs](https://github.com/jetstack/cert-manager/) +* [Using SSL certificates from Letโ€™s Encrypt in your Kubernetes Ingress via cert-manager ๐ŸŒŸ](https://medium.com/flant-com/cert-manager-lets-encrypt-ssl-certs-for-kubernetes-7642e463bbce) * [jeffgeerling.com: Everyone might be a cluster-admin in your Kubernetes cluster](https://www.jeffgeerling.com/blog/2020/everyone-might-be-cluster-admin-your-kubernetes-cluster) -* [rancher.com: Enhancing Kubernetes Security with Pod Security Policies, Part 1](https://rancher.com/blog/2020/pod-security-policies-part-1) - * [rancher.com: Enhancing Kubernetes Security with Pod Security Policies, Part 2](https://rancher.com/blog/2020/pod-security-policies-part-2) * [Microsoft.com: Attack matrix for Kubernetes ๐ŸŒŸ](https://www.microsoft.com/security/blog/2020/04/02/attack-matrix-kubernetes/) * [codeburst.io: 7 Kubernetes Security Best Practices You Must Follow](https://codeburst.io/7-kubernetes-security-best-practices-you-must-follow-ae32f1ed6444) +* [itnext.io: Effective Secrets with Vault and Kubernetes](https://itnext.io/effective-secrets-with-vault-and-kubernetes-9af5f5c04d06) + +### RBAC +* [Configure RBAC in Kubernetes Like a Boss ๐ŸŒŸ](https://medium.com/trendyol-tech/configure-rbac-in-kubernetes-like-a-boss-665e2a8665dd) Learn how to configure RBAC in kubernetes. In this post, you will configure RBAC both with kubectl and yaml definitions. +* [infracloud.io: How to setup Role based access (RBAC) to Kubernetes Cluster ๐ŸŒŸ](https://www.infracloud.io/blogs/role-based-access-kubernetes) +* [Kubernetes RBAC Permission Manager ๐ŸŒŸ](https://toolbox.kali-linuxtr.net/kubernetes-rbac-permission-manager.tool) +* [Krane ๐ŸŒŸ](https://github.com/appvia/krane) is a Kubernetes RBAC static analysis tool. It identifies potential security risks in K8s RBAC design and makes suggestions on how to mitigate them. Krane dashboard presents current RBAC security posture and lets you navigate through its definition. ### Security Best Practices Across Build, Deploy, and Runtime Phases - [Kubernetes Security 101: Risks and 29 Best Practices ๐ŸŒŸ](https://www.stackrox.com/post/2020/05/kubernetes-security-101/) @@ -735,6 +896,9 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509 ### Pod Security Policies (SCCs - Security Context Constraints in OpenShift) * [Pod Security Policy (SCC in OpenShift) ๐ŸŒŸ](https://kubernetes.io/docs/concepts/policy/pod-security-policy/) +* [rancher.com: Enhancing Kubernetes Security with Pod Security Policies, Part 1](https://rancher.com/blog/2020/pod-security-policies-part-1) + * [rancher.com: Enhancing Kubernetes Security with Pod Security Policies, Part 2](https://rancher.com/blog/2020/pod-security-policies-part-2) +* [developer.squareup.com: Kubernetes Pod Security Policies (PSP)](https://developer.squareup.com/blog/kubernetes-pod-security-policies/) an example with exception management ### EKS Security * [Security Group Rules EKS](https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) @@ -754,6 +918,10 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509 * [Pod Topology Spread Constraints](https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/) * [Introducing PodTopologySpread plugin](https://kubernetes.io/blog/2020/05/introducing-podtopologyspread/) +## Kubernetes etcd +- [medium: How to modify etcd data of your Kubernetes directly (without K8s API)](https://medium.com/flant-com/modifying-kubernetes-etcd-data-ed3d4bb42379) +- [medium: Getting Started with Kubernetes etcd](https://medium.com/@Alibaba_Cloud/getting-started-with-kubernetes-etcd-a26cba0b4258) + ## Kubernetes Storage [Cloud Native Storage](storage.md) @@ -783,6 +951,7 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509 * [stackrox.com: EKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud](https://www.stackrox.com/post/2020/02/eks-vs-gke-vs-aks/) * [youtube: Kubernetes Comparison](https://www.youtube.com/watch?v=xM9jpcVGTzY) A beautiful comparison of Kubernetes Services from GCP, AWS and Azure by learnk8s. * [learnk8s.io/research: Comparison of Kubernetes managed services ๐ŸŒŸ](https://learnk8s.io/research) +* [medium: State of Managed Kubernetes 2020](https://medium.com/swlh/state-of-managed-kubernetes-2020-4be006643360) EKS vs. AKS vs. GKE from a Developerโ€™s Perspective
@@ -797,6 +966,17 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509 * [thenewstack.io: Install and Configure OpenEBS on Amazon Elastic Kubernetes Service](https://thenewstack.io/tutorial-install-and-configure-openebs-on-amazon-elastic-kubernetes-service/) * [cloudonaut.io: Scaling Container Clusters on AWS: ECS and EKS ๐ŸŒŸ](https://cloudonaut.io/scaling-container-clusters-on-aws-ecs-eks/) * [magalix.com: Deploying Kubernetes Cluster With EKS ๐ŸŒŸ](https://www.magalix.com/blog/deploying-kubernetes-cluster-with-eks) Fargate Deployment vs. Linux Workload +* [Deploying Infrastructure (FrontEnd + BackEnd) on AWS using Amazon EKS](https://medium.com/@ghumare64/deploying-infrastructure-frontend-backend-on-aws-using-amazon-eks-5f1f426d618e) +* [How to track costs in multi-tenant Amazon EKS clusters using Kubecost](https://aws.amazon.com/blogs/containers/how-to-track-costs-in-multi-tenant-amazon-eks-clusters-using-kubecost/) +* [EKS Service Accounts Explained](https://fika.works/blog/eks-service-accounts/) In AWS you can assign IAM permissions to pods in your cluster. This article explains how it works. +* [medium: Building the CI/CD of the Future, Creating the EKS Cluster ๐ŸŒŸ](https://medium.com/swlh/building-the-ci-cd-of-the-future-creating-the-eks-cluster-e4cce4eb3500) +* [Announcing the AWS Controllers for Kubernetes Preview](https://aws.amazon.com/about-aws/whats-new/2020/08/announcing-the-aws-controllers-for-kubernetes-preview/) + +### GCP & GKE +- [Fetches all Primitive and Predefined GCP IAM Roles](https://github.com/darkbitio/gcp-iam-role-permissions) +- [Using new traffic control features in External HTTP(S) load balancer](https://cloudblog.withgoogle.com/products/networking/how-to-use-new-traffic-control-features-in-cloud-load-balancing/amp/) +- [Setting up NodeLocal DNSCache](https://cloud.google.com/kubernetes-engine/docs/how-to/nodelocal-dns-cache) +- [Looking ahead as GKE, the original managed Kubernetes, turns 5](https://cloudblog.withgoogle.com/products/containers-kubernetes/5-ways-google-cloud-is-making-gke-the-best-place-to-run-kubernetes/amp/) ### Tools for multi-cloud Kubernetes management - [Banzai Cloud ๐ŸŒŸ](https://banzaicloud.com/) @@ -840,6 +1020,8 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops * [Kubernetes Cluster with **Kubeadm**](https://github.com/kubernetes/kubeadm) It works on any deb / rpm compatible Linux OS, for example Ubuntu, Debian, RedHat or CentOS. This is the main advantage of kubeadm. The tool itself is still in beta (Q1 2018), but is expected to become stable somewhere this year. It's very easy to use and lets you spin kubernetes cluster in just a couple of minutes. * [medium.com: **Demystifying High Availability in Kubernetes Using Kubeadm**](https://medium.com/velotio-perspectives/demystifying-high-availability-in-kubernetes-using-kubeadm-3d83ed8c458b) * [Setting Up a Kubernetes Cluster on Ubuntu 18.04](https://loves.cloud/setting-up-a-kubernetes-cluster-on-ubuntu-18-04/) +* [itnext.io: Up and running out of the cloud โ€” How to setup the Masters using kubeadm bootstrap](https://itnext.io/kubernetes-journey-up-and-running-out-of-the-cloud-how-to-setup-the-masters-using-kubeadm-9a496a14fbc1) In this article, youโ€™ll see how to make use of kubeadm bootstrap to set up and join 3 master instances as members of our cluster. +* [Set up a Bare Metal Kubernetes cluster with kubeadm](https://www.padok.fr/en/blog/kubeadm-kubernetes-cluster) ### Deploying Kubernetes Cluster with Ansible - [Ansible Role - Kubernetes (Jeff Geerling)](https://github.com/geerlingguy/ansible-role-kubernetes) @@ -863,12 +1045,14 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops * [napo.io: Kubernetes The (real) Hard Way on AWS](https://napo.io/posts/kubernetes-the-real-hard-way-on-aws/) * [napo.io: Terraform Kubernetes Multi-Cloud (ACK, AKS, DOK, EKS, GKE, OKE)](https://napo.io/posts/terraform-kubernetes-multi-cloud-ack-aks-dok-eks-gke-oke/) * [medium: Upgrading Kubernetes The Hard Way](https://medium.com/nordcloud-engineering/upgrading-kubernetes-the-hard-way-ac533cfb4ff2) +* [Monzo: we learned a lot from self-hosting Kubernetes, but we wouldn't do it again](https://www.computing.co.uk/news/4019233/monzo-learned-lot-self-hosting-kubernetes-wouldn%E2%80%99) Don't need to do it the hard way anymore ### Caravan - [linecorp.com: Building Large Kubernetes Clusters with **Caravan**](https://engineering.linecorp.com/en/blog/building-large-kubernetes-clusters/) ### ClusterAPI - [**ClusterAPI**](https://cluster-api.sigs.k8s.io/) +- [itnext.io: Multi-Cloud and Multi-Cluster Declarative Kubernetes Cluster Creation and Management with Cluster API (CAPI โ€” v1alpha3)](https://itnext.io/multi-cloud-and-multi-cluster-declarative-kubernetes-cluster-creation-and-management-with-cluster-6df8efdc2a89) ### Microk8s - [**Microk8s**](https://microk8s.io/) @@ -965,7 +1149,7 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops - [KubeCarrier](https://github.com/kubermatic/kubecarrier) ### Red Hat Operator Lifecycle Manager (OLM) -- [Red Hat OLM](https://github.com/operator-framework/operator-lifecycle-manager) +- [Red Hat OLM](https://github.com/operator-framework/operator-lifecycle-manager) operator-lifecycle-manager is a management framework for extending Kubernetes with Operators. OLM extends Kubernetes to provide a declarative way to install, manage, and upgrade Operators and their dependencies in a cluster. ### Crossplane - [Crossplane](https://crossplane.io/) @@ -989,7 +1173,13 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops ## Container Flowchart * [Assess managed Kubernetes services for your workloads.](https://searchcloudcomputing.techtarget.com/tip/Weigh-the-pros-and-cons-of-managed-Kubernetes-services) Managed services from cloud providers can simplify Kubernetes deployment but create some snags in a multi-cloud model. Follow three steps to see if these services can benefit you. +
[![Container flowchart](images/container_flowchart.jpg)](https://searchcloudcomputing.techtarget.com/tip/Weigh-the-pros-and-cons-of-managed-Kubernetes-services) +
+ +
+ +
## Videos @@ -1003,4 +1193,4 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops
-
+
\ No newline at end of file diff --git a/docs/kustomize.md b/docs/kustomize.md index b62059b7..d0f935a9 100644 --- a/docs/kustomize.md +++ b/docs/kustomize.md @@ -3,4 +3,6 @@ - [kubernetes.io: Introducing kustomize; Template-free Configuration Customization for Kubernetes](https://kubernetes.io/blog/2018/05/29/introducing-kustomize-template-free-configuration-customization-for-kubernetes/) If you run a Kubernetes environment, chances are youโ€™ve customized a Kubernetes configuration โ€” you've copied some API object YAML files and edited them to suit your needs. But there are drawbacks to this approach โ€” it can be hard to go back to the source material and incorporate any improvements that were made to it. Today Google is announcing kustomize, a command-line tool contributed as a subproject of SIG-CLI. The tool provides a new, purely declarative approach to configuration customization that adheres to and leverages the familiar and carefully designed Kubernetes API. - [Declarative Management of Kubernetes Objects Using Kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) - [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. -- [blog.tomarrell.com: Kustomize: Traefik v2.2 as a Kubernetes Ingress Controller](https://blog.tomarrell.com/post/traefik_v2_on_kubernetes) \ No newline at end of file +- [blog.tomarrell.com: Kustomize: Traefik v2.2 as a Kubernetes Ingress Controller](https://blog.tomarrell.com/post/traefik_v2_on_kubernetes) +- [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. +* [Kubestack Gitops Framework](https://github.com/kbst/terraform-kubestack) is a Gitops framework built on Terraform and Kustomize \ No newline at end of file diff --git a/docs/linux-dev-env.md b/docs/linux-dev-env.md index 171873ff..8decc979 100644 --- a/docs/linux-dev-env.md +++ b/docs/linux-dev-env.md @@ -8,6 +8,9 @@ multiple versions of software on the same system, without affecting system-wide * [kubernetes.io: WSL+Docker: Kubernetes on the Windows Desktop ๐ŸŒŸ](https://kubernetes.io/blog/2020/05/21/wsl-docker-kubernetes-on-the-windows-desktop/) A lesson on how to install Kubernetes in Docker KinD and Minikube. * [Ubuntu on WSL 2 Is Generally Available ๐ŸŒŸ](https://ubuntu.com/blog/ubuntu-on-wsl-2-is-generally-available) * [Microsoft Makes it Easier to Install WSL on Windows 10 ๐ŸŒŸ](https://www.omgubuntu.co.uk/2020/06/microsoft-wsl-install-command) ```wsl.exe --install``` +* [kubernetes.io - WSL+Docker: Kubernetes on the Windows Desktop ๐ŸŒŸ](https://kubernetes.io/blog/2020/05/21/wsl-docker-kubernetes-on-the-windows-desktop/) +* [9elements.com: Developing on Windows with WSL2](https://9elements.com/blog/developing-a-week-on-windows-with-wsl2/) +* [Docker Desktop & WSL 2 โ€“ Backport Update](https://www.docker.com/blog/docker-desktop-wsl-2-backport-update/) Docker Desktop Edge users will be able to use Docker Desktop with WSL 2 rather than our legacy HyperV based backend. This is available not only for Windows Pro and Windows Enterprise, but also for Windows Home users. ## Windows Terminal - [Windows Terminal 1.0](https://devblogs.microsoft.com/commandline/windows-terminal-1-0/) diff --git a/docs/linux.md b/docs/linux.md index 77653e0d..cb10745b 100644 --- a/docs/linux.md +++ b/docs/linux.md @@ -12,6 +12,7 @@ - [Wait until Your Dockerized Database Is Ready before Continuing](#wait-until-your-dockerized-database-is-ready-before-continuing) - [Copr Build System](#copr-build-system) - [Pulp](#pulp) + - [Hashicorp](#hashicorp) - [Linux Libraries](#linux-libraries) - [Linux Networking](#linux-networking) @@ -24,6 +25,10 @@ - [commandlinefu.com/commands/matching/ssh](https://www.commandlinefu.com/commands/matching/ssh/c3No/sort-by-votes) - [Auto-SSH for Linux security](https://github.com/mohanad86/secure-ssh-python) - [Grant-Revoke-ssh-access](https://github.com/suraksha-123/Grant-Revoke-ssh-access) To automate the process of granting ssh access to a group of servers instances +- [How to use SSH properly and what is SSH Agent Forwarding](https://dev.to/levivm/how-to-use-ssh-and-ssh-agent-forwarding-more-secure-ssh-2c32) +- [How To Set up SSH Keys on a Linux / Unix System](https://www.cyberciti.biz/faq/how-to-set-up-ssh-keys-on-linux-unix/) +- [opensource.com: Bypass your Linux firewall with SSH over HTTP](https://opensource.com/article/20/7/linux-shellhub) Remote work is here to stay; use this helpful open source solution to quickly connect and access all your devices from anywhere. +- [Tรบneles SSH](https://www.atareao.es/ubuntu/tuneles-ssh) ## Linux Blogs - [The Linux Foundation](http://www.linuxfoundation.org/) @@ -70,6 +75,7 @@ - [tecmint.com: vtop โ€“ A Linux Process and Memory Activity Monitoring Tool](https://www.tecmint.com/vtop-monitor-linux-process-usage/) - [tecmint.com: How to Install htop on CentOS 8](https://www.tecmint.com/install-htop-on-centos-8/) - [redhat.com: Save time at the command line with HTTPie instead of curl](https://www.redhat.com/sysadmin/curl-hack-httpie) Automate testing endpoints, downloading files, and submitting forms with HTTPie. +- [redhat.com: World domination with cgroups part 8: down and dirty with cgroup v2](https://www.redhat.com/en/blog/world-domination-cgroups-part-8-down-and-dirty-cgroup-v2) ### Systemd - [Start using systemd as a troubleshooting tool](https://opensource.com/article/20/5/systemd-troubleshooting-tool) While systemd is not really a troubleshooting tool, the information in its output points the way toward solving problems. @@ -98,6 +104,9 @@ ### Pulp - [pulpproject.org](https://pulpproject.org/) Fetch, Upload, Organize, and Distribute Software Packages. +### Hashicorp +- [Announcing the HashiCorp Linux Repository](https://www.hashicorp.com/blog/announcing-the-hashicorp-linux-repository) + ## Linux Libraries - [How to handle dynamic and static libraries in Linux](https://opensource.com/article/20/6/linux-libraries) diff --git a/docs/message-queue.md b/docs/message-queue.md index 71807a0e..fea32131 100644 --- a/docs/message-queue.md +++ b/docs/message-queue.md @@ -14,6 +14,7 @@ - [Debezium open source distributed platform for Change Data Capture (CDC) software design pattern](#debezium-open-source-distributed-platform-for-change-data-capture-cdc-software-design-pattern) - [Red Hat Integration service registry and Apicurio](#red-hat-integration-service-registry-and-apicurio) - [Data Processing (aka Streaming Data, Data Pipeline or Big Data Pipeline)](#data-processing-aka-streaming-data-data-pipeline-or-big-data-pipeline) + - [Apache Airflow](#apache-airflow) - [Apache Kafka](#apache-kafka) - [Banzai Cloud Supertubes (Cloud Native Kafka implementation)](#banzai-cloud-supertubes-cloud-native-kafka-implementation) - [Confluent Cloud (Apache Kafka Re-engineered for the Cloud)](#confluent-cloud-apache-kafka-re-engineered-for-the-cloud) @@ -34,11 +35,13 @@ - [Wikipedia: Event-driven messaging](https://en.wikipedia.org/wiki/Event-driven_messaging) - [Wikipedia: Streaming Data](https://en.wikipedia.org/wiki/Streaming_data) - [nginx.com: Event-Driven Data Management for Microservices ๐ŸŒŸ](https://www.nginx.com/blog/event-driven-data-management-microservices/) +- [dzone: Event-Driven Architecture as a Strategy](https://dzone.com/articles/event-driven-architecture-as-a-strategy) Event-driven architecture provides five key benefits to modern application architecture: scalability, resilience, agility, data sharing, and cloud enabling. ## Message Brokers - [Apache ActiveMQ](https://activemq.apache.org/) - [Dzone: Introduction to Message Brokers. Part 1: Apache Kafka vs. RabbitMQ](https://dzone.com/articles/introduction-to-message-brokers-part-1-apache-kafk) - [Dzone: Introduction to Message Brokers. Part 2: ActiveMQ vs. Redis Pub/Sub](https://dzone.com/articles/introduction-to-message-brokers-part-2-activemq-vs) +- [developers.redhat.com: Choosing the right asynchronous-messaging infrastructure for the job](https://developers.redhat.com/blog/2020/07/31/choosing-the-right-asynchronous-messaging-infrastructure-for-the-job/) ### ActiveMQ message broker - [ActiveMQ 5.x "classic"](https://activemq.apache.org/components/classic/) @@ -95,14 +98,20 @@ - [developers.redhat.com: Change data capture for microservices without writing any code](https://developers.redhat.com/blog/2020/05/15/change-data-capture-for-microservices-without-writing-any-code/) - [debezium.io: Lessons Learned from Running Debezium with PostgreSQL on Amazon RDS](https://debezium.io/blog/2020/02/25/lessons-learned-running-debezium-with-postgresql-on-rds/) - [info.crunchydata.com: PostgreSQL Change Data Capture With Debezium](https://info.crunchydata.com/blog/postgresql-change-data-capture-with-debezium) +- [medium.com: Stream Your Database into Kafka with Debezium](https://medium.com/comsystoreply/stream-your-database-into-kafka-with-debezium-a94b2f649664) An Introduction and Experience Report. Insightful post by David Hettler of +comsysto about their usage of Debezium, touching on many details like outbox pattern, Avro schemas, Postgres on RDS etc. ## Red Hat Integration service registry and Apicurio - [Red Hat Integration service registry](https://developers.redhat.com/blog/2019/12/16/getting-started-with-red-hat-integration-service-registry/) - [**Apicurio** Registry](https://github.com/apicurio/apicurio-registry) An API/Schema registry - stores APIs and Schemas. +- [Event streaming and data federation: A citizen integratorโ€™s story](https://developers.redhat.com/blog/2020/06/12/event-streaming-and-data-federation-a-citizen-integrators-story/) ## Data Processing (aka Streaming Data, Data Pipeline or Big Data Pipeline) - [Awesome Streaming](https://github.com/manuzhang/awesome-streaming) A curated list of awesome [streaming (stream processing)](https://www.oreilly.com/radar/the-world-beyond-batch-streaming-101/) frameworks, applications, readings and other resources. +### Apache Airflow +- [towardsdatascience.com: A journey to Airflow on Kubernetes](https://towardsdatascience.com/a-journey-to-airflow-on-kubernetes-472df467f556) + ### Apache Kafka - [Apache Kafka](https://kafka.apache.org/) - [developers.redhat.com: how easy to deploy and configure a Kafka Connect on Kubernetes through strimziio operator and use secrets](https://developers.redhat.com/blog/2020/02/14/using-secrets-in-apache-kafka-connect-configuration/) @@ -113,6 +122,11 @@ - [medium: Logs & Offsets: (Near) Real Time ELT with Apache Kafka + Snowflake](https://medium.com/convoy-tech/logs-offsets-near-real-time-elt-with-apache-kafka-snowflake-473da1e4d776) Replacing Apache Airflow with Debezium. - [medium: Apache Kafka Startup Guide: System Design Architectures: Notification System, Web Activity Tracker, ELT Pipeline, Storage System ๐ŸŒŸ](https://medium.com/swlh/apache-kafka-startup-guide-system-design-architectures-notification-system-web-activity-tracker-6dcaf0cf8a7) - [medium: Getting Started With Kafka on OpenShift](https://medium.com/swlh/getting-started-with-kafka-on-openshift-c44c0fdec384) +- [containerjournal.com: Red Hat Platform Brings Kafka Closer to Kubernetes](https://containerjournal.com/topics/container-management/red-hat-platform-brings-kafka-closer-to-kubernetes/) +- [lightbend.com: Monitor Kafka Consumer Group Latency with Kafka Lag Exporter](https://www.lightbend.com/blog/monitor-kafka-consumer-group-latency-with-kafka-lag-exporter) +- [AKHQ (previously known as KafkaHQ) ๐ŸŒŸ](https://github.com/tchiotludo/akhq) Kafka GUI for Apache Kafka to manage topics, topics data, consumers group, schema registry, connect and more... +- [banzaicloud.com: Kafka Schema Registry on Kubernetes the declarative way](https://banzaicloud.com/blog/kafka-schemareg/) +- [Build a simple cloud-native change data capture pipeline](https://developers.redhat.com/blog/2020/07/02/build-a-simple-cloud-native-change-data-capture-pipeline/)
[![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) @@ -150,6 +164,7 @@ ### Red Hat AMQ Broker (ActiveMQ Artemis) - [Apache ActiveMQ Artemis broker](https://activemq.apache.org/components/artemis/) - [developers.redhat.com: JDBC Master-Slave Persistence setup with Activemq using Postgresql database](https://developers.redhat.com/blog/2017/10/05/jdbc-master-slave-persistence-setup-activemq-using-postgresql-database) +- [developers.redhat.com: Connecting external clients to Red Hat AMQ Broker on Red Hat OpenShift](https://developers.redhat.com/blog/2020/08/26/connecting-external-clients-to-red-hat-amq-broker-on-red-hat-openshift) ### Red Hat AMQ Streams - [Understanding Red Hat AMQ Streams components for OpenShift and Kubernetes ๐ŸŒŸ](https://developers.redhat.com/blog/2019/12/04/understanding-red-hat-amq-streams-components-for-openshift-and-kubernetes-part-1/) @@ -190,4 +205,8 @@ Red Hat AMQ 7|JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite|Apache ActiveMQ Artemi
+
+ +
+
\ No newline at end of file diff --git a/docs/mkdocs.md b/docs/mkdocs.md index 7b72679f..00fbe739 100644 --- a/docs/mkdocs.md +++ b/docs/mkdocs.md @@ -19,6 +19,7 @@ ## GitHub Pages - [pages.github.com](https://pages.github.com/) +- [opensource.com: How to create a documentation site with Docsify and GitHub Pages](https://opensource.com/article/20/7/docsify-github-pages) ## GitBook - [gitbook.com](https://www.gitbook.com/) diff --git a/docs/monitoring.md b/docs/monitoring.md index aebd36c6..8998c9eb 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -63,6 +63,7 @@ * [thenewstack.io: The Challenges of Monitoring Kubernetes and OpenShift](https://thenewstack.io/the-challenges-of-monitoring-kubernetes-and-openshift/) * [dzone.com: Kubernetes Monitoring: Best Practices, Methods, and Existing Solutions](https://dzone.com/articles/kubernetes-monitoring-best-practices-methods-and-e) Kubernetes handles containers in several computers, removing the complexity of handling distributed processing. But what's the best way to perform Kubernetes monitoring? * [blog.cloud-mercato.com: New HTTP benchmark tool **pycurlb**](https://blog.cloud-mercato.com/new-http-benchmark-tool-pycurlb/) +* [Dzone: Comparison of Open Source API Analytics and Monitoring Tools ๐ŸŒŸ](https://dzone.com/articles/comparison-of-open-source-api-analytics-and-monito) There are a variety of open-source projects you can leverage to build a complete API analytics platform. This articles compares them. ### Key Performance Indicator (KPI) * [KPIs](https://kpi.org/KPI-Basics) @@ -83,6 +84,7 @@ OpenShift Container Platform Monitoring ships with a Prometheus instance for clu | Grafana | 5.2.3 | [OpenShift 3.11 Prometheus Cluster Monitoring](https://docs.openshift.com/container-platform/3.11/install_config/prometheus_cluster_monitoring.html#prometheus-cluster-monitoring) | #### Prometheus and Grafana +* [github.com/prometheus-operator](https://github.com/prometheus-operator) * [redhat.com: **How to gather and display metrics in Red Hat OpenShift** (Prometheus + Grafana)](https://www.redhat.com/en/blog/how-gather-and-display-metrics-red-hat-openshift) * [Generally Available today: Red Hat OpenShift Container Platform 3.11 is ready to power enterprise Kubernetes deployments ๐ŸŒŸ](https://www.redhat.com/en/blog/generally-available-today-red-hat-openshift-container-platform-311-ready-power-enterprise-kubernetes-deployments) * [The Challenges of Monitoring Kubernetes and OpenShift 3.11 ๐ŸŒŸ](https://thenewstack.io/the-challenges-of-monitoring-kubernetes-and-openshift/) @@ -91,6 +93,9 @@ OpenShift Container Platform Monitoring ships with a Prometheus instance for clu * [Prometheus Alert Manager](https://docs.openshift.com/container-platform/3.11/install_config/prometheus_cluster_monitoring.html#configuring-alertmanager_prometheus-cluster-monitoring) * [Leveraging Kubernetes and OpenShift for automated performance tests (part 1)](https://developers.redhat.com/blog/2018/11/22/automated-performance-testing-kubernetes-openshift/) * [Building an observability stack for automated performance tests on Kubernetes and OpenShift (part 2) ๐ŸŒŸ](https://developers.redhat.com/blog/2019/01/03/leveraging-openshift-or-kubernetes-for-automated-performance-tests-part-2/) +* [Promster: Use Prometheus in huge deployments with dynamic clustering and scrape sharding capabilities based on ETCD service registration](http://github.com/flaviostutz/promster) +* [developers.redhat.com: Monitoring .NET Core applications on Kubernetes](https://developers.redhat.com/blog/2020/08/05/monitoring-net-core-applications-on-kubernetes/) +* [Systems Monitoring with Prometheus and Grafana](https://flightaware.engineering/systems-monitoring-with-prometheus-grafana/) [![openshift3 Monitoring](images/ocp_monitoring.png)](https://docs.openshift.com/container-platform/3.11/install_config/prometheus_cluster_monitoring.html) @@ -165,6 +170,9 @@ OpenShift Cluster Monitoring components cannot be extended since they are read o * Soporte de federaciรณn horizontal y vertical. * [magalix.com: Monitoring of Kubernetes Clusters To Manage Large Scale Projects](https://www.magalix.com/blog/monitor-kuberentes-cluster-to-manage-large-scale-projects) * [Cloud Native Monitoring with Prometheus ๐ŸŒŸ](https://samirbehara.com/2019/05/30/cloud-native-monitoring-with-prometheus/) +* [itnext.io - Prometheus: yet-another-cloudwatch-exporter โ€” collecting AWS CloudWatch metrics](https://itnext.io/prometheus-yet-another-cloudwatch-exporter-collecting-aws-cloudwatch-metrics-806bd34818a8) +* [medium: Kubernetes Lessons in Alerting](https://medium.com/better-programming/kubernetes-lessons-in-alerting-a0b7a455e89d) Live issues are a great opportunity to learn and improve. Hereโ€™s what happened to us +* [Prometheus Monitoring Ecosystem Begins to Mature](https://containerjournal-com.cdn.ampproject.org/c/s/containerjournal.com/topics/container-ecosystems/prometheus-monitoring-ecosystem-begins-to-mature/amp/) [![prometheus architecture](images/prometheus-architecture.png)](https://github.com/prometheus/prometheus) @@ -220,6 +228,7 @@ Although it's exciting to see attempts to address the challenges of running Prom * [Maven Prometheus instrumentation library for JVM applications (client library)](https://mvnrepository.com/artifact/io.prometheus) * [github.com/prometheus/client_java](https://github.com/prometheus/client_java) * [Example: JMX Exporter with ActiveMQ](https://www.openlogic.com/blog/prometheus-java-monitoring-and-gathering-data) +* [k8s-image-availability-exporter](https://github.com/flant/k8s-image-availability-exporter) is a Prometheus exporter that warns you proactively about images that are defined in Kubernetes objects (e.g., an image field in the Deployment) but are not available in the container registry (such as Docker Registry, etc.). #### Prometheus Exporters Development. Node Exporter * Node exporter puede ser utilizado para exportar las mรฉtricas de nuestra aplicaciรณn ya que permite exportar un "text-file". Nuestra aplicaciรณn puede escribir datos en un fichero de texto con el formato de datos de Prometheus. Este fichero de texto con datos agregados serรญa exportado a Prometheus con Node Exporter. @@ -302,13 +311,18 @@ Although it's exciting to see attempts to address the challenges of running Prom * Prometheus utiliza plantillas de consola para los dashboards, si bien su curva de aprendizaje de sus mรบltiples funcionalidades es alta, con una interfaz de usuario insuficiente. Por este motivo es muy habitual utilizar **Grafana** como interfaz de usuario. * [grafana.com: Provisioning Grafana ๐ŸŒŸ](https://grafana.com/docs/grafana/latest/administration/provisioning/) Las รบltimas versiones de Grafana permiten la creaciรณn de "datasources" y "dashboards" con Ansible, mediante las opciones de provisiรณn de Grafana. Funciona con cualquier "datasource" (Prometheus, InfluxDB, etc), incluyendo la configuraciรณn de Grafana correspondiente y dejando poco margen para el error humano. * [Grafana provisioning Ansible Role](https://github.com/cloudalchemy/ansible-grafana) - +* [grafana.com: Introducing the new and improved New Relic plugin for Grafana](https://grafana.com/blog/2020/07/22/introducing-the-new-and-improved-new-relic-plugin-for-grafana/) +* [Log Monitoring and Alerting with Grafana Loki](https://www.infracloud.io/blogs/grafana-loki-log-monitoring-alerting) +* [magalix.com: Monitoring Kubernetes Clusters Through Prometheus & Grafana ๐ŸŒŸ](https://www.magalix.com/blog/monitoring-of-kubernetes-cluster-through-prometheus-and-grafana) +* [itnext.io: Monitoring Kubernetes workloads with Prometheus and Thanos](https://itnext.io/monitoring-kubernetes-workloads-with-prometheus-and-thanos-4ddb394b32c) + ### Grafana Dashboards * [Grafana Dashboards](https://grafana.com/grafana/dashboards) * [github.com/mlabouardy: Grafana Dashboards](https://github.com/mlabouardy/grafana-dashboards) * [openlogic.com: How to develop Grafana Dashboards ๐ŸŒŸ](https://www.openlogic.com/blog/how-visualize-prometheus-data-grafana) * [Percona Grafana dashboards for MySQL and MongoDB monitoring using Prometheus ๐ŸŒŸ](https://github.com/percona/grafana-dashboards) * [Prometheus Monitoring With Grafana. Prometheus Stats Dashboard and Prometheus Benchmark Dashboard](https://dzone.com/articles/prometheus-monitoring-with-grafana). How you construct your Prometheus monitoring dashboard involves trial and error. Grafana makes this exploration very easy and Prometheus has good built-in functionality. +* [Popular community plugins that can improve your Grafana dashboards ๐ŸŒŸ](https://grafana.com/blog/2020/08/26/popular-community-plugins-that-can-improve-your-grafana-dashboards/) Monitored Component|Collector|Dashboard Number|URL :------------------|:-------|:---------------|------------ @@ -691,6 +705,7 @@ JMeter|Artemis Grafana|Artemis Dashboard * [dzone: Kibana Tutorial: Part 2 - Creating Visualizations](https://logz.io/blog/kibana-tutorial-2/) * [dzone: Getting Started With Kibana Advanced Searches](https://dzone.com/articles/getting-started-with-kibana-advanced-searches) * [dzone: Kibana Hacks: 5 Tips and Tricks](https://dzone.com/articles/kibana-hacks-5-tips-and-tricks) +* [juanonlab.com: Dashboards de Kibana](https://www.juanonlab.com/blog/es/dashboards-de-kibana) ## Prometheus and Grafana Interactive Learning * [katacoda.com: Getting Started with Prometheus](https://www.katacoda.com/courses/prometheus/getting-started) @@ -769,6 +784,7 @@ done - [Jaeger Demo1](https://github.com/obitech/micro-obs) - [Jaeger Demo 2](https://github.com/open-telemetry/opentelemetry-collector/tree/master/examples/demo) - [medium.com: **Jaeger embraces OpenTelemetry collector** ๐ŸŒŸ](https://medium.com/jaegertracing/jaeger-embraces-opentelemetry-collector-90a545cbc24) + - [Best Practices for Deploying Jaeger on Kubernetes in Production](https://thenewstack.io/best-practices-for-deploying-jaeger-on-kubernetes-in-production/) - [**zipkin.io**](https://zipkin.io/) - [**OpenTracing.io**](https://opentracing.io/) - [lightstep.com: Understand Distributed Tracing](https://docs.lightstep.com/docs/understand-distributed-tracing) diff --git a/docs/nexus-jfrog.md b/docs/nexus-jfrog.md index 2605b7bc..17981ef6 100644 --- a/docs/nexus-jfrog.md +++ b/docs/nexus-jfrog.md @@ -11,6 +11,7 @@ - [Nexus CLI](#nexus-cli) - [Sonatype Nexus Community](#sonatype-nexus-community) - [JFrog Artifactory](#jfrog-artifactory) +- [JFrog DevOps Platform](#jfrog-devops-platform) ## Nexus Repository Manager (NXRM) 3 * [sonatype.com/nexus-repository-oss](https://www.sonatype.com/nexus-repository-oss) @@ -73,4 +74,8 @@ ## JFrog Artifactory - [JFrog Artifactory: Your Kubernetes Registry](https://jfrog.com/blog/jfrog-artifactory-kubernetes-registry/) -- [The JFrog journey to kubernetes: best practices for taking your containers all the way to production](https://jfrog.com/whitepaper/the-jfrog-journey-to-kubernetes-best-practices-for-taking-your-containers-all-the-way-to-production/) \ No newline at end of file +- [The JFrog journey to kubernetes: best practices for taking your containers all the way to production](https://jfrog.com/whitepaper/the-jfrog-journey-to-kubernetes-best-practices-for-taking-your-containers-all-the-way-to-production/) + +## JFrog DevOps Platform +- [JFrog DevOps Platform](https://jfrog.com/platform/) +- [Pipelines CI/CD and the JFrog Platform Difference](https://jfrog.com/blog/pipelines-ci-cd-and-the-jfrog-platform-difference/) \ No newline at end of file diff --git a/docs/ocp3.md b/docs/ocp3.md index 858ce1d5..fa077875 100644 --- a/docs/ocp3.md +++ b/docs/ocp3.md @@ -40,6 +40,7 @@ * [GitHub: monkey-ops, Openshift compliant, no cluster-admin required](https://github.comjoshmsmith/monkey-ops) * [chaoskube periodically kills random pods in your Kubernetes cluster](https://github.com/linkichaoskube) * [Chaos Mesh](https://github.com/pingcap/chaos-mesh) +* [Litmus is a toolset to do chaos engineering in a kubernetes native way. Litmus provides chaos CRDs for Cloud-Native developers and SREs to inject, orchestrate and monitor chaos to find weaknesses in Kubernetes deployments](https://github.com/litmuschaos/litmus) ## OpenShift GitOps * [blog.openshift.com: Introduction to GitOps with OpenShift](https://blog.openshift.comintroduction-to-gitops-with-openshift/) diff --git a/docs/ocp4.md b/docs/ocp4.md index d3940dc4..e7268df9 100644 --- a/docs/ocp4.md +++ b/docs/ocp4.md @@ -70,6 +70,11 @@ * [blog.openshift.com: OpenShift Scale: Running 500 Pods Per Node ๐ŸŒŸ](https://blog.openshift.com/500_pods_per_node/) * [blog.openshift.com: Enterprise Kubernetes with OpenShift (Part one) ๐ŸŒŸ](https://www.openshift.com/blog/enterprise-kubernetes-with-openshift-part-one) * [devclass.com: OpenShift 4.4 goes all out on mixed workloads, puts observability at devsโ€™ fingertips ๐ŸŒŸ](https://devclass.com/2020/05/04/openshift-4-4-goes-all-out-on-mixed-workloads-puts-observability-at-devs-fingertips/) +* [developers.redhat.com - Best practices: Using health checks in the OpenShift 4.5 web console ๐ŸŒŸ](https://developers.redhat.com/blog/2020/07/20/best-practices-using-health-checks-in-the-openshift-4-5-web-console/) 3 types of health checks offered in OpenShift 4.5 to improve application reliability and uptime +* [OpenShift 4.5: Node Improvements](https://www.openshift.com/blog/openshift-4.5-node-improvements) +* [OpenShift 4.5: Red Hat takes Kubernetes to the cloud's edge](https://www.zdnet.com/google-amp/article/red-hat-takes-kubernetes-to-the-clouds-edge/) Red Hat agrees that edge computing is the future and it's getting ready for this next stage in cloud computing with its latest OpenShift release. +* [Fully Automated OpenShift Deployments With VMware vSphere](https://www.openshift.com/blog/fully-automated-openshift-deployments-with-vmware-vsphere) +* [OpenShift 4 โ€œunder-the-hoodโ€ ๐ŸŒŸ](https://medium.com/faun/openshift-4-under-the-hood-ab854c3439dd)
[![OCP 4 Architecture](images/ocp4_arch.png)](https://www.openshift.com/blog/enterprise-kubernetes-with-openshift-part-one) @@ -310,6 +315,7 @@ etcd 14h myoperator 14h - The Ingress Operator implements the ingresscontroller API and is the component responsible for enabling external access to OpenShift Container Platform cluster services. - The operator makes this possible by deploying and managing one or more HAProxy-basedย [Ingress Controllers](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/)ย to handle routing. - [Network Security Zones in Openshift (DMZ)](https://blog.openshift.com/openshift-and-network-security-zones-coexistence-approaches/) +- [openshift.com: Global Load Balancer for OpenShift clusters: an Operator-Based Approach](https://www.openshift.com/blog/global-load-balancer-for-openshift-clusters-an-operator-based-approach) ```bash oc describe clusteroperators/ingress @@ -546,6 +552,7 @@ oc login * [blog.openshift.com: Guide to Installing an OKD 4.4 Cluster on your Home Lab](https://blog.openshift.com/guide-to-installing-an-okd-4-4-cluster-on-your-home-lab/) * [okd4-upi-lab-setup: Building an OpenShift - OKD 4.X Lab](https://cgruver.github.io/okd4-upi-lab-setup/) Installing OKD4.X with User Provisioned Infrastructure. Libvirt, iPXE, and FCOS * [redhat.com: How to run a Kubernetes cluster on your laptop ๐ŸŒŸ](https://www.redhat.com/sysadmin/kubernetes-cluster-laptop) Want containers? Learn how to set up and run a Kubernetes container cluster on your laptop with OKD. +* [openshift.com: Deploy a multi-master OKD 4.5 cluster using a single command in ~30 minutes](https://www.openshift.com/blog/deploy-a-multi-master-okd-4.5-cluster-using-a-single-command-in-30-minutes) ## OpenShift Serverless with Knative * [redhat.com: What is knative?](https://www.redhat.com/en/topics/microservices/what-is-knative) @@ -592,6 +599,7 @@ oc login ## Application Migration Toolkit - [Red Hat Application Migration Toolkit](https://developers.redhat.com/products/rhamt/overview) is an assembly of open source tools that enables large-scale application migrations and modernizations. The tooling consists of multiple individual components that provide support for each phase of a migration process. +- [RHAMT in Github Actions](https://carlosthe19916.wordpress.com/2020/04/12/rhamt-in-github-actions/) You can embed the Migration Toolkit for Application MTA (now still RHAMT) in your GitHub to ensure your app is JEE / Tomcat compliant (and more ...) ## OpenShift Topology View - [OpenShift topology view: A milestone towards a better developer experience](https://www.redhat.com/en/blog/openshift-topology-view-milestone-towards-better-developer-experience) diff --git a/docs/other-awesome-lists.md b/docs/other-awesome-lists.md index db3115f5..4687da58 100644 --- a/docs/other-awesome-lists.md +++ b/docs/other-awesome-lists.md @@ -20,6 +20,7 @@ - [Bash](#bash) - [Data Processing](#data-processing) - [Open Source Alternatives](#open-source-alternatives) +- [Kubectl Plugins](#kubectl-plugins) ## Inspired By - [@sindresorhus' Awesome](https://github.com/sindresorhus/awesome) @@ -111,3 +112,7 @@ ## Open Source Alternatives - [opensource.builders](https://opensource.builders/) - [free-for.dev](https://free-for.dev/) + +## Kubectl Plugins +- [Available kubectl plugins](https://github.com/kubernetes-sigs/krew-index/blob/master/plugins.md) +- [Awesome Kubectl plugins](https://github.com/ishantanu/awesome-kubectl-plugins) diff --git a/docs/postman.md b/docs/postman.md index 2297cf68..712aba2b 100644 --- a/docs/postman.md +++ b/docs/postman.md @@ -11,6 +11,7 @@ - [medium: API Testing with Postman](https://medium.com/@michaelkm03/rest-api-test-automation-with-postman-jenkins-1-of-3-860edf3c2a45) - [Linkedin: API Testing with Postman โ€” Build a Dynamic Test Suite](https://www.linkedin.com/pulse/api-testing-postman-build-dynamic-test-suite-michael-montgomery/) - [medium: API Testing with Postman โ€” Build a Dynamic Test Suite](https://medium.com/@michaelkm03/api-testing-with-postman-build-a-dynamic-test-suite-e874f4d78e69) +- [API Testing with Postman โ€” Run a Collection with Docker](https://www.linkedin.com/pulse/api-testing-postman-run-collection-docker-michael-montgomery/) ## Newman - [Newman](https://github.com/postmanlabs/newman) is a command-line collection runner for Postman diff --git a/docs/pulumi.md b/docs/pulumi.md index eb7ac4c8..54ff64e8 100644 --- a/docs/pulumi.md +++ b/docs/pulumi.md @@ -1,4 +1,5 @@ # Pulumi - Modern Infrastructure as Code - [Pulumi](https://www.pulumi.com/) - [Pulumi VS Terraform](https://www.pulumi.com/docs/intro/vs/terraform/) -- [Pulumi Cloud Providers](https://www.pulumi.com/docs/intro/cloud-providers/) \ No newline at end of file +- [Pulumi Cloud Providers](https://www.pulumi.com/docs/intro/cloud-providers/) +- [DRY (Donโ€™t Repeat Yourself) on the cloud with Pulumi](https://blog.thundra.io/dry-dont-repeat-yourself-on-the-cloud-with-pulumi) \ No newline at end of file diff --git a/docs/python.md b/docs/python.md index d736e2ca..5056779d 100644 --- a/docs/python.md +++ b/docs/python.md @@ -84,6 +84,7 @@ - [PEP 8 Cheatsheet ๐ŸŒŸ](https://es.scribd.com/document/207247675/PEP-8-Cheatsheet-2009) - [Lists vs. Tuples](http://nedbatchelder.com/blog/201608/lists_vs_tuples.html) A common beginner Python question: what's the difference between a list and a tuple? - [linuxconfig.org: python tuples ๐ŸŒŸ](https://linuxconfig.org/python-tuples) +- [digitalocean.com: How To Use the Python Map Function ๐ŸŒŸ](https://www.digitalocean.com/community/tutorials/how-to-use-the-python-map-function)
@@ -127,6 +128,7 @@ - [realpython.com: Discover Flask, Part 1 - Setting Up a Static Site ](https://realpython.com/blog/python/introduction-to-flask-part-1-setting-up-a-static-site/) - [Two-Factor Authentication with Authy](https://www.twilio.com/docs/tutorials/walkthrough/two-factor-authentication/python/flask) - [devbattles.com: Python Flask, Part 1: Hello World!](http://www.devbattles.com/en/sand/post-1757-Python_Flask_Part_1_Hello_World) +- [mherman.org: Scaling Flask with Kubernetes ๐ŸŒŸ](https://mherman.org/presentations/flask-kubernetes/) ## Python pip and pip's wheel - [wheel replaces Python's eggs](https://wheel.readthedocs.org) diff --git a/docs/rancher.md b/docs/rancher.md index 1d5a764f..dfcc3050 100644 --- a/docs/rancher.md +++ b/docs/rancher.md @@ -22,6 +22,8 @@ * [rancher.com](https://rancher.com/) Rancher is enterprise management for Kubernetes, an amazing GUI for managing and installing Kubernetes clusters. They have released a number of pieces of software that are part of this ecosystem, for example [Longhorn](https://github.com/longhorn/longhorn) which is a lightweight and reliable distributed block storage system for Kubernetes. * [rancher.com: Custom alerts using Prometheus queries](https://rancher.com/blog/2020/custom-monitoring) * [zdnet.com: Rancher Labs closes $40M funding round to "run Kubernetes everywhere"](https://www.zdnet.com/article/rancher-labs-closes-40m-funding-round-to-run-kubernetes-everywhere/) The six year-old startup is going after new markets that want to run Kubernetes clusters at the edge. +* [medium: Quick Fix: Mounting a ConfigMap to an Existing Volume in Kubernetes Using Rancher](https://medium.com/swlh/quick-fix-mounting-a-configmap-to-an-existing-volume-in-kubernetes-using-rancher-d01c472a10ad) +* [Deploy a Rancher Cluster with GitLab CI and Terraform](https://rancher.com/blog/2020/deploy-with-gitlab-ci)
[![rancher architecture](images/rancher.png)](https://www.youtube.com/watch?v=2LNxGVS81mE) @@ -49,6 +51,7 @@ * [Install Kubernetes with k3sup and k3s](https://medium.com/@alexellisuk/walk-through-install-kubernetes-to-your-raspberry-pi-in-15-minutes-84a8492dc95a) * [k3s-gitlab](https://github.com/apk8s/k3s-gitlab) k3s + Gitlab install notes. Steps for utilizing k3s to manage a self-hosted Gitlab instance. * [Upgrade Your K3s Clusters Smoothly in Rancher 2.4](https://rancher.com/blog/2020/upgrade-your-k3s-cluster) +* [Keptn Control Plane on k3s](https://github.com/keptn-sandbox/keptn-on-k3s) It allows you to install the Keptn control plane running on K3s within minutes! Great way to get started using Keptn! ### K3S Use Cases - [K3S Use Cases](https://www.youtube.com/watch?v=2LNxGVS81mE): diff --git a/docs/securityascode.md b/docs/securityascode.md index f6c43b80..fb67860d 100644 --- a/docs/securityascode.md +++ b/docs/securityascode.md @@ -1,10 +1,14 @@ # Security Policy as Code and Open Policy Agent (OPA) +- [SSL certificates with Let's Encrypt in Kubernetes Ingress via cert-manager](#ssl-certificates-with-lets-encrypt-in-kubernetes-ingress-via-cert-manager) - [Security Policy as Code](#security-policy-as-code) - [Open Policy Agent in Kubernetes](#open-policy-agent-in-kubernetes) - [Open Policy Agent in OpenShift](#open-policy-agent-in-openshift) - [Open Policy Agent in Cloudflare Workers](#open-policy-agent-in-cloudflare-workers) - [Policy as Code in Terraform Cloud](#policy-as-code-in-terraform-cloud) +## SSL certificates with Let's Encrypt in Kubernetes Ingress via cert-manager +- [medium: Using SSL certificates from Letโ€™s Encrypt in your Kubernetes Ingress via cert-manager](https://medium.com/flant-com/cert-manager-lets-encrypt-ssl-certs-for-kubernetes-7642e463bbce) + ## Security Policy as Code - [OPA Open Policy Agent ๐ŸŒŸ](https://www.openpolicyagent.org/) - [Dzone: DevOps Security at Scale - Security Policy as Code](https://dzone.com/articles/devops-security-at-scale) diff --git a/docs/servicemesh.md b/docs/servicemesh.md index 45d3d5fd..b9ee11c7 100644 --- a/docs/servicemesh.md +++ b/docs/servicemesh.md @@ -33,6 +33,7 @@ - [Google Cloudโ€™s Traffic Director โ€” What is it and how is it related to the Istio service-mesh?](https://medium.com/cloudzone/google-clouds-traffic-director-what-is-it-and-how-is-it-related-to-the-istio-service-mesh-c199acc64a6d) - [**Google Traffic Director** and the **L7 Internal Load Balancer** Intermingles **Cloud Native** and **Legacy Workloads**](https://thenewstack.io/google-traffic-director-and-the-l7-internal-load-balancer-intermingles-cloud-native-and-legacy-workloads/) - [infoq.com: Introducing Traffic Director: Google's Service Mesh Control Plane](https://www.infoq.com/news/2019/04/google-traffic-director/) +- [Traffic Director and gRPCโ€”proxyless services for your service mesh](https://cloudblog.withgoogle.com/products/networking/traffic-director-supports-proxyless-grpc/amp/) ### Google L7 Internal Load Balancer - [L7 Internal HTTP(S) Load Balancing overview](https://cloud.google.com/load-balancing/docs/l7-internal/) diff --git a/docs/sre.md b/docs/sre.md index 86d4007c..f4cc68cf 100644 --- a/docs/sre.md +++ b/docs/sre.md @@ -13,6 +13,8 @@ - [opensource.com: What is an SRE and how does it relate to DevOps?](https://opensource.com/article/18/10/sre-startup) The SRE role is common in large enterprises, but smaller businesses need it, too. - [thenewstack.io: Where Site Reliability Engineering Overlaps with DevOps](https://thenewstack.io/where-the-site-reliability-engineer-role-overlaps-with-devops/) - [openshift.com: From Ops to SRE - Evolution of the OpenShift Dedicated Team](https://www.openshift.com/blog/from-ops-to-sre-evolution-of-the-openshift-dedicated-team) +- [cncf.io: DevOps vs. SRE](https://www.cncf.io/blog/2020/07/17/site-reliability-engineering-sre-101-with-devops-vs-sre/) +- [kelda.io: Why SREs Should be Responsible for Development Environments](https://kelda.io/blog/sres-should-manage-development-environments/)
[![cn do sre](images/CN-DO-SRE.png)](https://devops.com/sre-devops-cloud-native-server-cage-match/) diff --git a/docs/storage.md b/docs/storage.md index d569f43f..72aaeada 100644 --- a/docs/storage.md +++ b/docs/storage.md @@ -18,6 +18,8 @@ - [thenewstack.io: A Guide to Running Stateful Applications in Kubernetes](https://thenewstack.io/a-guide-to-running-stateful-applications-in-kubernetes/) - [forbes.com: 5 Cloud Native Storage Startups To Watch Out For In 2019](https://www.forbes.com/sites/janakirammsv/2019/06/28/5-cloud-native-storage-startups-to-watch-out-for-in-2019/) - [thenewstack.io: Persistent Volumes: Separating Compute and Storage](https://thenewstack.io/persistent-volumes-separating-compute-and-storage/) +- [medium: Solution architectโ€™s guide to Kubernetes persistent storage](https://medium.com/weareservian/solution-architects-guide-to-kubernetes-persistant-storage-3c9660187e8f) +- [howtoforge.com: Storage in Kubernetes ๐ŸŒŸ](https://www.howtoforge.com/storage-in-kubernetes/) ## Solutions - [itnext.io: State of Persistent Storage in K8s โ€” A Benchmark](https://itnext.io/state-of-persistent-storage-in-k8s-a-benchmark-77a96bb1ac29) diff --git a/docs/terraform.md b/docs/terraform.md index 6eb12e1e..768a431b 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -8,6 +8,7 @@ - [OpenShift and Terraform](#openshift-and-terraform) - [Terraform Kubernetes Operator](#terraform-kubernetes-operator) - [Terraform and AWS](#terraform-and-aws) +- [Gruntwork](#gruntwork) ## Packer * [packer.io](https://packer.io/) @@ -36,6 +37,13 @@ * [kubernetes.io blog: Working with Terraform and Kubernetes](https://kubernetes.io/blog/2020/06/working-with-terraform-and-kubernetes/) * [hashicorp.com: Custom Variable Validation in Terraform 0.13](https://www.hashicorp.com/blog/custom-variable-validation-in-terraform-0-13/) * [medium: Terraform for Network Engineers: Should you be implementing Infrastructure as Code?](https://medium.com/hashicorp-engineering/terraform-for-network-engineers-should-you-be-implementing-infrastructure-as-code-73667d27d3b8) +* [hashicorp.com: Learn How to Import Infrastructure Into Terraform](https://www.hashicorp.com/blog/import-infrastructure-into-terraform) +* [Bridgecrew: Misconfigured Terraform Modules Are a Security Issue](https://thenewstack.io/bridgecrew-all-these-misconfigured-terraform-modules-are-a-security-issue/) +* [medium - Infrastructure-As-Code: But You Donโ€™t Have to Write That Code](https://medium.com/@duplocloud/infrastructure-as-code-but-you-dont-have-to-write-that-code-87ec4fe94863) +* [cdk-terraform - Cloud Development Kit Can Now Generate Terraform Configurations Using TypeScript and Python](https://www.infoq.com/news/2020/07/cdk-terraform/) +* [Manage Active Directory Objects with the New Windows AD Provider for HashiCorp Terraform](https://www.hashicorp.com/blog/manage-active-directory-objects-new-windows-ad-provider-hashicorp-terraform) Official HashiCorp-maintained Active Directory provider for Terraform. Terraform is a great way to bring some sanity to AD management so weโ€™re excited to make this official. +* [Infracost](https://github.com/infracost/infracost) Infracost shows hourly and monthly cost estimates for a Terraform project. This helps developers, DevOps et al. quickly see the cost breakdown and compare different deployment options upfront. +* [Terraform Feature Flags & Environment Toggle Design Patterns](https://build5nines.com/terraform-feature-flags-environment-toggle-design-patterns/) ### Awesome Terraform * [github.com/shuaibiyy/awesome-terraform](https://github.com/shuaibiyy/awesome-terraform) @@ -63,3 +71,7 @@ * [Dzone: provisioning servers in cloud with terraform](https://dzone.com/articles/provisioning-servers-in-cloud-with-terraform) * [Dzone: how to deploy apps effortlessly with **packer and terraform**](https://dzone.com/articles/how-to-deploy-apps-effortlessly-with-packer-and-te) +## Gruntwork +- [gruntwork.io](https://gruntwork.io/) +- [towardsdatascience.com: State of the Art Infrastructure as Code](https://towardsdatascience.com/state-of-the-art-infrastructure-as-code-4fbd59d92462) The newest layer of abstraction by Gruntwork thatโ€™ll make your life easier. Gruntworkโ€™s Terragrunt is a wrapper over Terraform which concentrates on solving your problems of Terraform state management and configuration. It also solves some of the problems around having similar infrastructure deployed in different environments. +- [blog.gruntwork.io: Introducing: The Gruntwork Module, Service, and Architecture Catalogs](https://blog.gruntwork.io/introducing-the-gruntwork-module-service-and-architecture-catalogs-eb3a21b99f70) \ No newline at end of file diff --git a/docs/testops.md b/docs/testops.md index b9ea7412..eee6cd39 100644 --- a/docs/testops.md +++ b/docs/testops.md @@ -22,6 +22,7 @@ ## Tools - [Smocker (server mock) is a simple and efficient HTTP mock server](https://github.com/Thiht/smocker) - [copyist](https://github.com/cockroachdb/copyist) Mocking Your SQL Database in Go Tests Has Never Been Easier. +- [opensource.com: Cerberus - An open source solution for continuous testing at scale](https://opensource.com/article/20/8/cerberus-test-automation) Cerberus focuses on testing usability, scalability, and integration.
[![testops and devops](images/TestOps-What-Does-This-Mean.jpg)](https://www.opcito.com/blogs/testops-how-to-automate-your-software-pipeline-at-the-speed-of-devops) diff --git a/docs/visual-studio.md b/docs/visual-studio.md index 3a193ffe..5395567a 100644 --- a/docs/visual-studio.md +++ b/docs/visual-studio.md @@ -13,6 +13,7 @@ - [Jenkins Extensions](#jenkins-extensions) - [Integrated Terminal on Visual Studio Code](#integrated-terminal-on-visual-studio-code) - [Test Debugging](#test-debugging) +- [Alternatives](#alternatives) - [Videos](#videos) ## VSCode @@ -25,6 +26,7 @@ * [kite: Code Faster with AI Autocomplete](https://kite.com/) * [With the Edge (Chromium) Tools for VS Code you can see the browser's Inspector and Dev Tools within VSCode, to debug your front-end code](https://gist.github.com/hxlnt/60d0e62efdb973e221e585e2b990bfd6) * [docker.com: How to Develop Inside a Container Using Visual Studio Code Remote Containers ๐ŸŒŸ](https://www.docker.com/blog/how-to-develop-inside-a-container-using-visual-studio-code-remote-containers/) +* [devblogs.microsoft.com: Need an Intro to VS Code? Let Tech with Tim Help!](https://devblogs.microsoft.com/python/need-an-intro-to-vs-code-let-tech-with-tim-help/) ### Updates * [VSCode Updates](https://code.visualstudio.com/updates) @@ -77,6 +79,7 @@ A simple extension to make indentation more readable * [Path Intellisense](https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense) Visual Studio Code plugin that autocompletes filenames * [GitHub Pull Requests and Issues ๐ŸŒŸ](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github) * [React Pure To Class](https://marketplace.visualstudio.com/items?itemName=angryobject.react-pure-to-class-vscode) Convert pure react components to class components +* [Helm Intellisense](https://marketplace.visualstudio.com/items?utm_sq=ggv6n6jy52&itemName=Tim-Koehler.helm-intellisense&ssr=false#overview) Helm Intellisense is a Visual Studio Code extension that provides intellisense for helm-templates #### More Extensions (Blogs) * [Become a VS Code Ninja with these Extensions and Tools [2020]](https://dev.to/vikrantnegi/become-a-vs-code-ninja-with-these-extensions-and-tools-2020-1119) @@ -133,6 +136,10 @@ A simple extension to make indentation more readable ## Test Debugging - [How to configure Visual Studio Code for test debugging](https://medium.com/guidesmiths-dev/how-to-configure-visual-studio-code-for-test-debugging-39d0d7f24d79) +## Alternatives +- [Repl.it](https://repl.it/) Reading code is hard! Don't you wish you could just ask the code what it does? To describe its functions, its types. And maybe... how can it be improved? Introducing: Replit code oracle. +- [Gitpod Open Sources a โ€˜Holistic IDEโ€™](https://thenewstack.io/gitpod-open-sources-a-holistic-ide/) + ## Videos diff --git a/docs/web-servers.md b/docs/web-servers.md index 9f4ad971..af29d1ae 100644 --- a/docs/web-servers.md +++ b/docs/web-servers.md @@ -25,6 +25,7 @@ - [Dzone: Nginx Reverse Proxy Ubuntu 18.04](https://dzone.com/articles/nginx-reverse-proxy-ubuntu-1804) In this post, we will show you how to install Nginx Web Server and configure it as a reverse proxy on Ubuntu Server 18.04. - [Dzone: DevOps 101: Set Up Nginx in Front of Your Spring Boot Application [Video]](https://dzone.com/articles/devops-101-setup-nginx-in-front-of-your-spring-boo) - [NGINXConfig ๐ŸŒŸ๐ŸŒŸ](https://www.digitalocean.com/community/tools/nginx) The easiest way to configure a performant, secure, and stable NGINX server. +- [How To Use the Official NGINX Docker Image](https://www.docker.com/blog/how-to-use-the-official-nginx-docker-image/)
@@ -43,6 +44,7 @@ - [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) - [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) ## Skipper (HTTP router and reverse proxy) - [opensource.com: Try this Kubernetes HTTP router and reverse proxy](https://opensource.com/article/20/4/http-kubernetes-skipper) diff --git a/docs/yaml.md b/docs/yaml.md index 6df788a3..acde9451 100644 --- a/docs/yaml.md +++ b/docs/yaml.md @@ -9,8 +9,11 @@ - [github.com/topics/yaml-processor](https://github.com/topics/yaml-processor) - [ytt](https://get-ytt.io/) is a templating tool that understands YAML structure allowing you to focus on your data instead of how to properly escape it. - You should use tools such as [yq](https://mikefarah.gitbook.io/yq/) and kustomize to template YAML resources instead of relying on tools that interpolate strings such as [Helm](https://helm.sh/). -- [yq ๐ŸŒŸ](https://mikefarah.gitbook.io/yq/) is a lightweight and portable command-line YAML processor. The aim of the project is to be the [jq](https://github.com/stedolan/jq) or sed of yaml files. +- [yq ๐ŸŒŸ](https://mikefarah.gitbook.io/yq/) is a lightweight and portable command-line YAML processor. The aim of the project is to be the [jq](https://github.com/stedolan/jq) or sed of yaml files. `yq` allows to query the yaml tree and highlights it: ```k get svc a -oyaml | yq r -``` - [Kapitan](https://kapitan.dev/) Generic templated configuration management for Kubernetes, Terraform and other things. +- [yaml.sh](https://www.yaml.sh/) A YAML parser completely in bash. [Yaml.sh โ€” YAML Sans Helm](https://medium.com/@KarlKFI/yaml-sh-yaml-sans-helm-e983a3dfdaec) +- [yh - YAML Highlighter](https://github.com/andreazorzetto/yh) is YAML syntax highlighter that works nicely with kubectl output +- [Kubectl output options ๐ŸŒŸ](https://gist.github.com/so0k/42313dbb3b547a0f51a547bb968696ba) ## Templating JSON Files - [wikipedia: JSON](https://en.wikipedia.org/wiki/JSON) diff --git a/mkdocs.yml b/mkdocs.yml index 5e839159..e5c40628 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -133,6 +133,7 @@ nav: - Development & Frameworks: - Angular: angular.md - Document Object Model (DOM): dom.md + - Golang: golang.md - JavaScript - node.js & npm: javascript.md - Python - Django & Flask: python.md - Xamarin: xamarin.md