我试图在Google Container Engine(GKE)上创建一个kubernetes NFS卷,并让部署使用它。
我在github存储库kubernetes-nfs-volume-on-gke中显示了以下几个步骤:
在研究了这些步骤之后,这是得到的错误:
$ kubectl describe pods nfs-busybox-2762569073-lhb5p
Name: nfs-busybox-2762569073-lhb5p
Namespace: default
Node: gke-mappedinn-cluster-default-pool-f94cb0d4-fmfb/10.240.0.3
Start Time: Wed, 12 Apr 2017 04:12:20 +0400
Labels: name=nfs-busybox
pod-template-hash=2762569073
Annotations: kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"default","name":"nfs-busybox-2762569073","uid":"b1e523ae-1f14-11e7-a084-42010a8e0...
kubernetes.io/limit-ranger=LimitRanger plugin set: cpu request for container busybox
Status: Pending
IP:
Controllers: ReplicaSet/nfs-busybox-2762569073
Containers:
busybox:
Container ID:
Image: busybox
Image ID:
Port:
Command:
sh
-c
while true; do date > /mnt/index.html; hostname >> /mnt/index.html; sleep $(($RANDOM % 5 + 5)); done
State: Waiting
Reason: ContainerCreating
Ready: False
Restart Count: 0
Requests:
cpu: 100m
Environment: <none>
Mounts:
/mnt from my-pvc-nfs (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-20n4b (ro)
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes:
my-pvc-nfs:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: nfs
ReadOnly: false
default-token-20n4b:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-20n4b
Optional: false
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: <none>
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
5m 5m 1 default-scheduler Normal Scheduled Successfully assigned nfs-busybox-2762569073-lhb5p to gke-mappedinn-cluster-default-pool-f94cb0d4-fmfb
3m 48s 2 kubelet, gke-mappedinn-cluster-default-pool-f94cb0d4-fmfb Warning FailedMount Unable to mount volumes for pod "nfs-busybox-2762569073-lhb5p_default(b1e7c901-1f14-11e7-a084-42010a8e0116)": timeout expired waiting for volumes to attach/mount for pod "default"/"nfs-busybox-2762569073-lhb5p". list of unattached/unmounted volumes=[my-pvc-nfs]
3m 48s 2 kubelet, gke-mappedinn-cluster-default-pool-f94cb0d4-fmfb Warning FailedSync Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "default"/"nfs-busybox-2762569073-lhb5p". list of unattached/unmounted volumes=[my-pvc-nfs]
37s 37s 1 kubelet, gke-mappedinn-cluster-default-pool-f94cb0d4-fmfb Warning FailedMount MountVolume.SetUp failed for volume "kubernetes.io/nfs/b1e7c901-1f14-11e7-a084-42010a8e0116-nfs" (spec.Name: "nfs") pod "b1e7c901-1f14-11e7-a084-42010a8e0116" (UID: "b1e7c901-1f14-11e7-a084-42010a8e0116") with: mount failed: exit status 32
Mounting command: /home/kubernetes/bin/mounter
Mounting arguments: 10.247.250.208:/exports /var/lib/kubelet/pods/b1e7c901-1f14-11e7-a084-42010a8e0116/volumes/kubernetes.io~nfs/nfs nfs []
Output: Running mount using a rkt fly container
run: group "rkt" not found, will use default gid when rendering images
我是不是漏掉了什么?
谢谢,
kubernetes问题中的这个评论似乎解决了GKE上的这个NFS问题。
反驳这一评论:
编辑examples/volumes/nfs/nfs-pv.yaml
将最后一行改为path:“/”
。
编辑examples/volumes/nfs/nfs-server-rc.yaml
将映像更改为启用NFSv4映像的映像:gcr.io/google_containers/volume-nfs:0.8
此外,还有其他问题在这里和这里进行跟踪。
这可能是一个非常简单的问题,但我似乎不知道如何只允许从我的office IP访问我的kubernetes集群。 在我的防火墙规则中,我看到我的gke节点规则是2个内部ip和我的office ip。 我还看到了我在外部IP地址中看不到的外部IP范围的防火墙规则。该IP地址也不会出现在我的负载均衡器IP中...... 最后,我有一个负载平衡防火墙规则,它允许负载平衡选项卡中的外部IP范围,这是我的ku
我一直在尝试使用Traefik作为Google云容器引擎的入口控制器。 我让我的超文本传输协议部署/服务启动并运行(当我用普通的负载均衡器公开它时,它回答得很好)。 然后我删除了LoadBalancer,并遵循本教程:https://docs.traefik.io/user-guide/kubernetes/ 因此,我得到了一个新的traefik入口控制器部署和服务,以及一个traefik ui入
问题内容: 我无法在Google Container Engine中使用“应用程序默认凭据”。这些文档说,它们是为App Engine和Compute Engine设计的,但是有人告诉我,它们应该透明地传递给在Container Engine上运行的容器。 这是失败的代码: 失败的错误: 期望Application Default Credentials与Container Engine一起使用是
我不熟悉python和谷歌应用程序。我已经用python和google app engine创建了一个应用程序。我已经下载了应用程序的源代码并进行了定制。我下载的源代码没有应用程序。yaml和索引。亚马尔在里面。现在我想知道,如果我在没有应用的情况下在谷歌应用引擎上上传我的应用。yaml和索引。yaml那么我在live server上的数据是否有可能丢失。请告诉我正确的道路,我做错了什么。我也不知
所有操作均需要事先创建并配置 ORM 引擎才可以进行。XORM 支持两种 ORM 引擎,即 Engine 引擎和 Engine Group 引擎。一个 Engine 引擎用于对单个数据库进行操作,一个 Engine Group 引擎用于对读写分离的数据库或者负载均衡的数据库进行操作。Engine 引擎和 EngineGroup 引擎的API基本相同,所有适用于 Engine 的 API 基本上都适
单个ORM引擎,也称为Engine。一个 APP 可以同时存在多个 Engine 引擎,一个Engine一般只对应一个数据库。Engine 通过调用 xorm.NewEngine 生成,如: import ( _ "github.com/go-sql-driver/mysql" "xorm.io/xorm" ) var engine *xorm.Engine fu