INT 21h

Hi, I am Vladimir Smagin, SysAdmin and Kaptain. Telegram Email / GIT / RSS / GPG

Kubernetes: разделение post и get запросов из одного пути на разные сервисы

№ 11971 В разделе Sysadmin от April 11th, 2023,
В подшивках:

Логика очень простая, есть некоторый url api, который обрабатывает запросы для базы данных. Запросы на запись происходят долго, логика муторная и т.д. А вот запросы на чтение можно делать из другой базы данных после обработки полученных ранее данных. Вы приходите к выводу сделать 2 разных независимых сервиса, первый на запись, второй на чтение. Добиться штатными способами в кубере можно создав ingress ресурс, который имеет у себя 2 пути к 2 разным сервисам, помеченных как _post и _get, а также rewrite и условия по названию методов в сниппетах, записанных в аннотации. После того как придет запрос он согласно условию по имени метода будет перезаписан и передан на соответствующий путь, закрепленный за сервисом. Все легко и просто.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/configuration-snippet: |
      internal;
      rewrite ^ $original_uri break;
    nginx.ingress.kubernetes.io/server-snippet: |
      location /api/file {
        if ( $request_method = GET) {
          set $target_destination '/api/file/_get';
        }
        if ( $request_method = POST) {
          set $target_destination '/api/file/_post';
        }
        set $original_uri $uri;
        rewrite ^ $target_destination last;
      }
  name: simple-two-route
  namespace: test
spec:
  ingressClassName: nginx
  rules:
  - host: blindage.org
    http:
      paths:
      - backend:
          service:
            name: service-post
            port:
              number: 80
        path: /api/file/_post
        pathType: Exact
      - backend:
          service:
            name: service-get
            port:
              number: 80
        path: /api/file/_get
        pathType: Exact

Нет комментариев »

Kubernetes: увеличение лимита подов в microk8s

№ 11563 В разделе Sysadmin от March 16th, 2022,
В подшивках:

Нужно открыть файл с аргументами kubelet /var/snap/microk8s/current/args/kubelet и добавить туда новый лимит, например --max-pods=160. Вот тут можно почитать почему.

Потом делаем service snap.microk8s.daemon-kubelet restart чтобы кублет перезапустился.

Нет комментариев »

Vaultwarden fast start in Kubernetes

№ 11409. В разделе Sysadmin от November 2nd, 2021

В подшивках: ,

HashiCorp Vault fast start in Kubernetes

№ 11404. В разделе Sysadmin от November 2nd, 2021

В подшивках: , ,

Облачная платформа
Яндекс.Метрика

Fortune cookie: Today's spam: Are you a junky?