Can';t在k8s上创建两个mysql播客

Can';t在k8s上创建两个mysql播客,mysql,kubernetes,Mysql,Kubernetes,我试图在一个集群中运行两个mysql播客。 第一个mysql pod使用hdd作为存储。第二个mysql pod使用ssd作为存储。第一个pod工作正常。但第二个吊舱落入“碰撞回路后退” 我使用两个.yaml文件制作了两个pod。这些文件在这里 deployMysqlHdd.yaml(第一个pod.This有效。) deployMysqlSSD.yaml(第二个pod。这不起作用。) 关于第二个pod的kubectl descripe pod的结果在这里 Name: inteln

我试图在一个集群中运行两个mysql播客。 第一个mysql pod使用hdd作为存储。第二个mysql pod使用ssd作为存储。第一个pod工作正常。但第二个吊舱落入“碰撞回路后退”

我使用两个.yaml文件制作了两个pod。这些文件在这里

deployMysqlHdd.yaml(第一个pod.This有效。)

deployMysqlSSD.yaml(第二个pod。这不起作用。)

关于第二个pod的
kubectl descripe pod
的结果在这里

Name:         intelnuc-mysql-deployment-9685c849-mvg4p
Namespace:    default
Priority:     0
Node:         intelnuc/192.168.1.10
Start Time:   Sat, 19 Sep 2020 06:37:16 +0000
Labels:       name=intelnuc-mysql
              pod-template-hash=9685c849
Annotations:  <none>
Status:       Running
IP:           10.244.2.23
IPs:
  IP:           10.244.2.23
