#networking #kubernetes #kubernetes-pod
#сеть #kubernetes #kubernetes-pod
Вопрос:
Я уже некоторое время работаю в Kubernetes, и у меня есть докер-образ приложения wildfly. В stanalone.xml для wildfly подключение к источникам данных определяется следующим образом:
<datasource jta="true" jndi-name="java:/DB" pool-name="DB" enabled="true" use-ccm="true">
<connection-url>jdbc:mysql://IP:3306/DB_NAME?zeroDateTimeBehavior=convertToNullamp;amp;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>
У меня есть один рабочий узел, и в нем запущены 2 копии одного и того же модуля. Но в настоящее время я заметил, что Интернет не может добраться до моих модулей. Я пытаюсь с
пинг google.com
Он не дает ожидаемого ответа. Я уже использую службы балансировки нагрузки для предоставления портов.
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
Как я могу это решить??
Комментарии:
1. как вы настроили кластер k8s? происходит ли это со всеми капсулами (как я предполагаю)? используете ли вы EKS / AKS / GKE или что-то в этом роде? в основном требуется дополнительная информация о том, как вы это настроили.
2. Для создания кластера я использовал Google cloud. Я создал экземпляры виртуальной машины для главного узла и рабочего узла. Я не использую GKE. Я запустил команды kubeadm с главного узла и настроил кластер
3. docs.google.com/document/d /… это команды, которые я использовал для настройки кластера
4. Попробуйте отредактировать эту строку в flannel для вашей подсети, которая есть
172.16.0.0/16
. Дайте мне знать, помогло ли это.5. Просто сохраните kube-flannel. yaml на диске, отредактируйте и сделайте
kubectl apply -f kube-flannel.yaml
. Нет необходимости что-либо удалять. Вы можете попробовать удалить flannel, если после применения он все еще не работает, и применить его еще раз.
Ответ №1:
При настройке кластера произошла ошибка.
kubeadm init --apiserver-advertise-address 10.128.0.12 --pod-network-cidr=10.244.0.0/16
адрес cidr, который мы должны указать, такой же, как у нас в нашем файле kube_flannel.yaml. Если вы хотите изменить IP-адрес в cidr, сначала внесите изменения в kube_flannel.yaml
файл.
В противном случае это приведет к тому, что модули не будут доступны в Интернете. И нам нужно использовать hostNetwork =true
свойство для подключения к Интернету, но это, в свою очередь, мешает нам запускать более одной реплики одного и того же модуля в одном и том же узле.