From 55251c6b4d7ef31628ca9534cb573becccb39975 Mon Sep 17 00:00:00 2001 From: "(Bit-Mage)" Date: Mon, 14 Oct 2024 20:39:02 +0530 Subject: [PATCH] updates Signed-off-by: (Bit-Mage) --- Content/20231227160414-devops.org | 2 + Content/20240215121050-kubernetes.org | 8 +-- ...0240305152640-web_application_firewall.org | 2 + Content/20240704135955-monitoring.org | 2 + Content/20240728173428-flux.org | 3 ++ Content/20241014171415-storage_k8s.org | 52 +++++++++++++++++++ ...1014181713-container_runtime_interface.org | 5 ++ ...1014181722-container_network_interface.org | 5 ++ ...1014181728-container_storage_interface.org | 11 ++++ .../20241014182049-ephemeral_volumes_k8s.org | 8 +++ Content/20241014190456-benchmarking.org | 8 +++ Content/20241014190517-apache_bench.org | 8 +++ Content/20241014193051-traefik.org | 5 ++ Content/20241014203106-gitops.org | 14 +++++ .../20241014203604-custom_resources_k8s.org | 11 ++++ .../20241014203837-custom_controllers_k8s.org | 7 +++ 16 files changed, 148 insertions(+), 3 deletions(-) create mode 100644 Content/20241014171415-storage_k8s.org create mode 100644 Content/20241014181713-container_runtime_interface.org create mode 100644 Content/20241014181722-container_network_interface.org create mode 100644 Content/20241014181728-container_storage_interface.org create mode 100644 Content/20241014182049-ephemeral_volumes_k8s.org create mode 100644 Content/20241014190456-benchmarking.org create mode 100644 Content/20241014190517-apache_bench.org create mode 100644 Content/20241014193051-traefik.org create mode 100644 Content/20241014203106-gitops.org create mode 100644 Content/20241014203604-custom_resources_k8s.org create mode 100644 Content/20241014203837-custom_controllers_k8s.org diff --git a/Content/20231227160414-devops.org b/Content/20231227160414-devops.org index de7fab2..2fc9e67 100644 --- a/Content/20231227160414-devops.org +++ b/Content/20231227160414-devops.org @@ -30,6 +30,8 @@ A generic Flow : [[file:images/devops.png]] +* Relevant Nodes +** [[id:92efb858-8a87-40f6-bbcf-d736d0ffd942][GitOps]] * Resources ** blogs - https://www.kalzumeus.com/2010/12/12/staging-servers-source-control-deploy-workflows-and-other-stuff-nobody-teaches-you/ diff --git a/Content/20240215121050-kubernetes.org b/Content/20240215121050-kubernetes.org index 9d1f5cd..8ad1c5f 100644 --- a/Content/20240215121050-kubernetes.org +++ b/Content/20240215121050-kubernetes.org @@ -11,6 +11,8 @@ see [[id:f822f8f6-89eb-4aa8-ac8f-fdcff3f06fb9][Orchestration]] ** 0x22E3 - reading up on [[id:7cb8489b-2b84-4224-b3f9-9f5bf0f38cfe][autoscaling]] - see [[id:7f960631-c727-41b8-80c2-3ccaa4ae4ba2][Scheduling Algorithms]] & [[id:59305648-ed10-4298-be07-cd67f277f612][Scheduling-K8S]] + - building [[id:6693363c-a939-47bb-8900-5b1a6dc56c0c][Storage-K8S]] + - getting into [[id:73c378eb-6593-4479-bb6f-5d731ce203f2][Custom Resources-K8S]] ** 0x22E2 - reading https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/ @@ -36,10 +38,10 @@ see [[id:f822f8f6-89eb-4aa8-ac8f-fdcff3f06fb9][Orchestration]] - https://opencontainers.org/ - https://github.com/opencontainers *** Kubernetes Interfaces -**** Container Runtime Interface +**** [[id:3f197124-a252-4019-a821-332eb1e833fa][Container Runtime Interface]] - https://kubernetes.io/docs/concepts/architecture/cri/ -**** Container Network Interface -**** Container Storage Interface +**** [[id:6ca98606-217b-4741-97f8-d8f9f70a7d46][Container Network Interface]] +**** [[id:ce56c5a9-b31d-46db-b2b0-6c83fa6abf02][Container Storage Interface]] ** 0x22D5 - some quick indexes from container.training - internal dynamic dns: https://qconuk2019.container.training/#46 diff --git a/Content/20240305152640-web_application_firewall.org b/Content/20240305152640-web_application_firewall.org index cc4b495..dc9f8db 100644 --- a/Content/20240305152640-web_application_firewall.org +++ b/Content/20240305152640-web_application_firewall.org @@ -10,3 +10,5 @@ A DLP (Data Loss Prevention) module may be installed on the reverse proxy to add * Relevant Nodes ** Data Loss Prevention +* Cloud Native +** [[id:aad7cf70-154f-4198-ad2b-8e6cd40771aa][Traefik]] diff --git a/Content/20240704135955-monitoring.org b/Content/20240704135955-monitoring.org index dbac945..c9e1b9f 100644 --- a/Content/20240704135955-monitoring.org +++ b/Content/20240704135955-monitoring.org @@ -9,6 +9,8 @@ - collect, aggregate, and visualize data, enabling proactive issue identification and resolution. +* Relevant +** [[id:07566934-ed18-4b7e-858c-25b9fecd9f59][Benchmarking]] * Tools - [[id:55a62ff7-7160-4e6e-9bb5-0df996bf995e][Prometheus]] - [[id:c655ab1e-827c-446b-967b-473c0a34dc0d][InfluxDB]] diff --git a/Content/20240728173428-flux.org b/Content/20240728173428-flux.org index b22561b..ba21083 100644 --- a/Content/20240728173428-flux.org +++ b/Content/20240728173428-flux.org @@ -3,3 +3,6 @@ :END: #+title: Flux #+filetags: :cloud-native:cncf: + +* Resources +- https://fluxcd.io/flux/ diff --git a/Content/20241014171415-storage_k8s.org b/Content/20241014171415-storage_k8s.org new file mode 100644 index 0000000..f7ab6ff --- /dev/null +++ b/Content/20241014171415-storage_k8s.org @@ -0,0 +1,52 @@ +:PROPERTIES: +:ID: 6693363c-a939-47bb-8900-5b1a6dc56c0c +:END: +#+title: Storage-K8S +#+filetags: :k8s: + +* Overview +- Storage in Kubernetes provides both persistent and ephemeral storage options for applications. +- Storage abstraction in Kubernetes involves resources like Persistent Volumes (PV), Persistent Volume Claims (PVC), and Storage Classes to streamline provisioning and management. + +** Components of Kubernetes Storage + +- Persistent Volume (PV): + - Cluster storage provisioned by administrators or dynamically via storage classes. + - Functions independently of pod lifecycle with defined capacity and access mode. + +- Persistent Volume Claim (PVC): + - User-requested storage specifying size and access modes (ReadWriteOnce, ReadOnlyMany, ReadWriteMany). + - Binds to a PV that meets the claim’s specifications. + +- Storage Classes: + - Define different storage types and characteristics like replication and performance. + - Enable dynamic volume provisioning. + - Applications leverage StorageClass to align volumes with performance requirements. + +** Connection between PV, PVC, and Storage Classes + +- PVCs abstract storage for users; PVs represent the actual storage resource. +- Storage Classes offer templates for dynamically provisioning PVs based on application needs. +- Kubernetes provisions a PV automatically upon PVC creation that matches the desired StorageClass. + +** Considerations in Kubernetes Storage + +- Data Security: Implement encryption, access controls, and network policies. +- Storage Performance: Monitor IOPS, latency, and throughput relative to application demands. +- Backup and Recovery: Develop strategies and use tools for data recovery. +- Capacity Planning: Evaluate resource utilization and anticipate future needs for optimal storage allocation. + +** Approaches for Smarter Storage Management in K8S + +- Automate monitoring and alert systems for storage usage and performance metrics. +- Update Storage Classes regularly to incorporate new storage technology advancements. +- Design storage architecture with scalability and high availability in mind. +- checkout [[id:ce56c5a9-b31d-46db-b2b0-6c83fa6abf02][CSI]], for flexible storage classes +- also read up on non-persistent storage options ([[id:60916676-5582-4438-b24e-902d51cbd8e0][Ephemeral Volumes]]) + +* Resources +- https://kubernetes.io/docs/concepts/storage/ +- https://cloudian.com/guides/kubernetes-storage/kubernetes-storage-101-concepts-and-best-practices/ +- https://bluexp.netapp.com/blog/cvo-blg-kubernetes-storage-an-in-depth-look +- https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/ +- https://kubernetes.io/docs/concepts/storage/persistent-volumes/ diff --git a/Content/20241014181713-container_runtime_interface.org b/Content/20241014181713-container_runtime_interface.org new file mode 100644 index 0000000..df7c6a4 --- /dev/null +++ b/Content/20241014181713-container_runtime_interface.org @@ -0,0 +1,5 @@ +:PROPERTIES: +:ID: 3f197124-a252-4019-a821-332eb1e833fa +:END: +#+title: Container Runtime Interface +#+filetags: :k8s: diff --git a/Content/20241014181722-container_network_interface.org b/Content/20241014181722-container_network_interface.org new file mode 100644 index 0000000..27de725 --- /dev/null +++ b/Content/20241014181722-container_network_interface.org @@ -0,0 +1,5 @@ +:PROPERTIES: +:ID: 6ca98606-217b-4741-97f8-d8f9f70a7d46 +:END: +#+title: Container Network Interface +#+filetags: :k8s: diff --git a/Content/20241014181728-container_storage_interface.org b/Content/20241014181728-container_storage_interface.org new file mode 100644 index 0000000..ea2501c --- /dev/null +++ b/Content/20241014181728-container_storage_interface.org @@ -0,0 +1,11 @@ +:PROPERTIES: +:ID: ce56c5a9-b31d-46db-b2b0-6c83fa6abf02 +:END: +#+title: Container Storage Interface +#+filetags: :k8s: + + +* Resources +- https://kubernetes-csi.github.io/docs/introduction.html +- https://github.com/kubernetes/design-proposals-archive/blob/main/storage/container-storage-interface.md +- https://kubernetes.io/blog/2019/01/15/container-storage-interface-ga/ diff --git a/Content/20241014182049-ephemeral_volumes_k8s.org b/Content/20241014182049-ephemeral_volumes_k8s.org new file mode 100644 index 0000000..aa034f1 --- /dev/null +++ b/Content/20241014182049-ephemeral_volumes_k8s.org @@ -0,0 +1,8 @@ +:PROPERTIES: +:ID: 60916676-5582-4438-b24e-902d51cbd8e0 +:END: +#+title: Ephemeral Volumes-K8S +#+filetags: :k8s: + +* Resources +- https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/ diff --git a/Content/20241014190456-benchmarking.org b/Content/20241014190456-benchmarking.org new file mode 100644 index 0000000..88ac881 --- /dev/null +++ b/Content/20241014190456-benchmarking.org @@ -0,0 +1,8 @@ +:PROPERTIES: +:ID: 07566934-ed18-4b7e-858c-25b9fecd9f59 +:END: +#+title: Benchmarking +#+filetags: :cs:cloud: + +* Tools +** [[id:0472a2a4-99bb-46e7-a2ab-da094483f106][Apache Bench]] diff --git a/Content/20241014190517-apache_bench.org b/Content/20241014190517-apache_bench.org new file mode 100644 index 0000000..48c008d --- /dev/null +++ b/Content/20241014190517-apache_bench.org @@ -0,0 +1,8 @@ +:PROPERTIES: +:ID: 0472a2a4-99bb-46e7-a2ab-da094483f106 +:END: +#+title: Apache Bench +#+filetags: :tool:cs: + +* Resources +- https://httpd.apache.org/docs/2.4/programs/ab.html diff --git a/Content/20241014193051-traefik.org b/Content/20241014193051-traefik.org new file mode 100644 index 0000000..9365668 --- /dev/null +++ b/Content/20241014193051-traefik.org @@ -0,0 +1,5 @@ +:PROPERTIES: +:ID: aad7cf70-154f-4198-ad2b-8e6cd40771aa +:END: +#+title: Traefik +#+filetags: :k8s:cloud:cncf: diff --git a/Content/20241014203106-gitops.org b/Content/20241014203106-gitops.org new file mode 100644 index 0000000..f6ceb02 --- /dev/null +++ b/Content/20241014203106-gitops.org @@ -0,0 +1,14 @@ +:PROPERTIES: +:ID: 92efb858-8a87-40f6-bbcf-d736d0ffd942 +:END: +#+title: GitOps +#+filetags: :cs: + +* Overview + - practices towards managing infra and applications + - git as the single source of truth + +* Relevant Nodes +** [[id:60e66e66-d394-42e7-a624-303ddb295395][Flux]] +* Resources + - https://docs.gitlab.com/ee/user/clusters/agent/gitops.html diff --git a/Content/20241014203604-custom_resources_k8s.org b/Content/20241014203604-custom_resources_k8s.org new file mode 100644 index 0000000..b2d5f09 --- /dev/null +++ b/Content/20241014203604-custom_resources_k8s.org @@ -0,0 +1,11 @@ +:PROPERTIES: +:ID: 73c378eb-6593-4479-bb6f-5d731ce203f2 +:END: +#+title: Custom Resources-K8S +#+filetags: :k8s: + +For a truly declarative API (orchestrating current and desired states), also see [[id:0d5a5e8f-6b9f-4427-b60a-a3f93735b256][Custom Controllers-K8S]] + + +* Resources + - https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#custom-controllers diff --git a/Content/20241014203837-custom_controllers_k8s.org b/Content/20241014203837-custom_controllers_k8s.org new file mode 100644 index 0000000..9878c1e --- /dev/null +++ b/Content/20241014203837-custom_controllers_k8s.org @@ -0,0 +1,7 @@ +:PROPERTIES: +:ID: 0d5a5e8f-6b9f-4427-b60a-a3f93735b256 +:END: +#+title: Custom Controllers-K8S +#+filetags: :k8s: + +Work in conjunction with [[id:73c378eb-6593-4479-bb6f-5d731ce203f2][Custom Resources-K8S]]