首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenShift 3来源持续的卷问题

OpenShift 3来源持续的卷问题
EN

Stack Overflow用户
提问于 2016-01-12 06:04:53
回答 4查看 556关注 0票数 2

在尝试使用持久卷时,我们的openshift aws部署遇到了问题。

这些是在尝试部署mysql持久实例时出现的一些错误。

为pod“mysql-4-uizxn_ -Unable - -Error”装载卷的持久测试:云提供程序不支持卷pod同步pod,跳过:云提供程序不支持卷

我们在每个节点上添加了以下内容-config.yaml

代码语言:javascript
复制
kubeletArguments:
  cloud-provider:
    - "aws"
  cloud-config:
    - "/etc/aws/aws.conf"

并将以下内容添加到我们的master-config.yaml

代码语言:javascript
复制
kubernetesMasterConfig:
  apiServerArguments:
    cloud-provider:
      - "aws"
    cloud-config:
      - "/etc/aws/aws.conf"
  controllerArguments:
    cloud-provider:
      - "aws"
    cloud-config:
      - "/etc/aws/aws.conf"

不确定我们是否只是遗漏了什么,或者是否存在已知问题/解决方法。

还有一个问题是,openshift或kubernetes如何知道配置文件已被更改?

另外,为了给您一些背景信息,我们使用openshift-ansible来部署我们的环境。

EN

回答 4

Stack Overflow用户

发布于 2016-01-20 01:04:49

文档声明导出环境变量的方式有点不准确。需要将它们添加到systemd单元文件引用的环境中,或者需要授予节点适当的IAM权限。

要在环境中为节点配置凭据,请将以下内容添加到/etc/sysconfig/assuming node (假设Origin 1.1):

代码语言:javascript
复制
AWS_ACCESS_KEY_ID=<key id>
AWS_SECRET_ACCESS_KEY=<secret key>

或者,可以为节点分配一个具有适当权限的IAM角色。以下cloudformation资源片段为节点创建具有适当权限的角色:

代码语言:javascript
复制
"NodeIAMRole": {
  "Type": "AWS::IAM::Role",
  "Properties": {
    "AssumeRolePolicyDocument": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": { "Service": [ "ec2.amazonaws.com" ] },
          "Action": [ "sts:AssumeRole" ]
        }
      ]
    },
    "Policies": [
      {
        "PolicyName": "demo-node-1",
        "PolicyDocument": {
          "Version" : "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": "ec2:Describe*",
              "Resource": "*"
            }
          ]
        }
      },
      {
        "PolicyName": "demo-node-2",
        "PolicyDocument": {
          "Version" : "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": "ec2:AttachVolume",
              "Resource": "*"
            }
          ]
        }
      },
      {
        "PolicyName": "demo-node-3",
        "PolicyDocument": {
          "Version" : "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": "ec2:DetachVolume",
              "Resource": "*"
            }
          ]
        }
      }
    ]
  }
}
票数 1
EN

Stack Overflow用户

发布于 2016-01-12 22:56:19

看起来OpenShift的AWS提供商无法与AWS API通信。

根据https://docs.openshift.org/latest/install_config/configuring_aws.html的说法,您应该将这些变量与您的亚马逊网络服务凭证一起导出:

export AWS_ACCESS_KEY_ID=<key id> export AWS_SECRET_ACCESS_KEY=<secret key>

亚马逊网络服务文档here中介绍了亚马逊网络服务凭证的创建

票数 0
EN

Stack Overflow用户

发布于 2016-01-12 23:06:13

您是否在IAM控制台的管理员组中设置和配置了您的用户?这已经有一段时间了,但我想我在AWS上试验OSE时也遇到了同样的问题,这就是最终解决它的原因。

https://console.aws.amazon.com/iam/home#home

我将我的用户添加到管理员组中(我不记得是否必须先创建该组,然后再将我的用户添加到其中)。然后我附加了两个策略:

代码语言:javascript
复制
   EC2FullAccess and AdministratorAccess

另外,请确保导出密钥对并重新启动主服务和节点服务:

代码语言:javascript
复制
    export AWS_ACCESS_KEY_ID=<key id>  
    export AWS_SECRET_ACCESS_KEY=<secret key>  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34731990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档