在使用 Kubernetes 進(jìn)行部署的應(yīng)用中,需要訪問外部的 MySQL 數(shù)據(jù)庫。這時我們可以使用 Kubernetes 的 Service 來方便地進(jìn)行訪問。
下面是使用 Kubernetes 部署應(yīng)用訪問外部 MySQL 數(shù)據(jù)庫的具體步驟:
1. 編寫 Kubernetes Deployment 文件,可以在其中指定應(yīng)用需要連接的 MySQL 數(shù)據(jù)庫的 host、port、username 和 password。例如: apiVersion: apps/v1 kind: Deployment metadata: name: my-app spec: selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-app-container image: my-app-image env: - name: MYSQL_HOST value: mysql-host - name: MYSQL_PORT value: "3306" - name: MYSQL_USERNAME value: mysql-user - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: mysql-password key: password 2. 編寫 Kubernetes Service 文件,用于將 MySQL 數(shù)據(jù)庫暴露給應(yīng)用。例如: apiVersion: v1 kind: Service metadata: name: mysql spec: selector: app: mysql ports: - name: mysql port: 3306 targetPort: 3306 3. 創(chuàng)建 Secret 對象用于存儲 MySQL 數(shù)據(jù)庫的密碼,例如: apiVersion: v1 kind: Secret metadata: name: mysql-password type: Opaque data: password: BASE64_ENCODED_PASSWORD 4. 將以上文件通過 kubectl apply 命令進(jìn)行創(chuàng)建。例如: $ kubectl apply -f deployment.yaml $ kubectl apply -f service.yaml $ kubectl apply -f secret.yaml
以上步驟完成后,我們的應(yīng)用就可以通過 Service 來訪問外部 MySQL 數(shù)據(jù)庫了。