diff --git a/docs/ansible.md b/docs/ansible.md index 9ad17d0e..b95b000e 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -26,6 +26,8 @@ * [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 +* [opensource.com: How to install software with Ansible](https://opensource.com/article/20/9/install-packages-ansible) Automate software installations and updates across your devices with Ansible playbooks. +* [opensource.com: Automate your container orchestration with Ansible modules for Kubernetes 🌟](https://opensource.com/article/20/9/ansible-modules-kubernetes) Combine Ansible with Kubernetes for cloud automation. Plus, get our cheat sheet for using the Ansible k8s module. ## 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/aws.md b/docs/aws.md index 7fdc670c..fdc63571 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -28,6 +28,7 @@ - [AWS New Features](#aws-new-features) - [AWS Management Console](#aws-management-console) - [AWS Management Tools Blog](#aws-management-tools-blog) +- [AWS Cloudwatch](#aws-cloudwatch) - [AWS Schema Conversion Tool](#aws-schema-conversion-tool) - [AWS RDS](#aws-rds) - [AWS DMS](#aws-dms) @@ -42,7 +43,7 @@ - [AWS Networking](#aws-networking) - [AWS Route 53](#aws-route-53) - [AWS Elastic Load Balancing](#aws-elastic-load-balancing) -- [AWS Application Load Balancer](#aws-application-load-balancer) +- [AWS Application Load Balancer (ALB)](#aws-application-load-balancer-alb) - [NGINX](#nginx) - [AWS Latency](#aws-latency) - [Amazon ECS optimized AMI](#amazon-ecs-optimized-ami) @@ -89,6 +90,8 @@ - [Localstack](#localstack) - [Migrating On Premise VM to AWS](#migrating-on-premise-vm-to-aws) - [AWS configuration files](#aws-configuration-files) +- [Open Source at AWS](#open-source-at-aws) +- [AWS Service Quota Requests](#aws-service-quota-requests) - [Spain](#spain) - [Videos](#videos) @@ -241,6 +244,9 @@ ## AWS Management Tools Blog - [AWS Management Tools Blog](https://aws.amazon.com/blogs/mt/) +## AWS Cloudwatch +- [threatstack.com: 50 Best AWS CloudWatch Tutorials](https://www.threatstack.com/blog/50-best-aws-cloudwatch-tutorials) + ## AWS Schema Conversion Tool - [cloudacademy.com: Migrating Data to AWS Using the AWS Schema Conversion Tool: A Preview](http://cloudacademy.com/blog/migrating-data-to-aws/) - [AWS Schema Conversion Tool now supports PostgreSQL as conversion target](http://aws.amazon.com/about-aws/whats-new/2016/01/aws-schema-conversion-tool-postgresql-support/) @@ -319,9 +325,10 @@ - [AWS Summit Series 2016 | London: Deep Dive on Elastic Load Balancing](https://www.youtube.com/watch?v=HinwLb2lpLQ) - [docs.aws.amazon.com: What Is Elastic Load Balancing?](http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) -## AWS Application Load Balancer +## AWS Application Load Balancer (ALB) - [Application Load Balancer 🌟](https://aws.amazon.com/elasticloadbalancing/applicationloadbalancer/) - [aws blogs - New – AWS Application Load Balancer](https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/) +- [medium: 10 reasons why you should think about using an AWS Application Load Balancer](https://medium.com/ankercloud-engineering/10-reasons-why-you-should-think-about-using-an-aws-application-loadbalancer-945f57816c34) ## NGINX - [NGINX Plus on the AWS Cloud: Quick Start Reference Deployment](https://aws.amazon.com/about-aws/whats-new/2016/09/nginx-plus-on-the-aws-cloud-quick-start-reference-deployment/) @@ -580,6 +587,13 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa ## AWS configuration files - [medium: AWS configuration files, explained](https://medium.com/@ben11kehoe/aws-configuration-files-explained-9a7ea7a5b42e) +## Open Source at AWS +- [OpenSource at AWS 🌟](https://aws.github.io/) + +## AWS Service Quota Requests +- [How can I troubleshoot errors using the AWS CLI to manage my service quota requests?](https://aws.amazon.com/es/premiumsupport/knowledge-center/troubleshoot-service-quotas-cli-commands/) +- [AWS API: get-service-quota](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/service-quotas/get-service-quota.html) + ## 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/azure.md b/docs/azure.md index 555b1829..8f301b05 100644 --- a/docs/azure.md +++ b/docs/azure.md @@ -15,6 +15,7 @@ * [info.acloud.guru: Deploying your first kubernetes app with Azure DevOps](https://info.acloud.guru/resources/deploy-kubernetes-app-with-azure-devops) * [info.acloud.guru: Azure DevOps VS GitHub: Comparing Microsoft's DevOps Twins](https://info.acloud.guru/resources/azure-devops-vs-github-comparing-microsofts-devops-twins) * [techcommunity.microsoft.com: Building a path to success for microservices and .NET Core - Project Tye + GitHub Actions](https://techcommunity.microsoft.com/t5/apps-on-azure/building-a-path-to-success-for-microservices-and-net-core/ba-p/1502270) +* [medium: Azure DevOps HandBook !](https://medium.com/@arunksingh16/azure-devops-handbook-d6dcd82da1b7) ## Azure Traffic Manager - [Azure Traffic Manager](https://docs.microsoft.com/azure/traffic-manager/) diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md index d8e9e258..14c0cd5b 100644 --- a/docs/cheatsheets.md +++ b/docs/cheatsheets.md @@ -18,6 +18,7 @@ - [OpenShift Cheat Sheets](#openshift-cheat-sheets) - [Kubernetes Operator Cheat Sheets](#kubernetes-operator-cheat-sheets) - [Kubernetes POD Cheat Sheets](#kubernetes-pod-cheat-sheets) +- [Buildah Cheat Sheets](#buildah-cheat-sheets) - [Helm Cheat Sheets](#helm-cheat-sheets) - [Maven Cheat Sheets](#maven-cheat-sheets) - [Gradle Cheat Sheets](#gradle-cheat-sheets) @@ -103,6 +104,7 @@ * [intellipaat.com: Ansible Basic Cheat Sheet](https://intellipaat.com/blog/tutorial/devops-tutorial/ansible-basic-cheat-sheet/) * [mrxpalmeiras: Ansible Cheat Sheet](https://sites.google.com/site/mrxpalmeiras/ansible/ansible-cheat-sheet) * [google.com/site/mrxpalmeiras: Ansible Cheat Sheet 🌟](https://sites.google.com/site/mrxpalmeiras/ansible/ansible-cheat-sheet) +* [Ansible k8s cheat sheet 🌟](https://opensource.com/downloads/ansible-k8s-cheat-sheet) The Ansible k8s module enables you to manage Kubernetes objects with Ansible playbooks. ## Packer and Terraform Cheat Sheets * [Packer Cheatsheet](https://adamrushuk.github.io/cheatsheets/packer/) @@ -145,6 +147,9 @@ [![pod cheat sheets](images/pod_cheat_sheet.png)](https://jimmysong.io/kubernetes-handbook/concepts/pod.html) +## Buildah Cheat Sheets +- [developers.redhat.com: Buildah Cheat Sheet](https://developers.redhat.com/cheat-sheets/buildah-cheat-sheet) + ## Helm Cheat Sheets * [Helm Cheat Sheet](https://gist.github.com/tuannvm/4e1bcc993f683ee275ed36e67c30ac49) diff --git a/docs/cicd.md b/docs/cicd.md index 477d38b9..fd83c8d2 100644 --- a/docs/cicd.md +++ b/docs/cicd.md @@ -46,6 +46,7 @@ Here are some important things to consider while building a CI/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) +* [Asking for Help Is a Best Practice When Building a CI/CD Pipeline](https://www.cloudbees.com/case-study/asking-help-best-practice-when-building-cicd-pipeline) ## 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/) diff --git a/docs/databases.md b/docs/databases.md index c3c6082b..f74bae83 100644 --- a/docs/databases.md +++ b/docs/databases.md @@ -43,7 +43,8 @@ * [reddit.com: What's the best, proper way of running a database cluster on top of Kubernetes?](https://www.reddit.com/r/kubernetes/comments/9d8on5/whats_the_best_proper_way_of_running_a_database/) * [caylent.com: The Pros and Cons of Running Production Databases as Containers](https://caylent.com/the-pros-and-cons-of-running-production-databases-as-containers) * [learnk8s.io: Provisioning cloud resources (AWS, GCP, Azure) in Kubernetes](https://learnk8s.io/cloud-resources-kubernetes) - +* [cloudsavvyit.com: Should You Run a Database in Docker?](https://www.cloudsavvyit.com/5414/should-you-run-a-database-in-docker/) + ## 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) diff --git a/docs/demos.md b/docs/demos.md index cd9fa7e6..f4c1749b 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -19,6 +19,8 @@ - [IBM Cloud Pak Playbooks](#ibm-cloud-pak-playbooks) - [Knative](#knative) - [OpenShift Pipelines Workshop (Tekton)](#openshift-pipelines-workshop-tekton) + - [ArgoCD](#argocd) + - [Deploying Web Applications with Eclipse JKube (formerly known as fabric8)](#deploying-web-applications-with-eclipse-jkube-formerly-known-as-fabric8) - [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) @@ -93,6 +95,7 @@ * [magalix.com: How To Integrate OPA Into Your Kubernetes Cluster Using Kube-mgmt](https://www.magalix.com/blog/how-to-integrate-opa-into-your-kubernetes-cluster-using-kube-mgmt) * [itnext.io: Kubernetes Journey β€” 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) * [medium: Build a Federation of Multiple Kubernetes Clusters With Kubefed V2](https://medium.com/better-programming/build-a-federation-of-multiple-kubernetes-clusters-with-kubefed-v2-8d2f7d9e198a) +* [medium: Single Sign-On in Kubernetes](https://medium.com/@andriisumko/single-sign-on-in-kubernetes-1ad9528350ed) This article walks you through creating a service, exposing it with an Ingress, and adding Single Sign On. The article uses Okta (but of course you’re free to use any other OIDC SSO provider you prefer) ### CI/CD with SpringBoot for Kubernetes * [CI/CD for Kubernetes through a Spring Boot example (Banzai Cloud CI/CD)](https://teletype.in/@sravancynixit/CcwqFANxY) @@ -165,6 +168,13 @@ - [openshift-pipelines-workshop](https://redhat-developer-demos.github.io/openshift-pipelines-workshop/) Workshop to demonstrate OpenShift Pipelines (featuring Tekton) - [OpenShift Pipelines Catalog](https://github.com/openshift/pipelines-catalog) - [systemcraftsman/lab-tekton-pipelines: OpenShift Pipelines workshop](https://github.com/systemcraftsman/lab-tekton-pipelines) +- [openshift.com: GitOps Using Red Hat OpenShift Pipelines (Tekton) and Red Hat Advanced Cluster Management](https://www.openshift.com/blog/gitops-using-red-hat-openshift-pipelines-tekton-and-red-hat-advanced-cluster-management) + +### ArgoCD +- [rromannissen/rhoar-microservices-demo: GitOps for Microservices with Red Hat Runtimes demo](https://github.com/rromannissen/rhoar-microservices-demo) A GitOps pipeline example using ArgoCD, tektoncd and HelmPack for springboot and QuarkusIO microservices. + +### Deploying Web Applications with Eclipse JKube (formerly known as fabric8) +- [Building and Deploying a Weather Web Application onto Kubernetes/Red Hat OpenShift using Eclipse JKube](https://itnext.io/building-and-deploying-a-weather-web-application-onto-kubernetes-red-hat-openshift-using-eclipse-62bf7c924be4) ### Monitoring Services with OpenShift ServiceMesh - [Monitoring Services like an SRE in OpenShift ServiceMesh](https://www.openshift.com/blog/monitoring-services-like-an-sre-in-openshift-servicemesh) diff --git a/docs/devops.md b/docs/devops.md index d6f0b24c..59850037 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -52,6 +52,9 @@ * [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. +* [BBVA - DevOps: quΓ© es y cΓ³mo mejorar los procesos gracias a esta estrategia](https://www.bbva.com/es/devops-que-es-y-como-mejorar-los-procesos-gracias-a-esta-estrategia/amp/) +* [dzone: DevOps Guide: Implementing Four-Eyes Principle With Process Automation Tooling](https://dzone.com/articles/devops-guide-implementing-four-eyes-principle-with) With great power comes great responsibility. More and more organisations are moving towards a DevOps based organisational model, putting more and more respon... +* [cloudsavvyit.com: A Beginner’s Introduction To DevOps Principles](https://www.cloudsavvyit.com/3233/a-beginners-introduction-to-devops-principles/)
[![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 2b4cf8f0..17a21701 100644 --- a/docs/devsecops.md +++ b/docs/devsecops.md @@ -85,6 +85,8 @@ - [Git Credential Manager Core: Building a universal authentication experience](https://github.blog/2020-07-02-git-credential-manager-core-building-a-universal-authentication-experience/) ## GitOps Secret Management +- [blog.gitguardian.com: Secrets in source code (episode 2/3). Why secrets in git are such a problem](https://blog.gitguardian.com/secrets-credentials-api-git/) + ### HashiCorp Vault - [vaultproject.io](https://www.vaultproject.io/) Manage Secrets and Protect Sensitive Data. Secure, store and tightly control access to tokens, passwords, certificates, encryption keys for protecting secrets and other sensitive data using a UI, CLI, or HTTP API. - [medium: Coding for Secrets Reliability with HashiCorp Vault](https://medium.com/hashicorp-engineering/coding-for-secrets-reliability-with-hashicorp-vault-2090dd8667e) diff --git a/docs/docker.md b/docs/docker.md index 86c841b8..6729ec98 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -38,6 +38,7 @@ * [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. +* [Top 18 Docker commands for Automation Tester/Devops/SDET/Test Lead?](https://automationreinvented.blogspot.com/2020/02/top-18-docker-commands-for-aytomation.html) ## Security - [thehackernews.com: Docker Images Containing Cryptojacking Malware Distributed via Docker Hub](https://thehackernews.com/2020/06/cryptocurrency-docker-image.html) diff --git a/docs/git.md b/docs/git.md index 27d4661b..c3819e4c 100644 --- a/docs/git.md +++ b/docs/git.md @@ -61,6 +61,7 @@ * [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/) +* [thenextweb.com: A beginner’s guide to the most popular Git commands](https://thenextweb.com/syndication/2020/09/02/a-beginners-guide-to-the-most-popular-git-commands/) ## 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. diff --git a/docs/gitops.md b/docs/gitops.md index bb299cd9..580f2eb2 100644 --- a/docs/gitops.md +++ b/docs/gitops.md @@ -28,6 +28,8 @@ - [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 +- [container-solutions.com: GitOps: The Bad and the Ugly](https://blog.container-solutions.com/gitops-the-bad-and-the-ugly) +- [itnext.io: Principles, Patterns, and Practices for Effective Infrastructure as Code](https://itnext.io/principles-patterns-and-practices-for-effective-infrastructure-as-code-e5f7bbe13df1) Deliver Infrastructure and Software running on it Rapidly and Reliably at Scale. ## 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. @@ -35,6 +37,7 @@ ## GitOps Tools - [FluxCD, ArgoCD or Jenkins X: Which Is the Right GitOps Tool for You?](https://blog.container-solutions.com/fluxcd-argocd-or-jenkins-x-which-is-the-right-gitops-tool-for-you) - [slideshare: GitOps, Jenkins X & Future of CI/CD](https://slideshare.net/rakutentech/gitops-jenkins-x-future-of-cicd) +- [kubesandclouds.com: Werf: Fully customizable GitOps](https://kubesandclouds.com/index.php/2020/09/01/werf-gitops/) ### Flux. The GitOps Operator for Kubernetes * [Flux](https://fluxcd.io/) The GitOps operator for Kubernetes diff --git a/docs/helm.md b/docs/helm.md index b1b4443a..5bbecfda 100644 --- a/docs/helm.md +++ b/docs/helm.md @@ -48,5 +48,9 @@ * [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/) +## Helmfile +- [helmfile](https://github.com/linuxadvise/helmfile) +- [linuxadvise.com: Helmfile - Next Level to manage your helm Charts](https://www.linuxadvise.com/amp/helmfile-next-level-to-manage-your-helm-charts) + ## Helm Books - [Learn Helm](https://www.packtpub.com/cloud-networking/learn-helm) diff --git a/docs/images/tetrate_logo.jpg b/docs/images/tetrate_logo.jpg new file mode 100755 index 00000000..6c0ae7da Binary files /dev/null and b/docs/images/tetrate_logo.jpg differ diff --git a/docs/index.md b/docs/index.md index 04c33e5a..ffa48f8f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -9,7 +9,7 @@ A curated list of awesome references collected since 2018. Microservices archite [![container_with_cars](images/container_with_cars.png)](https://www.cncf.io/certification/software-conformance/)
[![docker videos](images/docker_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/dockerrun) [![cncf videos](images/cncf_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCvqbFHwN-nwalWPjPUKpvTA) [![kubernetes logo](images/kubernetes_logo.jpg){: style="width:7%"}](https://www.youtube.com/kubernetescommunity) [![redhat videos](images/redhat_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/RedHatVideos) [![openshift videos](images/openshift_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/rhopenshift) [![rancher logo](images/rancher-logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCh5Xtp82q8wjijP8npkVTBA) [![cloudbees videos](images/cloudbees_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/CloudBeesTV) [![jenkins videos](images/jenkins-logo.jpg){: style="width:7%"}](https://www.youtube.com/user/jenkinsci) [![jenkins-x videos](images/jenkins_x_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCN2kblPjXKMcjjVYmwvquvg) [![spinnaker videos](images/spinnaker_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcxQbw8kT1-FRhFhO2QCetg) [![vmware tanzu logo](images/vmware_tanzu_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/goPivotal)
[![ibm cloud videos](images/ibm_cloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/IBMCloud) [![aws videos](images/aws_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/AmazonWebServices) [![gcp videos](images/gcp_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/googlecloudplatform/) [![azure videos](images/azure_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/windowsazure) [![oraclecloud videos](images/oracle_cloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC60OcDzeEtn194-UPYNJs8A) [![digitalocean videos](images/digital_ocean_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/DigitalOceanVideos) [![cloudflare](images/cloudflare_logo.jpg){: style="width:7%"}](https://www.youtube.com/cloudflare) [![openstack](images/openstack_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/OpenStackFoundation) [![harhicorp videos](images/hashicorp_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC-AdvAxaagE9W2f0webyNUQ) [![pulumi videos](images/pulumi_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC2Dhyn4Ev52YSbcpfnfP0Mw) [![liquibase video](images/liquibase_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC5qMsRjObu685rTBq0PJX8w)
-[![dzone videos](images/dzone_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/dzone/) [![prometheus videos](images/prometheus_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC4pLFely0-Odea4B2NL1nWA) [![grafana videos](images/grafana_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCYCwgQAMm9sTJv0rgwQLCxw) [![istio videos](images/istio_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC-zVlo1F3mUbExQ96fABWcQ) [![elastic videos](images/elasticsearch_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/elasticsearch) [![dynatrace videos](images/dynatrace_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcYJ-5q_AfmjQ4XTjTS0o3g) [![appdynamics videos](images/appdynamics_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCTL2V4fqMMERSWQa1kT4EMw) [![newrelic videos](images/newrelic_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/NewRelicInc) [![tigera calico](images/tigera_calico_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC8uN3yhpeBeerGNwDiQbcgw) [![weavecloud](images/weavecloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/WeaveWorksInc) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com)
+[![dzone videos](images/dzone_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/dzone/) [![prometheus videos](images/prometheus_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC4pLFely0-Odea4B2NL1nWA) [![grafana videos](images/grafana_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCYCwgQAMm9sTJv0rgwQLCxw) [![istio videos](images/istio_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC-zVlo1F3mUbExQ96fABWcQ) [![elastic videos](images/elasticsearch_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/elasticsearch) [![dynatrace videos](images/dynatrace_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcYJ-5q_AfmjQ4XTjTS0o3g) [![appdynamics videos](images/appdynamics_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCTL2V4fqMMERSWQa1kT4EMw) [![newrelic videos](images/newrelic_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/NewRelicInc) [![tigera calico](images/tigera_calico_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC8uN3yhpeBeerGNwDiQbcgw) [![weavecloud](images/weavecloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/WeaveWorksInc) [![tetrate](images/tetrate_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCtV2o3OvEH6U3DQ0-_7chNw)
[![atlassian videos](images/atlassian_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/GoAtlassian) [![vscode videos](images/vscode_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCs5Y5_7XK8HLDX0SLNwkd3w) [![github videos](images/github_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/github) [![gitlab video](images/gitlab_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg) [![gitkraken](images/gitkraken_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCp06FAzrFalo3txskS1gCfA) [![rocketchat videos](images/rocket_chat_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCin9nv7mUjoqrRiwrzS5UVQ) [![slack videos](images/slack_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCY3YECgeBcLCzIrFLP4gblw) [![mattermost videos](images/mattermost_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCNR05H72hi692y01bWaFXNA) [![microsoft365](images/microsoft_365_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/officevideos) [![openproject](images/openproject_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCpDojas1X9ccix4mxadabpw) [![deiser](images/deiser_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/DEISERCHANNEL)
[![rh devel](images/rh_developer_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC7noUdfWp-ukXUlAsJnSm-Q/) [![spring logo](images/spring-logo.jpg){: style="width:7%"}](https://www.youtube.com/user/SpringSourceDev) [![quarkus logo](images/quarkus-logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCaW8QG_QoIk_FnjLgr5eOqg) [![lightbend videos](images/lightbend_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcxTiKb1h2lY_gpTCDgXn1g) [![postman videos](images/postman_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCocudCGVb3MmhWQ1aoIgUQw) [![swagger videos](images/smartbear_swagger_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/SmartBearSoftware) [![jfrog](images/jfrog_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/artifrog) [![sonatype](images/sonatype_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/sonatype) [![sonarsource sonarqube](images/sonarsource_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCS5-gTYteN9rnFd98YxYtrA) [![chrome developers videos](images/chromedevtools_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/ChromeDevelopers) [![mozilla developer](images/mozilla_developer_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCh5UlGiu9d6LegIeUCW4N1w)
[![crunchydata](images/crunchydata_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCooRnlDz6VLAbFyKIChz4fg) [![kubedb appscode](images/kubedb_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCxObRDZ0DtaQe_cCP-dN-xg) [![cockroachdb](images/cockroachdb_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCc-m3P54YDVTjtMUJlmAuow) [![mongodb](images/mongodb_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/MongoDB) [![redis](images/redis_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCD78lHSwYqMlyetR0_P4Vig/) [![confluent video](images/confluent_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCmZz-Gj3caLLzEWBtbYUXaA) [![kubemq video](images/kubemq_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCud7fErZAyMC6lHT_cWZNfA) [![openebs](images/openebs_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC3ywadaAUQ1FI4YsHZ8wa0g) [![storageos](images/storageos_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCm63IQg81KP9vXRWSHQpu1w) [![robin](images/robin_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCt7N400Z8gB_3yKq1qrjP2w) [![portworx](images/portworx_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Portworx)
@@ -78,6 +78,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [Red Hat OpenShift on IBM Cloud](https://www.ibm.com/cloud/openshift) - [OpenShift Online](https://www.openshift.com/products/online/) - [OpenShift.io](https://openshift.io/) +- [Red Hat Marketplace](https://marketplace.redhat.com/) ### Customer Success Stories - [Customer Success Stories 🌟](customer.md) ## Software Delivery Pipeline diff --git a/docs/introduction.md b/docs/introduction.md index 2ee3e0f1..7ee30ba7 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -24,6 +24,8 @@ * [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. +* [blog.heroku.com: Deconstructing Monolithic Applications into Services](https://blog.heroku.com/monolithic-applications-into-services) +* [vmware.com: How to Deconstruct a Monolith using Microservices – Getting Ready for Cloud-Native](https://blogs.vmware.com/vov/2018/08/06/how-to-deconstruct-a-monolith-using-microservices-getting-ready-for-cloud-native/)
[![microservices infographic](images/microservices-infographic.png)](https://www.weave.works/technologies/going-cloud-native-6-essential-things-you-need-to-know) diff --git a/docs/java_frameworks.md b/docs/java_frameworks.md index e211b2fb..35cb5c6d 100644 --- a/docs/java_frameworks.md +++ b/docs/java_frameworks.md @@ -24,6 +24,8 @@ * [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) +* [advancedweb.hu: A categorized list of all Java and JVM features since JDK 8 to 14](https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-14/) +* [JDK 15: The new features in Java 15](https://www.infoworld.com/article/3534133/jdk-15-the-new-features-in-java-15.html) Just-arrived update to standard Java features text blocks, hidden classes, the Z Garbage Collector, and previews of pattern matching and records. ### Existing Java Implementations - [Oracle Java](https://www.oracle.com/technetwork/java/javase/overview/index.html) @@ -88,6 +90,7 @@ optimizing Enterprise Java for the microservices architecture. ### Spring Cloud - [Spring Cloud](https://spring.io/projects/spring-cloud) - [Spring Cloud Kubernetes for hybrid microservices architecture](https://medium.com/javarevisited/spring-cloud-kubernetes-for-hybrid-microservices-architecture-f487d67328d0) +- [piotrminkowski.com: Microservices with spring cloud kubernetes](https://piotrminkowski.com/2019/12/20/microservices-with-spring-cloud-kubernetes) ### SpringBoot - [SpringBoot](https://spring.io/projects/spring-boot) diff --git a/docs/jenkins.md b/docs/jenkins.md index ea91cf4d..45af5445 100644 --- a/docs/jenkins.md +++ b/docs/jenkins.md @@ -61,6 +61,8 @@ * [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) +* [dzone.com: Easily Automate Your CI/CD Pipeline With Jenkins, Helm, and Kubernetes 🌟](https://dzone.com/articles/easily-automate-your-cicd-pipeline-with-jenkins-he) Learn how to set up a workflow to automate your CI/CD pipeline for quick and easy deployments using Jenkins, Helm, and Kubernetes. +* [Building Pipeline and Launching Jenkins in Container](https://medium.com/@rishabh1799/building-pipeline-and-launching-jenkins-in-container-d4faf39de173)
[![Jenkins Is The Way](images/Jenkins-is-the-Way.png)](https://jenkinsistheway.io) @@ -313,8 +315,9 @@ * [Least Load](https://plugins.jenkins.io/leastload/) This plugin overrides the default Load Balancer behavior and assigns jobs to nodes with the least load * [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/) +* [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/) + * [Git Plugin Performance Improvement: Final Phase and Release 🌟](https://www.jenkins.io/blog/2020/08/29/git-performance-improvement-phase3/) ### 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 efcca45d..3fabc609 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -2,6 +2,7 @@ - [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) + - [Disruptions](#disruptions) - [Kubernetes Resource and Capacity Management](#kubernetes-resource-and-capacity-management) - [Kubernetes Monitoring](#kubernetes-monitoring) - [Logging in Kubernetes](#logging-in-kubernetes) @@ -34,6 +35,7 @@ - [Cluster Autoscaler and DockerHub](#cluster-autoscaler-and-dockerhub) - [Cluster Autoscaler in GKE, EKS, AKS and DOKS](#cluster-autoscaler-in-gke-eks-aks-and-doks) - [Cluster Autoscaler in OpenShift](#cluster-autoscaler-in-openshift) + - [Kubernetes Load Testing and High Load Tuning](#kubernetes-load-testing-and-high-load-tuning) - [Extending Kubernetes](#extending-kubernetes) - [Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API](#adding-custom-resources-extending-kubernetes-api-with-kubernetes-resource-definitions-crd-vs-aggregated-api) - [Krew, a plugin manager for kubectl plugins](#krew-a-plugin-manager-for-kubectl-plugins) @@ -134,6 +136,7 @@ - [Spanish Kubernetes Blogs](#spanish-kubernetes-blogs) - [Container Ecosystem](#container-ecosystem) - [Container Flowchart](#container-flowchart) +- [Kubernetes Scripts](#kubernetes-scripts) - [Videos](#videos) ## Certified Kubernetes Offerings @@ -224,7 +227,7 @@ * [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) +* [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/) @@ -236,6 +239,19 @@ * [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 +* [ronaknathani.com: How a Kubernetes Pod Gets an IP Address 🌟](https://ronaknathani.com/blog/2020/08/how-a-kubernetes-pod-gets-an-ip-address/) +* [eevans.co: Deconstructing Kubernetes Networking](https://eevans.co/blog/deconstructing-kubernetes-networking/) +* [externalTrafficPolicy=local on kubernetes. How to preserve the source IP in kubernetes](https://blog.getambassador.io/externaltrafficpolicy-local-on-kubernetes-e66e498212f9) externalTrafficPolicy=local is an annotation on the Kubernetes service resource that can be set to preserve the client source IP. When it is set, the actual IP address of a client is propagated to the K8s service instead of the IP address of the node. +* [medium: Single Sign-On in Kubernetes 🌟](https://medium.com/@andriisumko/single-sign-on-in-kubernetes-1ad9528350ed) +* [jfrog.com: Kubernetes in Production with Jessica Deen at swampUP 2020](https://jfrog.com/blog/kubernetes-in-production-with-jessica-deen-at-swampup-2020/) +* [itnext.io: Writing a Kubernetes CLI in Go](https://itnext.io/writing-a-kubernetes-cli-in-go-a3970ad58299) +* [medium: 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. +* [semaphoreci.com: Continuous Blue-Green Deployments With Kubernetes 🌟](https://semaphoreci.com/blog/continuous-blue-green-deployments-with-kubernetes) +* [iximiuz.com: Service proxy, pod, sidecar, oh my!](https://iximiuz.com/en/posts/service-proxy-pod-sidecar-oh-my/) +* [medium: 3 Years of Kubernetes in Production–Here’s What We Learned 🌟](https://medium.com/better-programming/3-years-of-kubernetes-in-production-heres-what-we-learned-44e77e1749c8) +* [linuxadvise.com: Kubernetes: Node Selectors](https://www.linuxadvise.com/post/kubernetes-node-selectors) +* [linuxadvise.com: Kubernetes: Node Affinity](https://www.linuxadvise.com/post/kubernetes-node-affinity) +* [thenewstack.io: How do applications run on kubernetes?](https://thenewstack.io/how-do-applications-run-on-kubernetes/)
[![Kubernetes architecture](images/kubernetes-pod-creation.png)](https://www.padok.fr/en/blog/kubernetes-architecture-clusters) @@ -248,6 +264,9 @@

+### Disruptions +- [thenewstack.io: Kubernetes: Use PodDisruptionBudgets for Application Maintenance and Upgrades](https://thenewstack.io/kubernetes-use-poddisruptionbudgets-for-application-maintenance-and-upgrades/) + ### 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) @@ -257,11 +276,13 @@ * [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) +* [sysdig.com: Seven Kubernetes monitoring best practices every monitoring solution should enable](https://sysdig.com/blog/kubernetes-monitoring-best-practices/) #### 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) +- [portworx.com: How to backup and restore Elasticsearch on Kubernetes](https://portworx.com/how-to-backup-and-restore-elasticsearch-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) @@ -377,6 +398,7 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names ### Skaffold. Local Kubernetes Development - [Skaffold 🌟](https://skaffold.dev/) +- [infracloud.io: Build and deploy Kubernetes apps with Skaffold](https://www.infracloud.io/blogs/skaffold-usecases/) ### Kind - [Kind](https://kind.sigs.k8s.io/) is a tool for running local Kubernetes clusters using Docker container β€œnodes”. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI. @@ -419,6 +441,9 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [OpenShift 3.11: Configuring the cluster auto-scaler in AWS](https://docs.openshift.com/container-platform/3.11/admin_guide/cluster-autoscaler.html) * [OpenShift 4.4: Applying autoscaling to an OpenShift Container Platform cluster](https://docs.openshift.com/container-platform/4.4/machine_management/applying-autoscaling.html) +### Kubernetes Load Testing and High Load Tuning +- [itnext.io: Kubernetes: load-testing and high-load tuning β€” problems and solutions](https://itnext.io/kubernetes-load-testing-and-high-load-tuning-problems-and-solutions-244d869a9791) + ## Extending Kubernetes ### Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API - [Custom Resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) @@ -579,6 +604,14 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [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 +* [k8sdeploy](https://github.com/pyang55/k8sdeploy) is a go based tool, written with the goal of creating a cli that utilizes helm and kubernetes client libraries to deploy to multiple namespaces at once. +* [kubewatch 🌟🌟](https://hub.docker.com/r/bitnami/kubewatch) + * [Espiando a tu kubernetes con kubewatch](https://bluetab.net/wp-content/uploads/2020/09/Blog.html) +* [node-policy-webhook](https://github.com/softonic/node-policy-webhook) is a Kubernetes webhook designed to help you handle tolerations, nodeSelector and nodeAffinity. +- [kubeonoff](https://github.com/GambitResearch/kubeonoff) is a simple web UI for managing Kubernetes deployments. +- [ipvs-node-controller](https://github.com/kakao/ipvs-node-controller) is the kubernetes controller that solves External-IP (Load Balancer IP) issue with IPVS proxy mode. +- [kubeonoff](https://github.com/GambitResearch/kubeonoff) A simple web UI for managing Kubernetes deployments. Kubeonoff is a small web UI that allows to quickly stop/start/restart pods. Basically it's for non-developers to manage k8s objects per namespace. +- [Maistra 🌟](https://maistra.io/) is an opinionated distribution of Istio designed to work with Openshift. It combines Kiali, Jaeger, and Prometheus into a platform managed according to the OperatorHub lifecycle. ## 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 @@ -685,6 +718,7 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [gardener.cloud: Kubernetes Antipatterns](https://gardener.cloud/050-tutorials/content/howto/antipattern/) * [dzone.com: Performance Patterns in Microservices-Based Integrations 🌟](https://dzone.com/articles/performance-patterns-in-microservices-based-integr-1) * [developers.redhat.com: Top 10 must-know Kubernetes design patterns](https://developers.redhat.com/blog/2020/05/11/top-10-must-know-kubernetes-design-patterns/) +* [medium: 10 Anti-Patterns for Kubernetes Deployments 🌟](https://medium.com/better-programming/10-antipatterns-for-kubernetes-deployments-e97ce1199f2d) Common practices in Kubernetes deployments that have better solutions [![Top 10 Kubernetes patterns](images/top_10_kubernetes_patterns.png)](https://developers.redhat.com/blog/2020/05/11/top-10-must-know-kubernetes-design-patterns/) @@ -752,7 +786,7 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [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/) +* [howtoforge.com: Network Policy in Kubernetes 🌟](https://www.howtoforge.com/kubernetes_network_policy/) By default, pods accept traffic from any source. A network policy helps to specify how a group of pods can communicate with each other and other network endpoints.
@@ -779,6 +813,7 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [CNI](https://github.com/containernetworking/cni) * [dzone: How to Understand and Set Up Kubernetes Networking 🌟](https://dzone.com/articles/how-to-understand-and-setup-kubernetes-networking) Take a look at this tutorial that goes through and explains the inner workings of Kubernetes networking, including working with multiple networks. * [medium: Container Networking Interface aka CNI](https://medium.com/@vikram.fugro/container-networking-interface-aka-cni-bdfe23f865cf) +* [itnext.io: Benchmark results of Kubernetes network plugins (CNI) over 10Gbit/s network (Updated: August 2020)](https://itnext.io/benchmark-results-of-kubernetes-network-plugins-cni-over-10gbit-s-network-updated-august-2020-6e1b757b9e49) #### List of existing CNI Plugins (IPAM) - [Kubernetes Networking](https://kubernetes.io/docs/concepts/cluster-administration/networking/) @@ -921,9 +956,11 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509 ## 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) +- [sysdig.com: How to monitor etcd 🌟](https://sysdig.com/blog/monitor-etcd/) Learning how to monitor etcd is of vital importance when running Kubernetes in production. Monitoring etcd will let you validate that things work as expected, while detecting and troubleshooting issues that could take your entire infrastructure down. ## Kubernetes Storage -[Cloud Native Storage](storage.md) +- [Cloud Native Storage](storage.md) +* [itnext.io: Kubernetes: PersistentVolume and PersistentVolumeClaim β€” an overview with examples](https://itnext.io/kubernetes-persistentvolume-and-persistentvolumeclaim-an-overview-with-examples-3c5688222f99) ### Kubernetes Volumes Guide - [Filesystem vs Volume vs Persistent Volume 🌟](https://matthewpalmer.net/kubernetes-app-developer/articles/kubernetes-volumes-example-nfs-persistent-volume.html) @@ -971,6 +1008,7 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509 * [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/) +* [daveops.xyz: Administrar usuarios en EKS](https://daveops.xyz/2020/08/25/administrar-usuarios-en-eks/) ### GCP & GKE - [Fetches all Primitive and Predefined GCP IAM Roles](https://github.com/darkbitio/gcp-iam-role-permissions) @@ -1160,6 +1198,7 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops ## Kubernetes interview questions - [Kubernetes Interview Questions and Answers 2019 2020](https://linux.amitmaheshwari.in/2019/11/kubernetes-interview-questions-and.html) - [intellipaat.com: Top Kubernetes Interview Questions and Answers](https://intellipaat.com/blog/interview-question/kubernetes-interview-questions-answers/) +- [automationreinvented.blogspot.com: Top 11 Kubernetes interview question and answers for SDET Devops QA SET-01?](https://automationreinvented.blogspot.com/2020/09/top-11-kubernetes-interview-question.html) ## Spanish Kubernetes Blogs - [returngis.net by @0GiS0](https://www.returngis.net/) @@ -1181,6 +1220,9 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops
+## Kubernetes Scripts +- [Kubernetes Scripts 🌟](https://github.com/eldada/kubernetes-scripts) + ## Videos
diff --git a/docs/linux.md b/docs/linux.md index cb10745b..bff6aa6f 100644 --- a/docs/linux.md +++ b/docs/linux.md @@ -76,6 +76,7 @@ - [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) +- [freecodecamp.org: RSync Examples – Rsync Options and How to Copy Files Over SSH](https://www.freecodecamp.org/news/rsync-examples-rsync-options-and-how-to-copy-files-over-ssh/) ### 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. @@ -123,6 +124,7 @@ - [Linux networking examples and tutorials for advanced users](https://github.com/knorrie/network-examples) Includes lab examples for lxc, bgp, vpn, & more - [blog.pandorafms.org: Useful Network commands](https://blog.pandorafms.org/network-commands/) VNStat, ping, traceroute, ping, arp, curl and wget, netstat, whois, ssh, tcpdump, ngrep, nmap, netcat, lsof, iptraf - [Diferencias entre servidor proxy y servidor proxy inverso](https://www.redeszone.net/tutoriales/servidores/diferencias-proxy-vs-proxy-inverso/) +- [cyberciti.biz: Linux ip Command Examples](https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/) --- diff --git a/docs/message-queue.md b/docs/message-queue.md index fea32131..e05143c1 100644 --- a/docs/message-queue.md +++ b/docs/message-queue.md @@ -171,6 +171,7 @@ comsysto about their usage of Debezium, touching on many details like outbox pat - [Red Hat **AMQ streams** (kafka): Simplify Apache Kafka on Red Hat OpenShift](https://www.redhat.com/en/resources/amq-streams-datasheet) - [Set up **Red Hat AMQ Streams** custom certificates on OpenShift](https://developers.redhat.com/blog/2020/04/01/set-up-red-hat-amq-streams-custom-certificates-on-openshift-update/) - [speakerdeck.com: Apache Kafka with Red Hat AMQ Streams 🌟](https://speakerdeck.com/mabulgu/apache-kafka-with-red-hat-amq-streams) +- [HTTP-based Kafka messaging with Red Hat AMQ Streams](https://developers.redhat.com/blog/2020/08/04/http-based-kafka-messaging-with-red-hat-amq-streams/#more-720187)
[![AMQ in a nutshell](images/AMQ.png)](https://developers.redhat.com/products/amq/overview) diff --git a/docs/monitoring.md b/docs/monitoring.md index 8998c9eb..6862aa20 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -13,6 +13,7 @@ - [Prometheus Storage](#prometheus-storage) - [Scalability, High Availability (HA) and Long-Term Storage](#scalability-high-availability-ha-and-long-term-storage) - [Storage Solutions for Prometheus](#storage-solutions-for-prometheus) + - [InfluxDB & InfluxDB Templates](#influxdb--influxdb-templates) - [Collectors. Software exposing Prometheus metrics](#collectors-software-exposing-prometheus-metrics) - [Prometheus Exporters. Plug-in architecture and extensibility with Prometheus Exporters (collectors)](#prometheus-exporters-plug-in-architecture-and-extensibility-with-prometheus-exporters-collectors) - [Prometheus Exporters Development. Node Exporter](#prometheus-exporters-development-node-exporter) @@ -42,6 +43,7 @@ - [JMeter Example Test Plans](#jmeter-example-test-plans) - [Kibana](#kibana) - [Prometheus and Grafana Interactive Learning](#prometheus-and-grafana-interactive-learning) +- [Logging & Centralized Log Management](#logging--centralized-log-management) - [Performance](#performance) - [List of Performance Analysis Tools](#list-of-performance-analysis-tools) - [Thread Dumps. Debugging Java Applications](#thread-dumps-debugging-java-applications) @@ -56,6 +58,7 @@ - [Red Hat AMQ 7 Broker Monitoring solutions based on Prometheus and Grafana](#red-hat-amq-7-broker-monitoring-solutions-based-on-prometheus-and-grafana) - [Serverless Monitoring](#serverless-monitoring) - [Distributed Tracing in Apache Beam](#distributed-tracing-in-apache-beam) +- [Krossboard Converged Kubernetes usage analytics](#krossboard-converged-kubernetes-usage-analytics) - [Other Awesome Lists](#other-awesome-lists) ## Monitoring @@ -64,6 +67,7 @@ * [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. +* [sysdig.com: Seven Kubernetes monitoring best practices every monitoring solution should enable](https://sysdig.com/blog/kubernetes-monitoring-best-practices/) ### Key Performance Indicator (KPI) * [KPIs](https://kpi.org/KPI-Basics) @@ -206,15 +210,18 @@ OpenShift Cluster Monitoring components cannot be extended since they are read o * Thanos stores time series data in an object store like AWS S3, Google Cloud Storage, etc. Thanos pushes metrics through a side-car container from each Prometheus server through the gRPC store API to the query service in order to provide a global query view. * [github.com/ruanbekker: Thanos Cluster Setup](https://github.com/ruanbekker/thanos-cluster-setup) How to deploy a HA Prometheus setup with Unlimited Data Retention Capabilities on aws cloud S3 with Thanos Metrics. * [Highly Available Prometheus Metrics for Distributed SQL with Thanos on GKE](https://blog.yugabyte.com/highly-available-prometheus-metrics-for-distributed-sql-with-thanos-on-gke/) -* [**InfluxDB**:](https://www.influxdata.com/) An [open-source time series database (TSDB)](https://en.wikipedia.org/wiki/Time_series_database) developed by InfluxData. It is written in [Go](https://en.wikipedia.org/wiki/Go_(programming_language)) and optimized for fast, high-availability storage and retrieval of [time series](https://en.wikipedia.org/wiki/Time_series) data in fields such as operations monitoring, application metrics, [Internet of Things](https://en.wikipedia.org/wiki/Internet_of_Things) sensor data, and real-time analytics. It also has support for processing data from [Graphite](https://en.wikipedia.org/wiki/Graphite_(software)). - * [en.wikipedia.org/wiki/InfluxDB](https://en.wikipedia.org/wiki/MIT_License) - * [influxdata.com: Building a Metrics & Alerts as a Service (MaaS) Monitoring Solution Using the InfluxDB Stack](https://www.influxdata.com/blog/building-a-metrics-alerts-as-a-service-maas-monitoring-solution-using-the-influxdb-stack/) - * [en.wikipedia.org/wiki/MIT_License](https://en.wikipedia.org/wiki/MIT_License) - * [dzone: Flux queries](https://dzone.com/articles/flux-windowing-and-aggregation) New language being developed at InfluxData. -* [**M3**:](https://www.m3db.io/) An open source, large-scale metrics platform developed by Uber. It has its own time series database, M3DB. Like Thanos, M3 also uses a side-car container to push the metrics to the DB. -In addition, it supports metric deduplication and merging, and provides distributed query support. +* [**M3**:](https://www.m3db.io/) An open source, large-scale metrics platform developed by Uber. It has its own time series database, M3DB. Like Thanos, M3 also uses a side-car container to push the metrics to the DB. In addition, it supports metric deduplication and merging, and provides distributed query support. Although it's exciting to see attempts to address the challenges of running Prometheus at scale, these are very young projects that are not widely used yet. +##### InfluxDB & InfluxDB Templates +* [**InfluxDB**:](https://www.influxdata.com/) An [open-source time series database (TSDB)](https://en.wikipedia.org/wiki/Time_series_database) developed by InfluxData. It is written in [Go](https://en.wikipedia.org/wiki/Go_(programming_language)) and optimized for fast, high-availability storage and retrieval of [time series](https://en.wikipedia.org/wiki/Time_series) data in fields such as operations monitoring, application metrics, [Internet of Things](https://en.wikipedia.org/wiki/Internet_of_Things) sensor data, and real-time analytics. It also has support for processing data from [Graphite](https://en.wikipedia.org/wiki/Graphite_(software)). +* [en.wikipedia.org/wiki/InfluxDB](https://en.wikipedia.org/wiki/MIT_License) +* [influxdata.com: Building a Metrics & Alerts as a Service (MaaS) Monitoring Solution Using the InfluxDB Stack](https://www.influxdata.com/blog/building-a-metrics-alerts-as-a-service-maas-monitoring-solution-using-the-influxdb-stack/) +* [en.wikipedia.org/wiki/MIT_License](https://en.wikipedia.org/wiki/MIT_License) +* [dzone: Flux queries](https://dzone.com/articles/flux-windowing-and-aggregation) New language being developed at InfluxData. +* [influxdb-templates](https://www.influxdata.com/products/influxdb-templates/) Build and share InfluxDB templates for monitoring solutions that deliver faster time to awesome. + * [thenewstack.io: Make a GitOps Workflow Using InfluxDB Templates](https://thenewstack.io/make-a-gitops-workflow-using-influxdb-templates/) + ### Collectors. Software exposing Prometheus metrics #### Prometheus Exporters. Plug-in architecture and extensibility with Prometheus Exporters (collectors) @@ -323,6 +330,7 @@ Although it's exciting to see attempts to address the challenges of running Prom * [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/) +* [CISCO DNA Center with Grafana Dashboard](https://hawar.no/2020/09/cisco-dna-center-with-grafana-dashboard/) Monitored Component|Collector|Dashboard Number|URL :------------------|:-------|:---------------|------------ @@ -711,6 +719,9 @@ JMeter|Artemis Grafana|Artemis Dashboard * [katacoda.com: Getting Started with Prometheus](https://www.katacoda.com/courses/prometheus/getting-started) * [katacoda.com: Creating Dashboards with Grafana](https://www.katacoda.com/courses/prometheus/creating-dashboards-with-grafana) +## Logging & Centralized Log Management +- [devops.com: How Centralized Log Management Can Save Your Company](https://devops.com/how-centralized-log-management-can-save-your-company/) + ## Performance * [dzone.com: The Keys to Performance Tuning and Testing](https://dzone.com/articles/the-keys-to-performance-tuning-and-testing) * [dzone.com: How Performance Tuning and Testing are Changing](https://dzone.com/articles/how-performance-tuning-and-testing-are-changing) @@ -856,6 +867,7 @@ done - Solutions: Deploy a higher version of [Elasticsearch + Kibana](https://hub.docker.com/_/elasticsearch) on a new Project dedicated to Elastic APM; or setup an Elastic Cloud account. - [Elastic APM Server Docker image](https://github.com/sls-dev1/openshift-elastic-apm-server) (β€œoss” & openshift compliant). - [elastic.co: Using the Elastic APM Java Agent on Kubernetes](https://www.elastic.co/blog/using-elastic-apm-java-agent-on-kubernetes-k8s) +- [Monitoring Java applications with Elastic: Getting started with the Elastic APM Java Agent](https://www.elastic.co/blog/monitoring-java-applications-and-getting-started-with-the-elastic-apm-java-agent) ![Elastic APM](images/elasticapm.png) @@ -908,6 +920,10 @@ OpenShift 3|Prometheus JMX Exporter|**Grafana Dashboard not available**, [ref1]( - [Apache Beam](https://beam.apache.org/) - [A Distributed Tracing Adventure in Apache Beam](http://rion.io/2020/07/04/a-distributed-tracing-adventure-in-apache-beam/) +## Krossboard Converged Kubernetes usage analytics +- [Krossboard](https://krossboard.app/) All in one single place, Krossboard tracks the usage of all your clusters over time, it helps forecast capacity scale up/down, thereby enabling you to easily anticipate and master operations costs. +- [Krossboard: A centralized usage analytics approach for multiple Kubernetes](https://itnext.io/in-search-of-converged-usage-analytics-for-multiple-managed-kubernetes-c5108cb7f0e1) + ## Other Awesome Lists - [Awesome APM](https://github.com/antonarhipov/awesome-apm) diff --git a/docs/ocp3.md b/docs/ocp3.md index fa077875..48f104b9 100644 --- a/docs/ocp3.md +++ b/docs/ocp3.md @@ -41,6 +41,7 @@ * [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) +* [thenewstack.io: Using Chaos Engineering to Improve the Resilience of Stateful Applications on Kubernetes](https://thenewstack.io/using-chaos-engineering-to-improve-the-resilience-of-stateful-applications-on-kubernetes/) ## 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 e7268df9..02db07c7 100644 --- a/docs/ocp4.md +++ b/docs/ocp4.md @@ -1,5 +1,6 @@ # OCP 4 - [OpenShift Container Platform 4 (OCP 4)](#openshift-container-platform-4-ocp-4) + - [Setting up OCP4 on AWS](#setting-up-ocp4-on-aws) - [Downloads](#downloads) - [OpenShift End-to-End. Day 0, Day 1 & Day 2](#openshift-end-to-end-day-0-day-1--day-2) - [OCP 4 Overview](#ocp-4-overview) @@ -75,6 +76,12 @@ * [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) +* [thenewstack.io: Red Hat Launches an OpenShift-Based Marketplace to Aid Multicloud Portability 🌟](https://thenewstack.io/red-hat-launches-an-openshift-based-marketplace-to-aid-multicloud-portability/) +* [openshift.com: OpenShift UPI using static IPs](https://www.openshift.com/blog/openshift-upi-using-static-ips) + +### Setting up OCP4 on AWS +* [AWS Account Set Up 🌟](https://github.com/openshift/installer/blob/master/docs/user/aws/README.md)). +* [OpenShift 4 on AWS Quick Starts 🌟](https://aws.amazon.com/blogs/opensource/openshift-4-on-aws-quick-start/)
[![OCP 4 Architecture](images/ocp4_arch.png)](https://www.openshift.com/blog/enterprise-kubernetes-with-openshift-part-one) @@ -378,6 +385,7 @@ oc logs --namespace=openshift-ingress-operator deployments/ingress-operator - [prometheus.io/docs/alerting/alertmanager/](https://prometheus.io/docs/alerting/alertmanager/) #### Cluster Logging (EFK) +- [thenewstack.io: Log Management for Red Hat OpenShift](https://thenewstack.io/log-management-for-red-hat-openshift/) - EFK: Elasticsearch + Fluentd + Kibana - Cluster Logging EFK **not deployed by default** - As an OpenShift Container Platform cluster administrator, you can deploy cluster logging to aggregate logs for a range of OpenShift Container Platform services. @@ -464,6 +472,7 @@ oc login * [learn.openshift.com](https://learn.openshift.com/) * [OpenShift 4.4](https://learn.openshift.com/playgrounds/openshift44) * [learn.crunchydata.com](https://learn.crunchydata.com/) +* [Red Hat Shares ― Learning Kubernetes](https://www.redhat.com/en/blog/red-hat-shares-%E2%80%95-learning-kubernetes) ## OpenShift 4 Roadmap * [blog.openshift.com: OpenShift 4 Roadmap (slides) - this link may change](https://assets.openshift.com/hubfs/Commons-London-OpenShift-Container-Platform-4.3-Roadmap.pdf) @@ -523,6 +532,8 @@ oc login * [dzone: Code Ready Containers - Decision Management Developer Tools Update](https://dzone.com/articles/code-ready-containers-decision-management-develope) * [Overview: running crc on a remote server](https://gist.github.com/tmckayus/8e843f90c44ac841d0673434c7de0c6a) * [dzone: Code Ready Containers: Installing Process Automation](https://dzone.com/articles/code-ready-containers-installing-process-automatio) Learn how to make better use of Red Hat's Code Ready Containers platform by installing process automation from a catalog. +* [developers.redhat.com: How to install CodeReady Workspaces in a restricted OpenShift 4 environment](https://developers.redhat.com/blog/2020/06/12/how-to-install-codeready-workspaces-in-a-restricted-openshift-4-environment/) +* [Install Red Hat OpenShift Operators on your laptop using Red Hat CodeReady Containers and Red Hat Marketplace](https://developers.redhat.com/blog/2020/09/09/install-red-hat-openshift-operators-on-your-laptop-using-red-hat-codeready-containers-and-red-hat-marketplace/) ## OpenShift Hive: Cluster-as-a-Service. Easily provision new PaaS environments for developers * [blog.openshift.com: openshift hive cluster as a service](https://blog.openshift.comopenshift-hive-cluster-as-a-service/) @@ -598,8 +609,9 @@ oc login * [operatorhub.io/operator/quay](https://operatorhub.io/operator/quay) ## 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. +- [Red Hat Application Migration Toolkit](https://developers.redhat.com/products/mta/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 ...) +- [Migrate your Java apps to containers with Migration Toolkit for Applications 5.0](https://developers.redhat.com/blog/2020/09/04/migrate-your-java-apps-to-containers-with-migration-toolkit-for-applications-5-0/#more-768337) ## 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/openshift-pipelines.md b/docs/openshift-pipelines.md index 4a6023e6..2dceebe1 100644 --- a/docs/openshift-pipelines.md +++ b/docs/openshift-pipelines.md @@ -13,7 +13,8 @@ - [ODO - OpenShift Command line for Developers](#odo---openshift-command-line-for-developers) - [OpenShift Pipelines](#openshift-pipelines) - [Jenkins CICD Getting started with Groovy and Docker Containers](#jenkins-cicd-getting-started-with-groovy-and-docker-containers) - - [Fabric8 Pipeline Library](#fabric8-pipeline-library) + - [Fabric8 Pipeline Library (deprecated)](#fabric8-pipeline-library-deprecated) + - [Eclipse Jkube Pipeline Library (formerly known as Fabric8). Kubernetes & OpenShift Maven Plugins](#eclipse-jkube-pipeline-library-formerly-known-as-fabric8-kubernetes--openshift-maven-plugins) - [Jenkins Pipelines with OpenShift 3](#jenkins-pipelines-with-openshift-3) - [OpenShift Jenkins Pipeline (DSL) Plugin. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax](#openshift-jenkins-pipeline-dsl-plugin-scripted-syntax-groovy-dsl-syntax-vs-declarative-syntax) - [Red Hat Communities of Practice](#red-hat-communities-of-practice) @@ -79,7 +80,7 @@ * [medium: Jenkins CICD Getting started with Groovy and Docker Containers β€” Part 1](https://blog.isaack.io/articles/2016-08/Jenkins-CICD-Getting-Started-With-Groovy-Part-1) * [medium: Jenkins CICD Getting started with Groovy and Docker Containers β€” Part 2](https://medium.com/@fvtool/jenkins-cicd-getting-started-with-groovy-and-docker-containers-part-2-b03a1b934a49) -### Fabric8 Pipeline Library +### Fabric8 Pipeline Library (deprecated) * [Fabric8](https://fabric8.io/) has been available as a Java client for Kubernetes since 2015, and today is one of the most popular client libraries for Kubernetes (the most popular is [client-go](https://github.com/kubernetes/client-go), which is the client library for the Go programming language on Kubernetes). In recent years, **fabric8 has evolved from a Java client for the Kubernetes REST API to a full-fledged alternative to the kubectl command-line tool for Java-based development**. * [developers.redhat.com: Getting started with the fabric8 Kubernetes Java client](https://developers.redhat.com/blog/2020/05/20/getting-started-with-the-fabric8-kubernetes-java-client/) * [CI/CD with fabric8](http://fabric8.io/guide/cdelivery.html) @@ -87,6 +88,10 @@ * [medium - fabric8, please check out jenkins X instead](https://medium.com/@jstrachan/fabric8-please-check-out-jenkins-x-instead-8295a025173a) * [github - fabric8, maven plugin](https://github.com/fabric8io/fabric8-maven-plugin ) +### Eclipse Jkube Pipeline Library (formerly known as Fabric8). Kubernetes & OpenShift Maven Plugins +* [Eclipse JKube 🌟](https://www.eclipse.org/jkube/) Cloud-Native Java Applications without a hassle. Eclipse JKube is a collection of plugins and libraries that are used for building container images using Docker, JIB or S2I build strategies. Eclipse JKube generates and deploys Kubernetes/OpenShift manifests at compile time too. It brings your Java applications on to Kubernetes and OpenShift by leveraging the tasks required to make your application cloud-native. Eclipse JKube also provides a set of tools such as watch, debug, log, etc. to improve your developer experience. +* [Github: Eclipse Jkube](https://github.com/eclipse/jkube) + ### Jenkins Pipelines with OpenShift 3 * [slideshare.net: CI/CD with Openshift and Jenkins 🌟](https://www.slideshare.net/arilivigni/cicd-with-openshift-and-jenkins) * [github - using jenkins pipelines with OKD](https://github.com/openshift/origin/tree/master/examples/jenkins/pipeline) diff --git a/docs/project-management-methodology.md b/docs/project-management-methodology.md index f5b9d284..25e866a2 100644 --- a/docs/project-management-methodology.md +++ b/docs/project-management-methodology.md @@ -13,6 +13,7 @@ - [dzone: Top 40 Project Management Terms and Concepts of 2019](https://dzone.com/articles/top-40-project-management-terms-and-concepts-of-20) - [dzone: 7 Project Management Basics](https://dzone.com/articles/7-project-management-basics-for-lifetime) Whether you're just starting out or are a career PM, these rules should never leave your mind. - [scrum.org: Scrum no es una metodologΓ­a, es un marco de trabajo](https://www.scrum.org/resources/blog/scrum-no-es-una-metodologia-es-un-marco-de-trabajo) +- [scrum.org: Posturas del Product Owner](https://www.scrum.org/resources/blog/posturas-del-product-owner) ### Team Topologies - [The Problem With Org Charts](https://itrevolution.com/the-problem-with-org-charts/) diff --git a/docs/project-management-tools.md b/docs/project-management-tools.md index b296da58..ab13be7b 100644 --- a/docs/project-management-tools.md +++ b/docs/project-management-tools.md @@ -6,4 +6,5 @@ - [Atlassian Confluence](https://www.atlassian.com/software/confluence) ## Alternatives -- [32 Best Jira Alternatives For Agile Project Management Teams In 2020 [Free and Paid]](https://dzone.com/articles/32-best-jira-alternatives-for-agile-project-manage) \ No newline at end of file +- [32 Best Jira Alternatives For Agile Project Management Teams In 2020 [Free and Paid]](https://dzone.com/articles/32-best-jira-alternatives-for-agile-project-manage) +- [Best Project Management Software of 2020](https://neilpatel.com/blog/best-project-management-software/) \ No newline at end of file diff --git a/docs/rancher.md b/docs/rancher.md index dfcc3050..91483d3b 100644 --- a/docs/rancher.md +++ b/docs/rancher.md @@ -24,6 +24,8 @@ * [zdnet.com: Rancher Labs closes $40M funding round to "run Kubernetes everywhere"](https://www.zdnet.com/article/rancher-labs-closes-40m-funding-round-to-run-kubernetes-everywhere/) The six year-old startup is going after new markets that want to run Kubernetes clusters at the edge. * [medium: Quick Fix: Mounting a ConfigMap to an Existing Volume in Kubernetes Using Rancher](https://medium.com/swlh/quick-fix-mounting-a-configmap-to-an-existing-volume-in-kubernetes-using-rancher-d01c472a10ad) * [Deploy a Rancher Cluster with GitLab CI and Terraform](https://rancher.com/blog/2020/deploy-with-gitlab-ci) +* [Faster Kubernetes Development with Rancher, DevSpace and Loft](https://rancher.com/blog/2020/faster-kubernetes-development-rancher-devspace-loft) +* [Multi-Cluster Vulnerability Scanning with Alcide and Rancher](https://rancher.com/blog/2020/multi-cluster-vulnerability-scanning-alcide-rancher)
[![rancher architecture](images/rancher.png)](https://www.youtube.com/watch?v=2LNxGVS81mE) @@ -52,6 +54,7 @@ * [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! +* [thenewstack.io: How K3s, Portworx, and Calico Can Serve as a Foundation of Cloud Native Edge Infrastructure](https://thenewstack.io/how-k3s-portworx-and-calico-can-serve-as-a-foundation-of-cloud-native-edge-infrastructure/) ### K3S Use Cases - [K3S Use Cases](https://www.youtube.com/watch?v=2LNxGVS81mE): diff --git a/docs/selenium-appium-zephyr.md b/docs/selenium-appium-zephyr.md index 5f03ae9d..8c292c17 100644 --- a/docs/selenium-appium-zephyr.md +++ b/docs/selenium-appium-zephyr.md @@ -17,6 +17,7 @@ - [Dzone: best practices for selenium automation](https://dzone.com/articles/best-practices-for-selenium-automation-one-must-kn) - [Dzone: top 11 challenges in autmation testing using selenium](https://dzone.com/articles/top-11-challenges-in-automation-testing-using-sele) - [youtube: execution test Selenium + Grafana + Jenkins](https://www.youtube.com/watch?v=vDj5IsWjU0A) +- [lambdatest.com: Why Selenium Grid Is Ideal For Automated Browser Testing?](https://www.lambdatest.com/blog/why-selenium-grid-is-ideal-for-automated-browser-testing/) ## Mobile Tests ### Appium diff --git a/docs/serverless.md b/docs/serverless.md index 8516dc1c..45a89be2 100644 --- a/docs/serverless.md +++ b/docs/serverless.md @@ -17,6 +17,8 @@ * [itnext.io: Scaling My App: Serverless vs Kubernetes 🌟](https://itnext.io/scaling-my-app-serverless-vs-kubernetes-cdb8adf446e1) * [serverless.com: Comparisons - Serverless vs. other tools](https://www.serverless.com/learn/comparisons/) * [Is Serverless The End Of Kubernetes?](https://towardsdatascience.com/kubernetes-serverless-differences-84699f370609) A comparison of both technologies to stop the debate about what is better. +* [freecodecamp.org: Serverless is cheaper, not simpler](https://www.freecodecamp.org/news/serverless-is-cheaper-not-simpler-a10c4fc30e49/) +* [medium: What a typical 100% Serverless Architecture looks like in AWS!](https://medium.com/serverless-transformation/what-a-typical-100-serverless-architecture-looks-like-in-aws-40f252cd0ecb) ### FaaS: Function as a Service * [wikipedia: FaaS Function as a Service](https://en.wikipedia.org/wiki/Function_as_a_service) @@ -62,6 +64,7 @@ ## Popular Deployment Frameworks for AWS Lambda * [lumigo.io: AWS Lambda Deployment Frameworks Compared](https://lumigo.io/blog/comparison-of-lambda-deployment-frameworks/) +* [thenewstack.io: Build a Serverless API with AWS Gateway and Lambda](https://thenewstack.io/build-a-serverless-api-with-aws-gateway-and-lambda/)
[![Serverless](images/from-monolith-to-serverless.jpg)](https://www.xenonstack.com/blog/serverless-openfaas-java/) diff --git a/docs/terraform.md b/docs/terraform.md index 768a431b..d016ba62 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -1,6 +1,7 @@ # Hashicorp Packer & Terraform - [Packer](#packer) - [Terraform](#terraform) + - [Terraform Infracost](#terraform-infracost) - [Awesome Terraform](#awesome-terraform) - [Terraform Cheat Sheets](#terraform-cheat-sheets) - [Best Practices](#best-practices) @@ -44,6 +45,10 @@ * [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/) +* [dzone: Immutable Infrastructure CI/CD Using Hashicorp Terraform and Jenkins](https://dzone.com/articles/immutable-infrastructure-cicd-using-hashicorp-terr) This extensive article should leave few questions unanswered about creating your infrastructure. + +### Terraform Infracost +- [Infracost](https://github.com/infracost/infracost) If you use Terraform to provision your Kubernetes clusters, you might find infracost interesting. Infracost estimates hourly and monthly costs for a Terraform project. It helps you to see the cost breakdown and compare different deployment options upfront ### Awesome Terraform * [github.com/shuaibiyy/awesome-terraform](https://github.com/shuaibiyy/awesome-terraform) diff --git a/docs/visual-studio.md b/docs/visual-studio.md index 5395567a..dccb50ca 100644 --- a/docs/visual-studio.md +++ b/docs/visual-studio.md @@ -27,6 +27,7 @@ * [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/) +* [A multi-step tutorial that covers the basics of working with Docker with Visual Studio Code and deploy on Azure](https://docs.microsoft.com/en-us/visualstudio/docker/tutorials/docker-tutorial) ### Updates * [VSCode Updates](https://code.visualstudio.com/updates) @@ -139,6 +140,8 @@ A simple extension to make indentation more readable ## 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/) +- [piotrminkowski.com: Development on Kubernetes: IDE & TOOLS](https://piotrminkowski.com/2020/08/03/development-on-kubernetes-ide-tools/) In this article, you will learn what tools, frameworks, and platforms could help you to speed up the development of JVM microservices on Kubernetes. +- [openshift.com: Visual Web Terminal - A Turbocharged Command Line for Kubernetes and OpenShift](https://www.openshift.com/blog/visual-web-terminal-a-turbocharged-command-line-for-kubernetes-and-openshift) ## Videos