Kubernetes tomcat 集群:跳过状态传输。集群组中没有活跃成员

Kubernetes tomcat 集群:跳过状态传输。集群组中没有活跃成员

k8s StatefulSet:

apiVersion: v1
kind: Service
metadata:
  name: my-web
  labels:
    app: my-web
spec:
  ports:
    - name: http
      port: 8080
      targetPort: 8080
  selector:
    app: my-web
  type: ClusterIP
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: my-web
  labels:
    app: my-web
spec:
  serviceName: my-web
  selector:
    matchLabels:
      app: my-web
  template:
    metadata:
      labels:
        app: my-web
    spec:
      containers:
        - image: my-web:1.0
          ports:
            - containerPort: 8080

服务器.xml

<Engine>

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.cloud.CloudMembershipService"/>
</Channel>
</Cluster>

...
</Engine>

两个 Pod 正在运行:

kubectl 获取 pod | findstr web

NAME                        READY   STATUS    RESTARTS   AGE
my-web-0                       1/1     Running   0          53m
my-web-1                       1/1     Running   0          52m

来自 my-web-0 和 my-web-1 的 tomcat 日志:

02-Jun-2023 17:43:26.282 INFO [main] org.apache.catalina.ha.session.DeltaManager.startInternal Register manager [localhost#] to cluster element [Engine] with name [Catalina]
02-Jun-2023 17:43:26.283 INFO [main] org.apache.catalina.ha.session.DeltaManager.startInternal Starting clustering manager at [localhost#]
02-Jun-2023 17:43:26.283 INFO [main] org.apache.catalina.ha.session.DeltaManager.getAllClusterSessions Manager [localhost#]: skipping state transfer. No members active in cluster group.

集群组中没有活动成员。Tomcat 无法找到集群成员。没有错误日志。

Pod my-web-0 和 my-web-1 可以相互连接。

我的网络-0:

$ curl -v telnet://my-web-1.my-web:8080
Connected to my-web-1.my-web (10.1.0.247) port 8080 (#0)

我的网络-1:

$ curl -v telnet://my-web-0.my-web:8080
Connected to my-web-0.my-web (10.1.0.246) port 8080 (#0)

web.xml 包含:

<distributable />

tomcat 集群在 k8s 中工作还需要什么吗?

相关内容