Controlled By:  ReplicaSet/intelnuc-mysql-deployment-9685c849
Containers:
  intelnuc-mysql:
    Container ID:   docker://8bbe74e6d90cce313be9e8708319470a85a25a98742bc0472bcda193be91d277
    Image:          mysql
    Image ID:       docker-pullable://mysql@sha256:e1bfe11693ed2052cb3b4e5fa356c65381129e87e38551c6cd6ec532ebe0e808
    Port:           <none>
    Host Port:      <none>
    State:          Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Sat, 19 Sep 2020 06:38:13 +0000
      Finished:     Sat, 19 Sep 2020 06:38:13 +0000
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Sat, 19 Sep 2020 06:37:43 +0000
      Finished:     Sat, 19 Sep 2020 06:37:43 +0000
    Ready:          False
    Restart Count:  3
    Environment:
      MYSQL_ROOT_PASSWORD:  <set to the key 'password' in secret 'intelnuc-mysql-auth'>  Optional: false
    Mounts:
      /var/lib/mysql from intelnuc-mysql-volumes (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-6m588 (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  intelnuc-mysql-volumes:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  intelnuc-mysql-persistentvolumeclaim
    ReadOnly:   false
  default-token-6m588:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-6m588
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  <unknown>          default-scheduler  Successfully assigned default/intelnuc-mysql-deployment-9685c849-mvg4p to intelnuc
  Normal   Pulling    10s (x4 over 63s)  kubelet, intelnuc  Pulling image "mysql"
  Normal   Pulled     7s (x4 over 60s)   kubelet, intelnuc  Successfully pulled image "mysql"
  Normal   Created    7s (x4 over 60s)   kubelet, intelnuc  Created container intelnuc-mysql
  Normal   Started    7s (x4 over 60s)   kubelet, intelnuc  Started container intelnuc-mysql
  Warning  BackOff    6s (x5 over 56s)   kubelet, intelnuc  Back-off restarting failed container

我认为,问题是因为第二个服务的标签与部署的标签不匹配。请你换一下,再试一次好吗

与选择服务标签“name:mysql高资源”类似,尝试使用“name:intelnuc-mysql”


我认为,问题是因为第二个服务的标签与部署的标签不匹配。请你换一下,再试一次好吗

与选择服务标签“name:mysql高资源”类似,尝试使用“name:intelnuc-mysql”


根据乔纳斯的评论,我运行了
kubectl日志。我看到了问题的原因。它可以工作,因为我清空了mysql数据目录。谢谢

根据乔纳斯的评论,我运行了kubectl日志。我看到了问题的原因。它可以工作,因为我清空了mysql数据目录。谢谢

你的第二个吊舱的日志是什么?上面的日志是第二个吊舱的日志。我没有发布第一个吊舱的日志。因为第一个吊舱工作正常。你只发布了舱单。不是日志。使用
kubectl日志
,但直接在pod启动时使用-因为它正在崩溃。第二个pod的日志是什么?上面的日志是第二个pod日志。我没有发布第一个吊舱的日志。因为第一个吊舱工作正常。你只发布了舱单。不是日志。使用kubectl日志,但在pod启动时直接使用,因为它正在崩溃。谢谢您的回复。我尝试使用“name:intelnuc-mysql”。但它不起作用。第二个容器仍然处于“崩溃循环后退”状态。谢谢您的回复。我尝试使用“name:intelnuc-mysql”。但它不起作用。第二个容器仍然处于“崩溃循环后退”状态。
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: intelnuc-local-mysql-storageclass
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: intelnuc-mysql-persistentvolume
spec:
  capacity:
    storage: 500Gi
  volumeMode: Filesystem
  accessModes:
  - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: intelnuc-local-mysql-storageclass
  local:
    path: /k8sNodeData/mysql
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: disktype
          operator: In
          values:
          - ssd
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: intelnuc-mysql-persistentvolumeclaim
spec:
  accessModes:
    - ReadWriteMany
  volumeMode: Filesystem
  resources:
    requests:
      storage: 500Gi
  storageClassName: intelnuc-local-mysql-storageclass
---
apiVersion: v1
kind: Service
metadata:
  name: intelnuc-mysql-nodeport
spec:
  type: NodePort
  ports:
    - name: intelnuc-mysql-port
      port: 3306
      targetPort: 3306
      nodePort: 3307
  selector:
    name: mysql-high-resource
---
apiVersion: v1
kind: Secret
metadata:
  name: intelnuc-mysql-auth
type: Opaque
stringData:
  password: ***********
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: intelnuc-mysql-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      name: intelnuc-mysql
  template:
    metadata:
      labels:
        name: intelnuc-mysql
    spec:
      containers:
      - name: intelnuc-mysql
        image: mysql
        env:
          - name: MYSQL_ROOT_PASSWORD
            valueFrom:
              secretKeyRef:
                name: intelnuc-mysql-auth
                key: password
        volumeMounts:
          - name: intelnuc-mysql-volumes
            mountPath: /var/lib/mysql
      volumes:
        - name: intelnuc-mysql-volumes
          persistentVolumeClaim:
            claimName: intelnuc-mysql-persistentvolumeclaim
---
Name:         intelnuc-mysql-deployment-9685c849-mvg4p
Namespace:    default
Priority:     0
Node:         intelnuc/192.168.1.10
Start Time:   Sat, 19 Sep 2020 06:37:16 +0000
Labels:       name=intelnuc-mysql
              pod-template-hash=9685c849
Annotations:  <none>
Status:       Running
IP:           10.244.2.23
IPs:
  IP:           10.244.2.23
Controlled By:  ReplicaSet/intelnuc-mysql-deployment-9685c849
Containers:
  intelnuc-mysql:
    Container ID:   docker://8bbe74e6d90cce313be9e8708319470a85a25a98742bc0472bcda193be91d277
    Image:          mysql
    Image ID:       docker-pullable://mysql@sha256:e1bfe11693ed2052cb3b4e5fa356c65381129e87e38551c6cd6ec532ebe0e808
    Port:           <none>
    Host Port:      <none>
    State:          Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Sat, 19 Sep 2020 06:38:13 +0000
      Finished:     Sat, 19 Sep 2020 06:38:13 +0000
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Sat, 19 Sep 2020 06:37:43 +0000
      Finished:     Sat, 19 Sep 2020 06:37:43 +0000
    Ready:          False
    Restart Count:  3
    Environment:
      MYSQL_ROOT_PASSWORD:  <set to the key 'password' in secret 'intelnuc-mysql-auth'>  Optional: false
    Mounts:
      /var/lib/mysql from intelnuc-mysql-volumes (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-6m588 (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  intelnuc-mysql-volumes:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  intelnuc-mysql-persistentvolumeclaim
    ReadOnly:   false
  default-token-6m588:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-6m588
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  <unknown>          default-scheduler  Successfully assigned default/intelnuc-mysql-deployment-9685c849-mvg4p to intelnuc
  Normal   Pulling    10s (x4 over 63s)  kubelet, intelnuc  Pulling image "mysql"
  Normal   Pulled     7s (x4 over 60s)   kubelet, intelnuc  Successfully pulled image "mysql"
  Normal   Created    7s (x4 over 60s)   kubelet, intelnuc  Created container intelnuc-mysql
  Normal   Started    7s (x4 over 60s)   kubelet, intelnuc  Started container intelnuc-mysql
  Warning  BackOff    6s (x5 over 56s)   kubelet, intelnuc  Back-off restarting failed container
2020-09-20 07:33:20+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.21-1debian10 started.
2020-09-20 07:33:20+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2020-09-20 07:33:20+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.21-1debian10 started.
2020-09-20 07:33:20+00:00 [Note] [Entrypoint]: Initializing database files
2020-09-20T07:33:20.840302Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.21) initializing of server in progress as process 43
2020-09-20T07:33:20.841379Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2020-09-20T07:33:20.841384Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
2020-09-20T07:33:20.841423Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-09-20T07:33:20.841495Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.21)  MySQL Community Server - GPL.
apiVersion: v1
kind: Service
metadata:
  name: intelnuc-mysql-nodeport
spec:
  type: NodePort
  ports:
  - name: intelnuc-mysql-port
    port: 3306
    targetPort: 3306
    nodePort: 3307
  selector:
    name: mysql-high-resource