openshift origin - 使用动态ebs卷

时间:2017-11-14 16:06:37

标签: amazon-web-services openshift-origin

我正在AWS中运行openshift origin 3.6(kube v1.6.1 + 5115d708d7)。 Ansible清单包含云提供程序配置,我可以在主节点上看到配置文件。

   # From inventory
   # AWS
   openshift_cloudprovider_kind=aws
   openshift_cloudprovider_aws_access_key="{{ lookup('env','AWS_ACCESS_KEY_ID') }}"
   openshift_cloudprovider_aws_secret_key="{{ lookup('env','AWS_SECRET_ACCESS_KEY') }}"

我还配置了一个存储类

   # oc get storageclass
   NAME             TYPE
   fast (default)   kubernetes.io/aws-ebs

然而,当我尝试创建一个pvc:

    kind: "PersistentVolumeClaim"
    apiVersion: "v1"
    metadata:
      name: "testclaim"
      namespace: testns
    spec:
      accessModes:
        - "ReadWriteOnce"
      resources:
        requests:
          storage: "3Gi"
      storageClassName: fast

它只是无限循环试图获得pvc创建。事件告诉我这个错误:

   (combined from similar events): Failed to provision volume with StorageClass "fast": UnauthorizedOperation: You are not authorized to perform this operation. Encoded authorization failure message: $(encoded-message) status code: 403, request id: d0742e84-a2e1-4bfd-b642-c6f1a61ddc1b

不幸的是我无法使用aws cli解码编码的消息,因为它会给出错误。

   aws sts decode-authorization-message -–encoded-message $(encoded-message) 
   Error: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal

我没有尝试过pv + pvc创建,因为我正在寻找动态配置。关于我可能做错的任何指导。

到目前为止,我已经能够部署pod,服务等,它们似乎工作正常。

1 个答案:

答案 0 :(得分:0)

该错误似乎是AWS IAM错误:

  

UnauthorizedOperation

     

您无权执行此操作。检查你的IAM   策略,并确保您使用正确的访问密钥。对于   有关更多信息,请参阅控制访问。如果返回的消息是   编码后,您可以使用DecodeAuthorizationMessage对其进行解码   行动。有关更多信息,请参阅中的DecodeAuthorizationMessage   AWS Security Token Service API参考。

http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html#CommonErrors

您需要创建适当的IAM政策:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-manage-volumes