我具有ICP 3.1.2 Community Edition的单节点安装,并且还可以运行PowerVC。我正在尝试通过ICP创建一个默认的PersistentVolumeClaim,失败并显示错误:
“正常的持久卷控制器1654 ExternalProvisioning 等待由外部供应商“ ibm / powervc-k8s-volume-provisioner”创建的卷或由系统管理员手动创建的卷”
如图所示,我的ibm-powervc-k8s-volume-driver V 1.0.1安装成功
我收到的详细信息错误是针对开放式堆栈身份验证的,因为我检查了在默认名称空间中创建的秘密密钥
{
"log": "I0301 04:17:46.210919 1 provision.go:199] StorageClass parameter, type, is empty\n",
"stream": "stderr",
"time": "2019-03-01T04:17:46.210996663Z"
} {
"log": "I0301 04:17:46.210924 1 provision.go:202] StorageClass parameter, availability, is empty\n",
"stream": "stderr",
"time": "2019-03-01T04:17:46.211001206Z"
} {
"log": "E0301 04:17:49.811950 1 provision.go:90] Failed to construct / authenticate OpenStack : Error while authenticating from openstack Authentication failed\n",
"stream": "stderr",
"time": "2019-03-01T04:17:49.812057607Z"
} {
"log": "E0301 04:17:49.811987 1 controller.go:895] Failed to provision volume for claim \"default/mypvc1\" with StorageClass \"ibm-powervc-k8s-volume-default\": Error while authenticating from openstack Authentication failed\n",
"stream": "stderr",
"time": "2019-03-01T04:17:49.812091733Z"
}
答案 0 :(得分:0)
您需要确保您的deployment.yaml(请参阅下面的env设置)调用您的秘密进入openstack来创建我将从错误消息中认为的卷。...在您的命名空间的“默认”秘密,以避免必须在您的Yaml文件中使用它...对于我来说,我的Google-fu找不到它LOL
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: sample-app
namespace: default
spec:
replicas: 1
template:
metadata:
labels:
app: sample-app
spec
containers:
- name: sample-app
image: gcr.io/google_containers/defaultbackend:1.0
ports:
- containerPort: 8080
volumeMounts:
- name: service-key
mountPath: /root/key.json
subPath: key.json
env:
- name: "AUTH_TOKEN"
valueFrom:
secretKeyRef:
name: my-secret
key: webhook_token
- name: "SLACK_TOKEN"
valueFrom:
secretKeyRef:
name: my-secret
key: slack_token
volumes:
- name: service-key
secret:
secretName: my-secret
items:
- key: service-account-key
path: key.json
答案 1 :(得分:0)
我遇到了与您相同的问题,但是在我的情况下是连接到powervc的用户密码,我的密码包含特殊字符,现在我在flex-volume-driver上更改为只有字母和数字的新密码一切正常!
希望这对您有所帮助。