色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

k8s mysql 創建表

錢良釵2年前14瀏覽0評論

在使用 Kubernetes 部署 MySQL 數據庫時,需要創建表來存儲數據。下面是創建表的具體步驟。

apiVersion: v1
kind: ConfigMap
metadata:
name: create-table
data:
create-table.sql: |
CREATE TABLE IF NOT EXISTS users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
PRIMARY KEY (id)
);

首先,需要創建一個 ConfigMap,將 MySQL 的創建表語句寫入其中。在上面的代碼中,創建了一個名為“create-table”的 ConfigMap,包含了一個名為“create-table.sql”的鍵值對,其中寫入了創建表的 SQL 語句。

apiVersion: batch/v1
kind: Job
metadata:
name: create-table
spec:
template:
spec:
containers:
- name: create-table
image: mysql:5.7
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: root-password
command: ["/bin/sh", "-c", "mysql -h mysql-service -uroot -p${MYSQL_ROOT_PASSWORD}< /config/create-table.sql"]
volumeMounts:
- name: config-volume
mountPath: /config
restartPolicy: Never
volumes:
- name: config-volume
configMap:
name: create-table

然后,創建一個 Job 對象來運行 SQL 語句,這里使用的是 MySQL 官方提供的 5.7 版本鏡像。在上面的代碼中,創建了一個名為“create-table”的 Job,必須在同一 namespace 內運行。在 template.spec.containers 中,指定了容器的名稱(create-table)、鏡像(mysql:5.7)、環境變量(MYSQL_ROOT_PASSWORD,來自于之前創建的 Secret 對象)、命令(使用 /bin/sh -c 執行指定的命令)和掛載卷(將之前創建的 ConfigMap 掛載到容器內的 /config 目錄下)。在 restartPolicy 中,指定了重啟策略為 Never,即任務完成后不會重啟容器。

最后,使用 kubectl apply 命令創建 Job。

kubectl apply -f create-table.yaml

執行完這條命令后,Kubernetes 會自動啟動一個 Pod 來運行 Job。如果創建表成功,可以通過 MySQL 客戶端驗證表是否已經創建完成。