es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

MySQL 8.0 no puede acceder a través del NodePort de Kubernetes.

Tengo el servicio de MySQL en Rancher Kubernetes Engine y necesito acceder a él a través de Nodeport para propósitos remotos. Ya intenté con otros servicios como Elasticsearch y el panel de Grafana y se puede acceder a través de Nodeport, ¿por qué no se puede acceder a MySQL?

Aquí está mi servicio:

kind: Service
metadata:
etiquetas:
app: mysql
servicio: mysql
nombre: proxy-mysql-service
namespace: x4-s24
spec:
tipo: NodePort
selector:
app: mysql
puertos:
– nombre: tcp-transfer
puerto: 3306
targetPort: 3306
nodePort: 30036

statefulset

apiVersion: apps/v1
kind: StatefulSet
metadata:
nombre: mysql
namespace: x4-s24
etiquetas:
app: mysql
spec:
replicas: 1
updateStrategy:
type: OnDelete
serviceName: proxy-mysql-service
selector:
matchLabels:
app: mysql
template:
metadata:
etiquetas:
app: mysql
spec:
priorityClassName: high-priority
contenedores:
– image: mysql:8.0.26
imagePullPolicy: Always
nombre: mysql
recursos:
solicitudes:
memoria: 512Mi
cpu: 200m
puertos:
– containerPort: 3306
nombre: tcp-mysql
protocolo: TCP
env:
– nombre: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
nombre: mysql-secret
key: mysql-password-root
volumeMounts:
– nombre: mysql
mountPath: /var/lib/mysql
– nombre: mysql-config
mountPath: /etc/mysql/my.cnf
subPath: my.cnf
volumes:
– nombre: mysql
persistentVolumeClaim:
claimName: mysql-8-pv
– nombre: mysql-config
configMap:
nombre: mysql-configmap2

Ya agregué bind-address = 0.0.0.0 en mi.cnf pero aún no funciona.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Hay algunas cosas que puedes verificar al intentar acceder a tu servicio MySQL a través de NodePort en Rancher Kubernetes Engine:

    1. Asegúrate de que tu servicio esté funcionando y accesible en el clúster. Puedes ejecutar el comando kubectl get services para ver una lista de todos los servicios en el clúster y sus correspondientes asignaciones de puertos.
    2. Si tus otros servicios son accesibles pero MySQL no lo es, asegúrate de que el servicio MySQL esté configurado correctamente para permitir el acceso remoto. Esto podría implicar configurar la dirección de enlace a 0.0.0.0 como lo has hecho, pero también puede requerir la configuración de reglas de firewall u otras configuraciones de red.

    3. Verifica que el NodePort que estás utilizando (30036 en tu caso) esté permitido a través de cualquier firewall o grupo de seguridad de red que pueda estar en su lugar.

    4. Verifica que estás utilizando las credenciales y ajustes de conexión correctos al intentar conectarte al servicio MySQL de manera remota.

    Si ninguno de estos pasos resuelve el problema, es posible que necesites investigar más los registros o la configuración de tu servicio MySQL para determinar la causa del problema.

Comments are closed.