Kubernetes - 没有互联网接入 pods
Kubernetes - No internet coming in pods
我已经在 Kubernetes 中工作了一段时间,并且我有一个 docker wildfly 应用程序的图像。在wildfly的stanalone.xml中,连接datasources的定义如下:
<datasource jta="true" jndi-name="java:/DB" pool-name="DB" enabled="true" use-ccm="true">
<connection-url>jdbc:mysql://IP:3306/DB_NAME?zeroDateTimeBehavior=convertToNull&autoReconnect=true</connection-url>
<driver-class>com.mysql.cj.jdbc.Driver</driver-class>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
<password>root</password>
</security>
</datasource>
我有一个工作节点,其中 运行 有同一个 pod 的 2 个副本。但目前我发现互联网无法连接到我的 pods。我正在尝试
ping google.com
它没有按预期给出响应。我已经在使用 LoadBalancer 服务来公开端口。
apiVersion: v1
kind: Service
metadata:
name: re-demo
namespace: default
spec:
type: LoadBalancer
selector:
app: re-demo
ports:
- port: 9575
targetPort: 9575
nodePort: 32756
externalTrafficPolicy: Cluster
我该如何解决这个问题??
设置集群时出错
kubeadm init --apiserver-advertise-address 10.128.0.12 --pod-network-cidr=10.244.0.0/16
cidr 地址,我们应该像 kube_flannel.yaml 文件中那样给出。如果要更改 cidr 中的 ip 地址,请先在 kube_flannel.yaml
文件中进行更改。
否则会导致pods无法上网。我们需要使用 hostNetwork =true
属性 进行互联网连接,但这反过来又会阻止我们在同一节点中使用 运行 多个相同 pod 的副本。
我已经在 Kubernetes 中工作了一段时间,并且我有一个 docker wildfly 应用程序的图像。在wildfly的stanalone.xml中,连接datasources的定义如下:
<datasource jta="true" jndi-name="java:/DB" pool-name="DB" enabled="true" use-ccm="true">
<connection-url>jdbc:mysql://IP:3306/DB_NAME?zeroDateTimeBehavior=convertToNull&autoReconnect=true</connection-url>
<driver-class>com.mysql.cj.jdbc.Driver</driver-class>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
<password>root</password>
</security>
</datasource>
我有一个工作节点,其中 运行 有同一个 pod 的 2 个副本。但目前我发现互联网无法连接到我的 pods。我正在尝试
ping google.com
它没有按预期给出响应。我已经在使用 LoadBalancer 服务来公开端口。
apiVersion: v1
kind: Service
metadata:
name: re-demo
namespace: default
spec:
type: LoadBalancer
selector:
app: re-demo
ports:
- port: 9575
targetPort: 9575
nodePort: 32756
externalTrafficPolicy: Cluster
我该如何解决这个问题??
设置集群时出错
kubeadm init --apiserver-advertise-address 10.128.0.12 --pod-network-cidr=10.244.0.0/16
cidr 地址,我们应该像 kube_flannel.yaml 文件中那样给出。如果要更改 cidr 中的 ip 地址,请先在 kube_flannel.yaml
文件中进行更改。
否则会导致pods无法上网。我们需要使用 hostNetwork =true
属性 进行互联网连接,但这反过来又会阻止我们在同一节点中使用 运行 多个相同 pod 的副本。