devsecops_и_промышленные_решения

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
devsecops_и_промышленные_решения [2026/02/21 11:44]
val [2.3 Стратегии развертывания и масштабирование нагрузки]
devsecops_и_промышленные_решения [2026/03/16 10:47] (current)
val [2.4 ArgoCD и универсальный Helm Chart]
Line 120: Line 120:
   * [[Система Kubernetes#​MetalLB]]   * [[Система Kubernetes#​MetalLB]]
   * [[Система Kubernetes#​Установка Helm]]   * [[Система Kubernetes#​Установка Helm]]
 +
 +  * [[Как и чем заменить Ingress NGINX]]
   * [[Система Kubernetes#​traefik]]   * [[Система Kubernetes#​traefik]]
  
Line 236: Line 238:
   * Для демонстрации OpenID можно создать УЗ user1 через [[Инструмент GitLab#REST API интерфейс]] и связать через [[Инструмент GitLab#​Клиент OpenID]]   * Для демонстрации OpenID можно создать УЗ user1 через [[Инструмент GitLab#REST API интерфейс]] и связать через [[Инструмент GitLab#​Клиент OpenID]]
  
-==== 2.3 ArgoCD ​и универсальный Helm Chart ====+==== 2.3 Стратегии развертывания и масштабирование нагрузки ​==== 
 + 
 +  * htwebd A 192.168.X.66
  
-  * [[Как и чем заменить Ingress NGINX]] 
   * [[Система Kubernetes#​Deployment]]   * [[Система Kubernetes#​Deployment]]
-  * [[Система Kubernetes#​Service]] 
  
 <​code>​ <​code>​
Line 251: Line 253:
                 cd /​usr/​local/​apache2/​htdocs/​                 cd /​usr/​local/​apache2/​htdocs/​
                 echo "<​h1>​Hello from htwebd on $(hostname) ver1.1</​h1>"​ > index.html                 echo "<​h1>​Hello from htwebd on $(hostname) ver1.1</​h1>"​ > index.html
-</​code>​<​code>​ +</​code>​
-kube1:​~/​traefik#​ kubectl get ingressclasses+
  
-kube1:​~/​webd-k8scat my-ingressroute.yaml +  * [[Система Kubernetes#Service]]
-</​code><​code>​ +
-apiVersion: traefik.io/​v1alpha1 +
-kind: IngressRoute +
-metadata: +
-  name: my-ingressroute +
-spec: +
-  entryPoints:​ +
-    - web +
-  routes: +
-    - match: Host(`htwebd.corpX.un`) +
-      kind: Rule +
-      services: +
-        - name: my-webd +
-          port: 80 +
-</​code><​code>​ +
-kube1:​~/​traefik#​ kubectl get gatewayclasses+
  
-kube1:​~/​traefikcat values.yaml +  * Можно показать и, затем удалить [[Система Kubernetes#Horizontal Pod Autoscaler]]
-</​code><​code>​ +
-service: +
-  spec: +
-    loadBalancerIP:​ "​192.168.X.64"​ +
-providers:​ +
-  kubernetesGateway:​ +
-    enabled: true +
-gateway: +
-  listeners:​ +
-    web: +
-      namespacePolicy:​ +
-        from: All +
-ingressRoute:​ +
-  dashboard:​ +
-    enabled: true +
-    matchRule: Host(`dashboard-traefik.corpX.un`) +
-    entryPoints:​ +
-      - web+
  
-kube1:​~/​traefikhelm upgrade traefik traefik ​-f values.yaml --repo https://​traefik.github.io/​charts -n traefik --version 39.0.1+  * [[Система Kubernetes#cert-manager]] 
 +  * [[Система Kubernetes#​Gateway]] 
 +  * [[Система Kubernetes#​HTTPRoute]]
  
-kube1:​~/​webd-k8s# ​cat my-httproute.yaml +<​code>​ 
-apiVersion: gateway.networking.k8s.io/​v1 +kube1:​~/​webd-k8s# ​cp my-webd-deployment.yaml my-webd-deployment2.yaml 
-kind: HTTPRoute +kube1:~/webd-k8s# cp my-webd-service.yaml ​my-webd-service2.yaml 
-metadata: +...
-  name: my-httproute +
-spec: +
-  hostnames:​ +
-  ​htwebd.corpX.un +
-  ​parentRefs: +
-  ​name: traefik-gateway +
-    namespace: traefik +
-  rules: +
-  ​matches: +
-    - path: +
-        type: Exact +
-        value: / +
-    backendRefs:​ +
-    - name: my-webd +
-      port: 80+
 </​code>​ </​code>​
 +
 +  * [[Стратегии деплоя в Kubernetes]]
 +
 +==== 2.4 ArgoCD и универсальный Helm Chart ====
  
   * [[Универсальный Helm-чарт]]   * [[Универсальный Helm-чарт]]
 <​code>​ <​code>​
 +kube1:​~/​webd-k8s#​ kubectl delete ns my-ns
 +
 kube1:​~/​webd-k8s#​ curl -fsSL https://​val.bmstu.ru/​unix/​uni-webd-chart.tgz | tar xzvf - kube1:​~/​webd-k8s#​ curl -fsSL https://​val.bmstu.ru/​unix/​uni-webd-chart.tgz | tar xzvf -
  
-kube1:​~/​webd-k8s# ​cp -v my-httproute.yaml ​uni-webd-chart/​templates+kube1:​~/​webd-k8s# ​less uni-webd-chart/​values.yaml 
-</​code>​+</code><​code>​ 
 +... 
 +service: 
 +  port: 80 
 +... 
 +<​code>​</​code>​ 
 +kube1:​~/​webd-k8s#​ mkdir -p apps/​htwebd/​
  
-==== 2.4 Стратегии развертывания и масштабирование нагрузки ====+kube1:​~/​webd-k8s#​ cat apps/​htwebd/​values.yaml 
 +</​code><​code>​ 
 +hostname: htwebd
  
-  * [[Стратегии деплоя в Kubernetes]] +replicaCount:​ 2 
- +image: 
-<​code>​ +  repository: httpd 
-kube1:​~/​webd-k8s#​ cat my-general-httproute.yaml +</​code>​<​code>​ 
-apiVersion: gateway.networking.k8s.io/v1 +kube1:​~/​webd-k8s#​ cat env.yaml 
-kindHTTPRoute +</code><​code>​ 
-metadata: +domain: corpX.un 
-  name: y-general-httproute +</​code><​code>​ 
-spec: +kube1:~/webd-k8s# helm template ​my-htwebd uni-webd-chart/ ​-f apps/​htwebd/​values.yaml -f env.yaml
-  hostnames:​ +
-  - htwebd.corpX.un +
-  ​parentRefs:​ +
-  - name: traefik-gateway +
-    namespace: traefik +
-  rules: +
-  - matches: +
-    - path: +
-        type: Exact +
-        value: / +
-    backendRefs:​ +
-    ​name: my-webd +
-      port: 80 +
-      weight: 70 +
-    ​name: my-webd2 +
-      port: 80 +
-      weight: 30+
 </​code>​ </​code>​
 +
 +  * [[Универсальный Helm-чарт#​Добавляем lifecycle.postStart и Gateway API]]
  
  
devsecops_и_промышленные_решения.1771663473.txt.gz · Last modified: 2026/02/21 11:44 by val