Network - Kulichanin/speedtest GitHub Wiki

Network k8s for speedtest

Внешние IP адреса для сервиса ExternalIP LoadBalancer

Проблема! k8s в варианте self-host не умеют получать внешние ip для сервисов

Решение! Для решения подходит MetalLB с возможностью bgp

Неплохой howto, также разбор в kube_13

Install mettallb

You can achieve this by editing kube-proxy config in current cluster:

kubectl edit configmap -n kube-system kube-proxy

and set:

apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"
ipvs:
  strictARP: true

Installation with Helm

helm repo add metallb https://metallb.github.io/metallb
helm install --namespace metallb-system --create-namespace metallb metallb/metallb

Config address poll and LoadBalancer IPs provided by the selected pools via L2

Configuration address pool

apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: ippool-ns-service
  namespace: metallb-system
spec:
  addresses:
    - 192.168.1.90-192.168.1.110

Configuration Layer2 Advertisement which allows MetalLB to advertise the LoadBalancer IPs provided by the selected pools via L2

apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: l2-pool
  namespace: metallb-system
spec:
  ipAddressPools:
  - ippool-ns-service

Внешений ingress IP

Проблема! Соотвествие dns имени и ip адресса

Решение! Пока не понятно зачем, если dns у нас в локальной сети и нет

Работа приложения

Проблема! Приложение собрано под docker-compose

Решение! Собрать приложение в один большой container APP(PHP+NGINX)

Пример Пример с оф сайта деплоя php with reddis

База должна быть весть отдельно?