无法在 kubernetes 中 运行 mysql statefulset
cant run mysql statefulset in kubernetes
我刚开始学习 kubernetes,正在 katakoda 平台上玩。我为 mysql 创建了一个状态集。这只是一个测试,所以我没有声明任何 pvc 并安装任何卷。它的声明和服务在 yml 中的声明:
---
apiVersion: v1
kind: Service
metadata:
name: mysql-headless
labels:
run: mysql-sts-demo
spec:
ports:
- port: 3306
name: db
selector:
run: mysql-sts-demo
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql-sts-demo
spec:
serviceName: "mysql-headless"
replicas: 1
selector:
matchLabels:
run: mysql-sts-demo
template:
metadata:
labels:
run: mysql-sts-demo
spec:
containers:
- name: mysql
image: mysql:5.7.8
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secrets
key: ROOT_PASSWORD
- name: MYSQL_DATABASE
valueFrom:
secretKeyRef:
name: mysql-secrets
key: DBNAME
- name: MYSQL_USER
valueFrom:
secretKeyRef:
name: mysql-secret
key: USER
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secrets
key: PASSWORD
它成功创建了这些资源,但是当我输入 kubectl get statefulsets 时,我的 ss 总是显示为未准备好。可能是什么问题?顺便说一句,我需要它与我之前作为部署声明和启动的 spring 宠物诊所应用程序一起使用。
你能粘贴状态集的日志吗
或 kubectl get events
和 kubectl describe <your stateful-set name>
的输出
现在谈到秘密,你能检查一下你在状态集定义中使用的那些秘密是否已经存在使用 kubectl get secrets
我刚开始学习 kubernetes,正在 katakoda 平台上玩。我为 mysql 创建了一个状态集。这只是一个测试,所以我没有声明任何 pvc 并安装任何卷。它的声明和服务在 yml 中的声明:
---
apiVersion: v1
kind: Service
metadata:
name: mysql-headless
labels:
run: mysql-sts-demo
spec:
ports:
- port: 3306
name: db
selector:
run: mysql-sts-demo
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql-sts-demo
spec:
serviceName: "mysql-headless"
replicas: 1
selector:
matchLabels:
run: mysql-sts-demo
template:
metadata:
labels:
run: mysql-sts-demo
spec:
containers:
- name: mysql
image: mysql:5.7.8
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secrets
key: ROOT_PASSWORD
- name: MYSQL_DATABASE
valueFrom:
secretKeyRef:
name: mysql-secrets
key: DBNAME
- name: MYSQL_USER
valueFrom:
secretKeyRef:
name: mysql-secret
key: USER
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secrets
key: PASSWORD
它成功创建了这些资源,但是当我输入 kubectl get statefulsets 时,我的 ss 总是显示为未准备好。可能是什么问题?顺便说一句,我需要它与我之前作为部署声明和启动的 spring 宠物诊所应用程序一起使用。
你能粘贴状态集的日志吗
或 kubectl get events
和 kubectl describe <your stateful-set name>
现在谈到秘密,你能检查一下你在状态集定义中使用的那些秘密是否已经存在使用 kubectl get secrets