Docker 由于卷装载,WSL Kubernetes吊舱卡在集装箱创建状态
我正在使用Windows 10上的Docker Desktop以及Windows Linux子系统(WSL)。我有一个容器化的应用程序,部署到本地K8s集群(Docker Desktop提供)。典型的故事:一切正常,直到有一天Docker桌面更新来了,毁掉了一切)。我现在的DD版本是2.3.0.2稳定的 我有一个带有MySQL的pod,定义了pv、pvc和存储类。当我将我的应用程序部署到集群时,我可以看到pv和pvc已绑定,但pod卡在Docker 由于卷装载,WSL Kubernetes吊舱卡在集装箱创建状态,docker,kubernetes,windows-subsystem-for-linux,persistent-volumes,Docker,Kubernetes,Windows Subsystem For Linux,Persistent Volumes,我正在使用Windows 10上的Docker Desktop以及Windows Linux子系统(WSL)。我有一个容器化的应用程序,部署到本地K8s集群(Docker Desktop提供)。典型的故事:一切正常,直到有一天Docker桌面更新来了,毁掉了一切)。我现在的DD版本是2.3.0.2稳定的 我有一个带有MySQL的pod,定义了pv、pvc和存储类。当我将我的应用程序部署到集群时,我可以看到pv和pvc已绑定,但pod卡在容器创建状态: $kubectl描述pod mysql-67
容器创建
状态:
$kubectl描述pod mysql-6779d8fb8b-d25wz
名称:mysql-6779d8fb8b-d25wz
名称空间:typo3连接器
优先级:0
节点:docker desktop/192.168.65.3
开始时间:2020年5月13日星期三14:21:43+0200
标签:app=mysql
pod模板哈希=6779d8fb8b
注释:
状态:待定
知识产权:
IPs:
控制人:ReplicaSet/mysql-6779d8fb8b
容器:
mysql:
容器ID:
图片:lw mysql
图像ID:
端口:3306/TCP
主机端口:0/TCP
国家:等待
原因:集装箱制造
就绪:错误
重新启动计数:0
环境变量来自:
mysql凭据机密可选:false
环境:
挂载:
/来自mysql持久存储(rw)的var/lib/mysql
/来自default-token-wr6g9(ro)的var/run/secrets/kubernetes.io/serviceCount
条件:
类型状态
初始化为True
准备错误
集装箱准备好了吗
播客预定为真
卷数:
mysql持久存储:
类型:PersistentVolumeClaim(对同一命名空间中PersistentVolumeClaim的引用)
索赔名称:mysql pv索赔
只读:false
default-token-wr6g9:
类型:Secret(由Secret填充的卷)
SecretName:default-token-wr6g9
可选:false
QoS等级:最佳努力
节点选择器:
容差:node.kubernetes.io/未就绪:不执行300秒
node.kubernetes.io/不可访问:不执行300秒
活动:
从消息中键入原因年龄
---- ------ ---- ---- -------
警告失败调度默认计划程序persistentvolumeclaim“mysql pv声明”未找到
警告失败调度默认计划程序persistentvolumeclaim“mysql pv声明”未找到
正常计划的默认计划程序已成功将typo3 connector/mysql-6779d8fb8b-d25wz分配给docker desktop
警告失败装入35s(x8/99s)kubelet,docker桌面装入卷。卷“mysql pv”的新装入器初始化失败:路径“/c/kubernetes/typo3-8/mysql存储/”不存在
错误是
MountVolume.NewMounter initialization failed for volume "mysql-pv" : path "/c/kubernetes/typo3-8/mysql-storage/" does not exist
但路径实际上存在于磁盘上(即WSL中)
pv:
$kubectl描述pv mysql pv
名称:mysql pv
标签:
注释:kubectl.kubernetes.io/last-applicated-configuration:
{“apiVersion”:“v1”,“种类”:“PersistentVolume”,“元数据”:{“annotations”:{},“name”:“mysql pv”},“spec”:{“accessModes”:[“ReadWriteOnce”],“capa…”。。。
pv.kubernetes.io/bound-by-controller:是
终结器:[kubernetes.io/pv保护]
StorageClass:本地存储
状态:绑定
索赔:typo3连接器/mysql pv索赔
回收策略:保留
访问模式:RWO
VolumeMode:文件系统
容量:2Gi
节点关联:
所需条款:
术语0:kubernetes.io/hostname在[docker desktop]中
信息:
资料来源:
类型:LocalVolume(由节点上的本地存储支持的持久卷)
路径:/c/kubernetes/typo3-8/mysql存储/
活动:
聚氯乙烯:
$kubectl描述pvc mysql pv索赔
名称:mysql pv索赔
名称空间:typo3连接器
StorageClass:本地存储
状态:绑定
卷:mysql pv
标签:
注释:kubectl.kubernetes.io/last-applicated-configuration:
{“apiVersion”:“v1”,“kind”:“PersistentVolumeClaim”,“metadata”:{“annotations”:{},“name”:“mysql pv claim”,“namespace”:“typo3 connector”},“spe…”。。。
pv.kubernetes.io/bind-completed:是
pv.kubernetes.io/bound-by-controller:是
终结器:[kubernetes.io/pvc保护]
容量:2Gi
访问模式:RWO
VolumeMode:文件系统
挂载人:mysql-6779d8fb8b-d25wz
活动:
我尝试从PowerShell运行它,但没有成功。我得到了相同的结果。
但在更新之前一切都很好
这是基于配置的问题吗
编辑
这是清单文件:
apiVersion:v1
种类:名称空间
元数据:
名称:typo3连接器
---
版本:v1
数据:
MYSQL_密码:ZHVtbXk=
MYSQL_ROOT_密码:ZHVtbXk=
MYSQL_用户:ZHVtbXk=
种类:秘密
元数据:
名称:mysql凭据
名称空间:typo3连接器
类型:不透明
---
版本:v1
种类:服务
元数据:
标签:
应用程序:mysql
名称:mysql
名称空间:typo3连接器
规格:
端口:
-名称:mysql后端
港口:3306
协议:TCP
选择器:
应用程序:mysql
类型:集群
---
apiVersion:apps/v1
种类:部署
元数据:
名称:mysql
名称空间:typo3连接器
规格:
副本:1份
选择器:
火柴标签:
应用程序:mysql
模板:
元数据:
标签:
应用程序:mysql
规格:
容器:
-来自:
-秘书长:
名称:mysql凭据
图片:mysql:5.6
imagePullPolicy:如果不存在
名称:mysql
端口:
-集装箱港口:3306
名称:mysql
体积数量:
-mountPath:/var/lib/mysql
名称:mysql持久存储
你的秘密:
-名称:lwdockerregistry
卷数:
apiVersion: v1
kind: PersistentVolume
metadata:
name: example-local-pv
spec:
capacity:
storage: 500Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /mnt/disks/vol1
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- my-node
/run/desktop/mnt/host/c/someDir/volumeDir
/run/desktop/mnt/host/c/kubernetes/typo3-8/mysql-storage/