This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
система_kubernetes [2026/02/21 20:08] val [Ingress] |
система_kubernetes [2026/03/05 15:47] (current) val [Ingress] |
||
|---|---|---|---|
| Line 806: | Line 806: | ||
| # image: server.corpX.un:5000/student/webd:ver1.N | # image: server.corpX.un:5000/student/webd:ver1.N | ||
| # image: httpd | # image: httpd | ||
| + | # image: brndnmtthws/nginx-echo-headers | ||
| # args: ["gunicorn", "app:app", "--bind", "0.0.0.0:8000", "-k", "uvicorn.workers.UvicornWorker"] | # args: ["gunicorn", "app:app", "--bind", "0.0.0.0:8000", "-k", "uvicorn.workers.UvicornWorker"] | ||
| Line 1221: | Line 1222: | ||
| === ingress-traefik-controller === | === ingress-traefik-controller === | ||
| - | * [[#Traefik]] | + | * [[#Traefik]] (providers.kubernetesGateway.enabled: false) |
| === ingress example === | === ingress example === | ||
| Line 1311: | Line 1312: | ||
| </code> | </code> | ||
| + | ==== Gateway API ==== | ||
| + | |||
| + | * https://gateway-api.sigs.k8s.io/guides/getting-started/ | ||
| + | |||
| + | <code> | ||
| + | kube1:~# kubectl get gatewayclasses | ||
| + | </code> | ||
| + | |||
| + | === Traefik === | ||
| + | |||
| + | * https://doc.traefik.io/traefik/getting-started/quick-start-with-kubernetes/ | ||
| + | |||
| + | <code> | ||
| + | kube1:~/traefik# helm show values traefik --repo https://traefik.github.io/charts --version 39.0.1 | tee values.yaml.orig | ||
| + | |||
| + | kube1:~/traefik# cat values.yaml | ||
| + | </code><code> | ||
| + | service: | ||
| + | spec: | ||
| + | loadBalancerIP: "192.168.X.64" | ||
| + | ingressRoute: | ||
| + | dashboard: | ||
| + | enabled: true | ||
| + | matchRule: Host(`dashboard-traefik.corpX.un`) | ||
| + | entryPoints: | ||
| + | - web | ||
| + | providers: | ||
| + | kubernetesGateway: | ||
| + | enabled: true | ||
| + | #gateway: | ||
| + | # listeners: | ||
| + | # web: | ||
| + | # namespacePolicy: | ||
| + | # from: All | ||
| + | </code><code> | ||
| + | kube1:~/traefik# helm template traefik -f values.yaml --repo https://traefik.github.io/charts -n traefik --version 39.0.1 | ||
| + | |||
| + | kube1:~/traefik# helm install traefik traefik -f values.yaml --repo https://traefik.github.io/charts -n traefik --version 39.0.1 --create-namespace | ||
| + | </code><code> | ||
| + | kube1:~/traefik# kubectl get ingressclasses | ||
| + | |||
| + | kube1:~/webd-k8s# ###cat my-ingressroute.yaml | ||
| + | </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> | ||
| + | |||
| + | === Envoy Gateway === | ||
| + | |||
| + | * [[https://gateway.envoyproxy.io/latest/install/install-helm/]] | ||
| + | * [[https://hub.docker.com/r/envoyproxy/gateway-helm/tags]] | ||
| + | |||
| + | <code> | ||
| + | kube1:~/envoygateway# helm show values oci://docker.io/envoyproxy/gateway-helm --version v1.6.4 | ||
| + | | ||
| + | kube1:~/envoygateway# helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.6.4 -n envoy-gateway-system --create-namespace | ||
| + | |||
| + | kube1:~/envoygateway# cat envoyproxy.yaml | ||
| + | apiVersion: gateway.envoyproxy.io/v1alpha1 | ||
| + | kind: EnvoyProxy | ||
| + | metadata: | ||
| + | name: custom-envoy-proxy | ||
| + | namespace: envoy-gateway-system | ||
| + | spec: | ||
| + | provider: | ||
| + | type: Kubernetes | ||
| + | kubernetes: | ||
| + | envoyService: | ||
| + | type: LoadBalancer | ||
| + | annotations: | ||
| + | metallb.universe.tf/loadBalancerIPs: "192.168.X.66" | ||
| + | | ||
| + | kube1:~/envoygateway# cat gatewayclass.yaml | ||
| + | apiVersion: gateway.networking.k8s.io/v1 | ||
| + | kind: GatewayClass | ||
| + | metadata: | ||
| + | name: eg | ||
| + | spec: | ||
| + | controllerName: gateway.envoyproxy.io/gatewayclass-controller | ||
| + | parametersRef: | ||
| + | group: gateway.envoyproxy.io | ||
| + | kind: EnvoyProxy | ||
| + | name: custom-envoy-proxy | ||
| + | namespace: envoy-gateway-system | ||
| + | </code> | ||
| ==== Volumes ==== | ==== Volumes ==== | ||