- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 kubedb 运行 postgres在我从本地目录(位于我的 Mac 上)挂载数据的 minikube 上,当 pod 运行时我没有得到预期的行为,会发生两件事:一是显然挂载不存在,二是我看到错误 pod has unbound immediate PersistentVolumeClaims
首先,这是我的 yaml 文件:
apiVersion: v1
kind: PersistentVolume
metadata:
name: adminvol
namespace: demo
labels:
release: development
spec:
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: /Users/myusername/local_docker_poc/admin/lib/postgresql/data
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
namespace: demo
name: adminpvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
selector:
matchLabels:
release: development
apiVersion: kubedb.com/v1alpha1
kind: Postgres
metadata:
name: quick-postgres
namespace: demo
spec:
version: "10.2-v2"
storageType: Durable
storage:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
volumeMounts:
- mountPath: /busy
name: naim
persistentVolumeClaim:
claimName: adminpvc
terminationPolicy: WipeOut
根据 this这反射(reflect)在下面的答案中,我已经从我所有的 yaml 文件中删除了 storageClass。
describe pod 看起来像这样:
Name: quick-postgres-0
Namespace: demo
Priority: 0
PriorityClassName: <none>
Node: minikube/10.0.2.15
Start Time: Wed, 25 Sep 2019 22:18:44 +0300
Labels: controller-revision-hash=quick-postgres-5d5bcc4698
kubedb.com/kind=Postgres
kubedb.com/name=quick-postgres
kubedb.com/role=primary
statefulset.kubernetes.io/pod-name=quick-postgres-0
Annotations: <none>
Status: Running
IP: 172.17.0.7
Controlled By: StatefulSet/quick-postgres
Containers:
postgres:
Container ID: docker://6bd0946f8197ddf1faf7b52ad0da36810cceff4abb53447679649f1d0dba3c5c
Image: kubedb/postgres:10.2-v3
Image ID: docker-pullable://kubedb/postgres@sha256:9656942b2322a88d4117f5bfda26ee34d795cd631285d307b55f101c2f2cb8c8
Port: 5432/TCP
Host Port: 0/TCP
Args:
leader_election
--enable-analytics=true
--logtostderr=true
--alsologtostderr=false
--v=3
--stderrthreshold=0
State: Running
Started: Wed, 25 Sep 2019 22:18:45 +0300
Ready: True
Restart Count: 0
Environment:
APPSCODE_ANALYTICS_CLIENT_ID: 90b12fedfef2068a5f608219d5e7904a
NAMESPACE: demo (v1:metadata.namespace)
PRIMARY_HOST: quick-postgres
POSTGRES_USER: <set to the key 'POSTGRES_USER' in secret 'quick-postgres-auth'> Optional: false
POSTGRES_PASSWORD: <set to the key 'POSTGRES_PASSWORD' in secret 'quick-postgres-auth'> Optional: false
STANDBY: warm
STREAMING: asynchronous
LEASE_DURATION: 15
RENEW_DEADLINE: 10
RETRY_PERIOD: 2
Mounts:
/dev/shm from shared-memory (rw)
/var/pv from data (rw)
/var/run/secrets/kubernetes.io/serviceaccount from quick-postgres-token-48rkd (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
data:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: data-quick-postgres-0
ReadOnly: false
shared-memory:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium: Memory
SizeLimit: <unset>
quick-postgres-token-48rkd:
Type: Secret (a volume populated by a Secret)
SecretName: quick-postgres-token-48rkd
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
---- ------ ---- ---- -------
Warning FailedScheduling 39s default-scheduler pod has unbound immediate PersistentVolumeClaims
Normal Scheduled 39s default-scheduler Successfully assigned demo/quick-postgres-0 to minikube
Normal Pulled 38s kubelet, minikube Container image "kubedb/postgres:10.2-v3" already present on machine
Normal Created 38s kubelet, minikube Created container
Normal Started 38s kubelet, minikube Started container
我遵循了官方手册关于如何安装 pvc here对于调试,我使用相同的 pv 和 pvc 来挂载一个简单的 busybox 容器并且它工作正常,也就是说我可以看到挂载其中的数据:
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: demo
spec:
containers:
- name: busybox
image: busybox
command:
- sleep
- "3600"
volumeMounts:
- mountPath: /busy
name: adminpvc
volumes:
- name: adminpvc
persistentVolumeClaim:
claimName: adminpvc
我自己的 pod 和 KubeDB 的唯一区别(据我所知,它背后有一个状态集)是我将 storageClass 保留在 PV 和 PVC 中!如果我删除存储类,我将在容器内看到挂载点,但它是空的并且没有数据
最佳答案
Remove the storageClass-line from the PersistentVolume
在 minikube 中尝试这样的事情:
这里是elasticsearch的例子
apiVersion: v1
kind: PersistentVolume
metadata:
name: elasticsearch
spec:
capacity:
storage: 400Mi
accessModes:
- ReadWriteOnce
hostPath:
path: "/data/elasticsearch/"
更多细节你也可以看看这个: pod has unbound PersistentVolumeClaims
编辑:
检查可用的存储类
kubectl get storageclass
对于PV量
kind: PersistentVolume
apiVersion: v1
metadata:
name: postgres-pv
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /data/postgres-pv
PVC文件
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: postgres-pvc
labels:
type: local
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
volumeName: postgres-pv
关于postgresql - KubeDB on minikube 挂载本地目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57947463/
我已在本地设置 Docker 引擎以在 minikube 上运行(而不是使用 Docker Desktop)。我知道我需要确保引擎与 minikube 集群“对话”。我查阅了两个教程,它们的说明略有不
我正在尝试创建 minikube 集群,但它总是失败。 非常欢迎任何建议: C:\WINDOWS\system32>minikube 启动 --driver=vmware Microsoft Wind
我正在尝试调查网络问题并想安装 tcpdump/tshark。 minikube 使用什么包管理器?如何安装 tcpdump? 最佳答案 这不是一件容易的事。 Minikube VM 基于 Build
我正在尝试使用 https://kubernetes.io/docs/tasks/tools/install-minikube/ 在 RHEL 7.4 上安装 minikube .我的系统设置了无密码
我正在运行 minikube。 Minikube 状态结果为: kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99
如何将自定义 ssh 公钥放入 minikube 集群上的 authorized_keys 中?为什么对 /home/docker/.ssh/authorized_keys 的更改在重启后会丢失?如何
我在 Windows 10 上。命令“systeminfo”显示: Hyper-V Requirements: A hypervisor has been detected. Features req
我正在 Linux 工作站上使用 podman 和 minikube 探索和学习容器和 kubernetes。我使用 podman 在工作站上构建镜像,并希望使用 kvm2 虚拟机驱动程序将这些镜像部
当我运行以下代码时: minikube addons enable ingress 我收到以下错误: ▪ Using image k8s.gcr.io/ingress-nginx/controller
我想在每次启动和停止时为我的 ubuntu 主机(带有 KVM2)上的 minikube 集群(输入 minikube ip 时获得的那个)设置一个固定的 IP 地址。 我想将一个 DNS 子域指向它
我刚刚使用以下命令在 Ubuntu 18.04 上为我的 Kubernetes 本地设置安装了 Minikube: curl -LO https://storage.googleapis.com/mi
编辑 - 这是在 OSX 上 另外,我试过运行 minikube service ,如下所示,当它尝试在浏览器中打开它时,我收到“连接被拒绝”信号,因为端口已关闭。 我有一个 kubernetes
我想在每次启动和停止时为我的 ubuntu 主机(带有 KVM2)上的 minikube 集群(输入 minikube ip 时获得的那个)设置一个固定的 IP 地址。 我想将一个 DNS 子域指向它
我对 Kubernetes“非常”陌生,我想在运行 Windows 10 和 HyperV 的本地机器上试用它。我看到了 minikube用于本地开发,我可以在 Chocolatey 上找到,所以我使
我正在尝试通过 hyperv 在我的本地 Windows 10 机器上安装 kubernetes。我遇到了一些我不确定如何解决的错误。我也尝试过运行 kubernetes v1.8.0,但收到了同样的
我有一个可以在多个环境中工作的简单入口文件,但要访问它,它的行为会有所不同,具体取决于我是在我的 Mac 上还是在我的 Ubuntu 机器上运行我的 minikube 集群。 具体来说,对于我的 ma
是否可以使用 minikube 在特定端口上公开服务? kubectl expose deployment my-deployment --type=NodePort --port=80 不会抛出错误
我正在尝试使用嵌入式仪表板内部服务为 minikube 仪表板创建入口。 我同时启用了 ingress和 dashboard minikube 插件。 我还写了这个 ingress YAML 文件:
你好,所以我昨天使用 minikube,它工作正常,但今天我试图用 minikube start 命令开始,它给出了以下错误: 在运行 minikube status 之后,它会给出以下结果: 提前感
我在 macOS 上升级了 minikube,现在我无法启动它(在两台不同的机器上)。我一直在阅读一堆论坛,这似乎是一个常见问题,但没有一致的解决方案,也没有关于如何寻找根本原因的指导。 首次下载 V
我是一名优秀的程序员,十分优秀!