Kubernetes PetSet – Failed创build持久性卷
我试图设置一个Kubernetes PetSet,如文档中所述。 当我创buildPetSet时,我似乎无法获得永久卷声明绑定到持久卷。 这里是我定义PetSet的Yaml文件:
apiVersion: apps/v1alpha1 kind: PetSet metadata: name: 'ml-nodes' spec: serviceName: "ml-service" replicas: 1 template: metadata: labels: app: marklogic tier: backend annotations: pod.alpha.kubernetes.io/initialized: "true" spec: containers: - name: 'ml' image: "192.168.201.7:5000/dcgs-sof/ml8-docker-final:v1" imagePullPolicy: Always ports: - containerPort: 8000 name: ml8000 protocol: TCP - containerPort: 8001 name: ml8001 - containerPort: 7997 name: ml7997 - containerPort: 8002 name: ml8002 - containerPort: 8040 name: ml8040 - containerPort: 8041 name: ml8041 - containerPort: 8042 name: ml8042 volumeMounts: - name: ml-data mountPath: /data/vol-data lifecycle: preStop: exec: # SIGTERM triggers a quick exit; gracefully terminate instead command: ["/etc/init.d/MarkLogic stop"] volumes: - name: ml-data persistentVolumeClaim: claimName: ml-data terminationGracePeriodSeconds: 30 volumeClaimTemplates: - metadata: name: ml-data annotations: volume.alpha.kubernetes.io/storage-class: anything spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 2Gi
如果我在创build的PetSet上进行“描述”,我会看到以下内容:
Name: ml-nodes Namespace: default Image(s): 192.168.201.7:5000/dcgs-sof/ml8-docker-final:v1 Selector: app=marklogic,tier=backend Labels: app=marklogic,tier=backend Replicas: 1 current / 1 desired Annotations: <none> CreationTimestamp: Tue, 20 Sep 2016 13:23:14 -0400 Pods Status: 0 Running / 1 Waiting / 0 Succeeded / 0 Failed No volumes. Events: FirstSeen LastSeen Count From SubobjectPath Type Reason Message --------- -------- ----- ---- ------------- -------- ------ ------- 33m 33m 1 {petset } Warning FailedCreate pvc: ml-data-ml-nodes-0, error: persistentvolumeclaims "ml-data-ml-nodes-0" not found 33m 33m 1 {petset } Normal SuccessfulCreate pet: ml-nodes-0
我试图在我的本地机器上的minikube环境中运行。 不知道我在这里失踪?
minikube有一个公开的问题 。 持续卷configuration支持目前在minikube中似乎尚未完成。
为了使用本地存储,控制器pipe理器上需要以下标志,并且当前未在minikube上启用该标志。
–enable-hostpath-provisioner [= false]:在没有云提供者的情况下运行时启用HostPath PV供应。 这允许testing和开发configurationfunction。 HostPathconfiguration不受任何支持,在多节点集群中不起作用,除了testing或开发之外,不应该用于任何其他用途。
参考: http : //kubernetes.io/docs/admin/kube-controller-manager/
对于本地开发/testing,如果在设置环境variables之后使用hack/local_up_cluster.sh
来启动本地集群,它将会起作用:
export ENABLE_HOSTPATH_PROVISIONER=true
您应该能够在最新版本的minikube中使用PetSets,因为它使用kubernetes v1.4.1作为默认版本。
- 如何在docker提供者上运行vagrant上的provision.sh
- Docker私有registry和默认安装程序
- 我们如何从主机访问Docker容器中的variables
- docker集装箱内的pip安装下载速度非常慢
- 在Ubuntu Docker容器中构build并运行无头unity3D游戏
- Docker for Windows:ASP.NET站点无法读取在Dockerfile中定义的环境variables
- war-file作为运行docker时的容器或共享文件夹的一部分
- 使用SQL Management Studio连接到Linux(docker)上的SQL Server
- 在构build过程中将文件从容器复制到主机