diff options
Diffstat (limited to 'README_AWS.md')
-rw-r--r-- | README_AWS.md | 92 |
1 files changed, 80 insertions, 12 deletions
diff --git a/README_AWS.md b/README_AWS.md index 0e3128a92..650a921a4 100644 --- a/README_AWS.md +++ b/README_AWS.md @@ -1,3 +1,4 @@ +:warning: **WARNING** :warning: This feature is community supported and has not been tested by Red Hat. Visit [docs.openshift.com](https://docs.openshift.com) for [OpenShift Enterprise](https://docs.openshift.com/enterprise/latest/install_config/install/planning.html) or [OpenShift Origin](https://docs.openshift.org/latest/install_config/install/planning.html) supported installation docs. AWS Setup Instructions ====================== @@ -22,6 +23,37 @@ Note: You must source this file before running any Ansible commands. Alternatively, you could configure credentials in either ~/.boto or ~/.aws/credentials, see the [boto docs](http://docs.pythonboto.org/en/latest/boto_config_tut.html) for the format. +Subscribe to CentOS +------------------- + +1. [CentOS on AWS](https://aws.amazon.com/marketplace/pp/B00O7WM7QW) + + +Set up Security Group +--------------------- +By default, a cluster is launched into the `public` security group. Make sure you allow hosts to talk to each other on port `4789` for SDN. +You may also want to allow access from the outside world on the following ports: + +``` +• 22/TCP - ssh +• 80/TCP - Web Apps +• 443/TCP - Web Apps (https) +• 4789/UDP - SDN / VXLAN +• 8443/TCP - OpenShift Console +• 10250/TCP - kubelet +``` + + +Determine your subnet and setup the VPC +--------------------------------------- + +In the AWS VPC console, look up your subnet ID for the region you want to use and set it as such: + +- export ec2_vpc_subnet='my_vpc_subnet' + +Go to Your VPCs, select the VPC, and under Actions -> DNS Hostnames, set to Yes and Save. + + (Optional) Setup your $HOME/.ssh/config file ------------------------------------------- In case of a cluster creation, or any other case where you don't know the machine hostname in advance, you can use `.ssh/config` @@ -30,7 +62,7 @@ to setup a private key file to allow ansible to connect to the created hosts. To do so, add the the following entry to your $HOME/.ssh/config file and make it point to the private key file which allows you to login on AWS. ``` Host *.compute-1.amazonaws.com - PrivateKey $HOME/.ssh/my_private_key.pem + IdentityFile $HOME/.ssh/my_private_key.pem ``` Alternatively, you can configure your ssh-agent to hold the credentials to connect to your AWS instances. @@ -40,18 +72,18 @@ Alternatively, you can configure your ssh-agent to hold the credentials to conne By default, a cluster is launched with the following configuration: -- Instance type: m3.large -- AMI: ami-307b3658 (for online deployments, ami-acd999c4 for origin deployments and ami-10663b78 for enterprise deployments) +- Instance type: m4.large +- AMI: ami-7a9e9812 (for online deployments, ami-61bbf104 for origin deployments and ami-10663b78 for enterprise deployments) - Region: us-east-1 - Keypair name: libra - Security group: public -Master specific defaults: +#### Master specific defaults: - Master root volume size: 10 (in GiBs) - Master root volume type: gp2 - Master root volume iops: 500 (only applicable when volume type is io1) -Node specific defaults: +#### Node specific defaults: - Node root volume size: 10 (in GiBs) - Node root volume type: gp2 - Node root volume iops: 500 (only applicable when volume type is io1) @@ -60,14 +92,34 @@ Node specific defaults: - Docker volume type: gp2 (only applicable if ephemeral is false) - Docker volume iops: 500 (only applicable when volume type is io1) +### Specifying ec2 instance type. + +#### All instances: + +- export ec2_instance_type='m4.large' + +#### Master instances: + +- export ec2_master_instance_type='m4.large' + +#### Infra node instances: + +- export ec2_infra_instance_type='m4.large' + +#### Non-infra node instances: + +- export ec2_node_instance_type='m4.large' + +#### etcd instances: + +- export ec2_etcd_instance_type='m4.large' + If needed, these values can be changed by setting environment variables on your system. -- export ec2_instance_type='m3.large' - export ec2_image='ami-307b3658' - export ec2_region='us-east-1' - export ec2_keypair='libra' - export ec2_security_groups="['public']" -- export ec2_vpc_subnet='my_vpc_subnet' - export ec2_assign_public_ip='true' - export os_etcd_root_vol_size='20' - export os_etcd_root_vol_type='standard' @@ -82,13 +134,19 @@ If needed, these values can be changed by setting environment variables on your Install Dependencies -------------------- 1. Ansible requires python-boto for aws operations: -RHEL/CentOS/Fedora + +Fedora +``` + dnf install -y ansible python-boto pyOpenSSL ``` - yum install -y ansible python-boto + +RHEL/CentOS +``` + yum install -y ansible python-boto pyOpenSSL ``` OSX: ``` - pip install -U boto + pip install -U pyopenssl boto ``` @@ -125,8 +183,18 @@ Terminating a cluster Specifying a deployment type --------------------------- The --deployment-type flag can be passed to bin/cluster to specify the deployment type -1. To launch an online cluster (requires access to private repositories and amis): +1. To launch an OpenShift Enterprise cluster (requires a valid subscription): ``` - bin/cluster create aws --deployment-type=online <cluster-id> + bin/cluster create aws --deployment-type=openshift-enterprise <cluster-id> ``` Note: If no deployment type is specified, then the default is origin. + + +## Post-ansible steps + +You should now be ready to follow the **What's Next?** section of the advanced installation guide to deploy your router, registry, and other components. + +Refer to the advanced installation guide for your deployment type: + +* [OpenShift Enterprise](https://docs.openshift.com/enterprise/latest/install_config/install/advanced_install.html#what-s-next) +* [OpenShift Origin](https://docs.openshift.org/latest/install_config/install/advanced_install.html#what-s-next) |