代码之家  ›  专栏  ›  技术社区  ›  Hana Alaydrus

Kubernetes多集装箱吊舱[关闭]

  •  1
  • Hana Alaydrus  · 技术社区  · 7 年前

    你好,我试着有一个2容器,一个c++应用程序,一个mysql数据库豆荚。我曾经让mysql部署在自己的服务中,但是我遇到了延迟问题。所以我想试试多集装箱吊舱。

    但我一直在努力通过localhost将我的应用程序和mysql连接起来。上面写着。。

    \'/var/run/mysqld/mysqld.sock

    # Database setup
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: storage-camera
      labels:     
        group: camera
    provisioner: kubernetes.io/gce-pd
    parameters:
      type: pd-ssd
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: camera-pv
      labels:     
        group: camera
    spec:
      storageClassName: db-camera
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 20Gi
      storageClassName: storage-camera
    ---
    # Service setup
    apiVersion: v1
    kind: Service
    metadata:
      name: camera-service
      labels:
        group: camera
    spec:
      ports:
        - port: 50052
          targetPort: 50052
      selector:
        group: camera
        tier: service
      type: LoadBalancer
    ---
    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: camera-service
      labels:
        group: camera
        tier: service
    spec:
      replicas: 1
      strategy:
        type: RollingUpdate
        rollingUpdate:
          maxUnavailable: 0
          maxSurge: 1
      minReadySeconds: 60
      template:
        metadata:
          labels:
            group: camera
            tier: service
        spec:
          containers:
          - image: asia.gcr.io/test/db-camera:latest
            name: db-camera
            env:
            - name : MYSQL_ROOT_PASSWORD
              value : root
            ports:
            - containerPort: 3306
              name: mysql
            volumeMounts:
            - name: camera-persistent-storage
              mountPath: /var/lib/mysql
          - name: camera-service
            image: asia.gcr.io/test/camera-service:latest
            env:
            - name : DB_HOST
              value : "localhost"
            - name : DB_PORT
              value : "3306"
            - name : DB_NAME
              value : "camera"
            - name : DB_ROOT_PASS
              value : "password"
            ports:
            - name: http-cam
              containerPort: 50052
          volumes:
          - name: camera-persistent-storage
            persistentVolumeClaim:
              claimName: camera-pv
          restartPolicy: Always
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Christoffer Soop    7 年前

    MySQL documentation :

    在Unix上,MySQL程序以一种特殊的方式处理主机名localhost 和其他人相比,这可能和你所期望的不同 基于网络的程序。对于连接到localhost、MySQL程序 号码。以确保客户端与 127.0.0.1,或本地服务器的IP地址或名称。您还可以通过 使用--protocol=TCP选项。

    camera-service 要讨论文件系统套接字,您需要为 摄像服务 也。目前你只为 db-camera

    推荐文章