如何访问另一个 pod(busybox) 中的 mysql 个 pod?

How to access mysql pod in another pod(busybox)?

我接到了将 mysql pod 与任何其他工作 pod(最好是 busybox)连接的任务,但我无法做到这一点。有没有办法完成这个任务。我提到了很多地方,但由于我是 Kubernetes 的新手,所以解释有点复杂。

MySQL Kubernets 的 YAML 配置

apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  ports:
  - port: 3306
  selector:
    app: mysql
  clusterIP: None
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql
spec:
  selector:
    matchLabels:
      app: mysql
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - image: mysql:5.6
        name: mysql
        env:
          # Use secret in real usage
        - name: MYSQL_ROOT_PASSWORD
          value: password
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pv-claim

您可以使用服务名称从繁忙的盒子容器MySQL连接

kubectl run -i --tty busybox --image=busybox --restart=Never -- sh   

以上命令将启动Busy box的一个容器。

运行 kubectl get pods 检查两个 pod 状态。

在 Busy container 中,您将能够 运行 命令连接 MySQL

mysql -h <MySQL service name> -u <Username> -p<password>

参考文档:MySQL:https://kubernetes.io/blog/2015/10/some-things-you-didnt-know-about-kubectl_28/

占线框:https://kubernetes.io/blog/2015/10/some-things-you-didnt-know-about-kubectl_28/