mrdtl00华为啥型号

mrdtl00华为啥型号

一、基本配置

yaml

apiVersion: networking.k8s.io/v1

kind: Ingress

metadata:

name: itlanson-ingress

namespace: default

spec:

rules:

– host:

http:

paths:

– path: /

pathType: Prefix

backend:

service:

name: my-nginx-svc Kubernetes集群的svc名称

port:

number: 80

二、默认后端配置

当请求不符合任何规则时,将默认到defaultBackend。例如:当请求的主机不是或路径不是`/abc`开头的所有请求,都会到defaultBackend。这是通过配置一个默认的backend服务来实现的。代码如下:

yaml

apiVersion: networking.k8s.io/v1

kind: Ingress

metadata:

name: itlanson-ingress

namespace: default

spec:

defaultBackend:

service:

name: php-apache

port:

number: 80 指定默认后端服务的端口号。非 域名的所有请求也会到这个端口。

关于v1版本和v2版本服务的配置说明

对于v1版本的服务,我们将配置一个名为v1-service的服务,并将其置于默认命名空间中。该服务将选择标签为v1-pod的应用,并配置为ClusterIP类型。服务将在HTTP端口上请求,并将请求转发到目标端口80。我们将创建一个名为v1-deploy的部署,用于运行nginx容器镜像。

对于canary-v2版本的服务,我们将创建一个名为canary-v2-service的服务和canary-v2-deploy的部署。它们的选择器标签将更改为canary-v2-pod,并将运行特定的nginx镜像。具体的镜像地址可以根据实际需求进行调整。

关于会话保持和Session亲和性

在Kubernetes环境中,我们可以通过配置ingress-nginx来实现会话保持功能。当第一次访问时,ingress-nginx会向浏览器返回一个Cookie,以便在后续的请求中携带该Cookie,从而确保请求始终到达先前的Pod。这样,用户的会话信息可以得到保持。

为了部署具有会话亲和性的服务,我们需要创建一个名为session-affinity的Service和Deployment。Service将在默认命名空间中创建一个名为session-affinity的服务,该服务将选择标签为session-affinity的应用,并80端口上的请求。Deployment将创建三个副本的Pod,每个Pod运行nginx容器。

编写具有会话亲和性的ingress

为了利用每次请求携带的相同cookie来标识是否属于同一个会话,我们可以创建一个Ingress资源。在metadata字段中,我们需要添加一些注解来启用会话亲和性并指定会话cookie的名称。在规则部分,我们可以定义哪些主机和路径将触发此Ingress,并将请求转发到我们的session-affinity服务。具体的配置可以根据实际需求进行调整。例如,我们可以设置主机名为,并将路径设置为”/”,表示该Ingress将处理该域名下的所有请求。请求将被转发到我们之前创建的session-affinity服务,并处理相应的会话亲和性功能。


mrdtl00华为啥型号