20장. AWS(Amazon Web Services)에 대한 구성
20.1. 개요
애플리케이션 데이터의 영구 스토리지로 AWS 볼륨을 사용하는 등 AWS EC2 인프라에 액세스하도록 OpenShift Container Platform을 구성할 수 있습니다. AWS를 구성한 후 OpenShift Container Platform 호스트에서 일부 추가 구성을 완료해야 합니다.
20.1.1. AWS(Amazon Web Services)에 대한 권한 부여 구성
권한 AWS 인스턴스에는 OpenShift Container Platform에서 로드 밸런서 및 스토리지를 요청하고 관리할 수 있도록 액세스 및 비밀 키 또는 인스턴스에 할당된 IAM 역할을 사용하여 프로그래밍 액세스가 있는 IAM 계정이 필요합니다.
IAM 계정 또는 IAM 역할에는 다음과 같은 정책 권한이 있어야 전체 클라우드 공급자 기능을 사용할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeVolume*", "ec2:CreateVolume", "ec2:CreateTags", "ec2:DescribeInstances", "ec2:AttachVolume", "ec2:DetachVolume", "ec2:DeleteVolume", "ec2:DescribeSubnets", "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:DeleteSecurityGroup", "ec2:DescribeRouteTables", "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupIngress", "elasticloadbalancing:DescribeTags", "elasticloadbalancing:CreateLoadBalancerListeners", "elasticloadbalancing:ConfigureHealthCheck", "elasticloadbalancing:DeleteLoadBalancerListeners", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:DeleteLoadBalancer", "elasticloadbalancing:ModifyLoadBalancerAttributes", "elasticloadbalancing:DescribeLoadBalancerAttributes" ], "Resource": "*", "Effect": "Allow", "Sid": "1" } ] }
aws iam put-role-policy \ --role-name openshift-role \ --policy-name openshift-admin \ --policy-document file: //openshift_iam_policy
aws iam put-user-policy \ --user-name openshift-admin \ --policy-name openshift-admin \ --policy-document file: //openshift_iam_policy
OpenShift 노드 인스턴스에는 ec2:DescribeInstance
권한만 필요하지만 설치 프로그램에서는 단일 AWS 액세스 키와 시크릿만 정의할 수 있습니다. 이는 IAM 역할을 사용하여 바이패스하고 위의 권한을 마스터 인스턴스에 할당하고 노드에 ec2:DescribeInstance
를 할당할 수 있습니다.
20.1.1.1. 설치 시 OpenShift Container Platform 클라우드 공급자 구성
절차
액세스 및 비밀 키가 있는 IAM 계정을 사용하여 Amazon Web Services 클라우드 공급자를 구성하려면 다음 값을 인벤토리에 추가합니다.
[OSEv3:vars] openshift_cloudprovider_kind=aws openshift_clusterid=openshift 1 openshift_cloudprovider_aws_access_key=AKIAJ6VLBLISADPBUA 2 openshift_cloudprovider_aws_secret_key=g/8PmDNYHVSQn0BQE+xtsHzbaZaGYjGNzhbdgwjH 3
IAM 역할을 사용하여 Amazon Web Services 클라우드 공급자를 구성하려면 인벤토리에 다음 값을 추가합니다.
[source,yaml]
----
[OSEv3:vars]
openshift_cloudprovider_kind=aws
openshift_clusterid=openshift 1
----
<1> A tag assigned to all resources (instances, load balancers, vpc, etc) used for OpenShift.
NOTE: The IAM role takes the place of needing an access and secret key.
20.1.1.2. 설치 후 OpenShift Container Platform 클라우드 공급자 구성
Amazon Web Services 클라우드 공급자 값을 설치할 때 설치 시 제공하지 않은 경우 설치 후 구성을 정의하고 생성할 수 있습니다. 단계에 따라 구성 파일을 구성하고 AWS용 OpenShift Container Platform 마스터 수동 구성 마스터 및 노드를 수동으로 구성합니다.
-
모든 마스터 호스트, 노드 호스트 및 서브넷에는
kubernetes.io/cluster/<clusterid>,Value=(owned|shared)
태그가 있어야 합니다. 한 보안 그룹(노드에 연결된 그룹)에는
kubernetes.io/cluster/<clusterid>,Value=(owned|shared)
태그가 있어야 합니다.-
kubernetes.io/cluster/<clusterid>,Value=(owned|shared)
태그 또는 ELB(Elastic Load Balancing) 태그로 모든 보안 그룹에 태그를 지정하지 마십시오.
-