k8s不适合mysql_使用k8s 安装mysql时碰到的问题,不仅仅是mysql,一切需要动用到卷的都有一样的问题...

# mysql.yaml

apiVersion: v1

kind: PersistentVolume

metadata:

name: mysql-pv1

spec:

capacity:

storage: 5Gi

storageClassName: mysql-5-7-volume-storage

accessModes:

- ReadWriteMany

nfs:

server: 172.16.200.230

path: "/docker/mysql_5_7"

---

apiVersion: apps/v1

kind: StatefulSet

metadata:

name: mysql-5-7

labels:

name: mysql-5-7

spec:

serviceName: mysql-5-7

replicas: 1

selector:

matchLabels:

app: mysql-5-7-service

template:

metadata:

labels:

app: mysql-5-7-service

spec:

terminationGracePeriodSeconds: 0

containers:

- name: mysql-5-7-service

image: mysql:5.7

imagePullPolicy: IfNotPresent

ports:

- containerPort: 3306

protocol: TCP

volumeMounts:

- name: mysql-5-7-volume

mountPath: /var/lib/mysql

env:

- name: MYSQL_ROOT_PASSWORD

value: "123456"

volumeClaimTemplates:

- metadata:

name: mysql-5-7-volume

spec:

accessModes: [ "ReadWriteMany" ]

resources:

requests:

storage: 5Gi

storageClassName: mysql-5-7-volume-storage

# 输入命令查看

kubectl describe pods mysql-5-7-0

Events:

Type Reason Age From Message

---- ------ ---- ---- -------

Normal Scheduled default-scheduler Successfully assigned default/mysql-5-7-0 to base-node01

Warning FailedScheduling default-scheduler persistentvolumeclaim "mysql-5-7-volume-mysql-5-7-0" not found

Warning FailedScheduling default-scheduler error while running "VolumeBinding" filter plugin for pod "mysql-5-7-0": pod has unbound immediate PersistentVolumeClaims

Warning FailedScheduling default-scheduler error while running "VolumeBinding" filter plugin for pod "mysql-5-7-0": pod has unbound immediate PersistentVolumeClaims

Normal Created 5m43s kubelet, base-node01 Created container mysql-5-7-service

Normal Started 5m43s kubelet, base-node01 Started container mysql-5-7-service

Normal Pulled 5m43s kubelet, base-node01 Container image "mysql:5.7" already present on machine

# 查看pv

[root@base-master scripts]# kubectl get pv

NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE

mysql-pv1 5Gi RWX Retain Bound default/mysql-5-7-volume-mysql-5-7-0 mysql-5-7-volume-storage 5m15s

# 查看pvc

[root@base-master scripts]# kubectl get pvc

NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE

mysql-5-7-volume-mysql-5-7-0 Bound mysql-pv1 5Gi RWX mysql-5-7-volume-storage 6m7s

# describe pv

[root@base-master scripts]# kubectl describe pv mysql-pv1

Name: mysql-pv1

Labels:

Annotations: kubectl.kubernetes.io/last-applied-configuration:

{"apiVersion":"v1","kind":"PersistentVolume","metadata":{"annotations":{},"name":"mysql-pv1"},"spec":{"accessModes":["ReadWriteMany"],"cap...

pv.kubernetes.io/bound-by-controller: yes

Finalizers: [kubernetes.io/pv-protection]

StorageClass: mysql-5-7-volume-storage

Status: Bound

Claim: default/mysql-5-7-volume-mysql-5-7-0

Reclaim Policy: Retain

Access Modes: RWX

VolumeMode: Filesystem

Capacity: 5Gi

Node Affinity:

Message:

Source:

Type: NFS (an NFS mount that lasts the lifetime of a pod)

Server: 172.16.200.230

Path: /docker/mysql_5_7

ReadOnly: false

Events:

# describe pvc

[root@base-master scripts]# kubectl describe pvc mysql-5-7-volume-mysql-5-7-0

Name: mysql-5-7-volume-mysql-5-7-0

Namespace: default

StorageClass: mysql-5-7-volume-storage

Status: Bound

Volume: mysql-pv1

Labels: app=mysql-5-7-service

Annotations: pv.kubernetes.io/bind-completed: yes

pv.kubernetes.io/bound-by-controller: yes

Finalizers: [kubernetes.io/pvc-protection]

Capacity: 5Gi

Access Modes: RWX

VolumeMode: Filesystem

Mounted By: mysql-5-7-0

Events:

Type Reason Age From Message

---- ------ ---- ---- -------

Warning ProvisioningFailed 9m17s persistentvolume-controller storageclass.storage.k8s.io "mysql-5-7-volume-storage" not found

这个错误好像是因为pvc没有正常执行造成的,但是pvc为什么会报一个

storageclass.storage.k8s.io "mysql-5-7-volume-storage" not found 的错误?

硬盘空间是足够的。nfs也通过测试,完全可用。

另外不仅仅是mysql,其他一切需要有状态服务,都会碰到类似的问题,比如mongodb, pgsql。都因为这个问题无法安装。

求解....

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值