diff --git a/docs/user/aws/images/.gitignore b/docs/user/aws/images/.gitignore new file mode 100644 index 00000000000..85cd3dd1f29 --- /dev/null +++ b/docs/user/aws/images/.gitignore @@ -0,0 +1,2 @@ +AWS-Architecture-Icons_SVG* +__MACOSX diff --git a/docs/user/aws/images/Makefile b/docs/user/aws/images/Makefile new file mode 100644 index 00000000000..42c0f5a9f66 --- /dev/null +++ b/docs/user/aws/images/Makefile @@ -0,0 +1,20 @@ +all: install_upi.svg install_upi_vpc.svg + +install_upi.svg: install_upi.dia relink-dia.py AWS-Architecture-Icons_SVG/.touch + dia --export $@ $< + ./relink-dia.py $@ + +install_upi_vpc.svg: install_upi.dia relink-dia.py AWS-Architecture-Icons_SVG/.touch + dia -L 'Availability Zones,VPC,Subnets,Route53 (Private)' --export $@ $< + ./relink-dia.py $@ + +# URI from https://aws.amazon.com/architecture/icons/ +AWS-Architecture-Icons_SVG.zip: + curl https://d1.awsstatic.com/webteam/architecture-icons/AWS-Architecture-Icons_SVG_20190131.f8dacae00681382ab91d59994de429d6e9a680bc.zip >$@ + +AWS-Architecture-Icons_SVG/.touch: AWS-Architecture-Icons_SVG.zip + unzip -o $< + touch $@ + +clean: + rm -rf install_upi*.svg AWS-Architecture-Icons_SVG* __MACOSX diff --git a/docs/user/aws/images/install_upi.dia b/docs/user/aws/images/install_upi.dia new file mode 100644 index 00000000000..5d2067660b0 Binary files /dev/null and b/docs/user/aws/images/install_upi.dia differ diff --git a/docs/user/aws/images/install_upi.svg b/docs/user/aws/images/install_upi.svg new file mode 100644 index 00000000000..f8f5a22a831 --- /dev/null +++ b/docs/user/aws/images/install_upi.svg @@ -0,0 +1,330 @@ + + AWS-General_AWS-Cloud_light-bgAmazon-Route-53Amazon-VPCAmazon-VPC_Internet-Gateway_light-bgAmazon-VPC_Endpoints_light-bgAmazon-VPC_Router_light-bgAmazon-VPC_NAT-Gateway_light-bgAWS-Identity-and-Access-Management_IAMSecurity-group_light-bgAmazon-EC2_M4-Instance_light-bgElastic-Load-Balancing-ELB_light-bgAmazon-Simple-Storage-Service-S3_Bucket_light-bg + + + + + Public Hosted Zone + + + + + + + VPC + + + Internet + Gateway + + + + + + + + S3 VPC + Endpoint + + + Route Table + + + + + + + + + + + + + + + + 10.0.0.0/16 + + + Private + Hosted + Zone + + + + + + + Availability Zone A + + + + + + + Availability Zone B + + + + Availability Zone C + + + + + + + + + + + + + + + + + + Public Subnet - 10.0.0.0/20 + + + Private Subnet - 10.0.128.0/20 + + + + + + NAT Gateway + + + + + + + + + + + + + + Public Subnet - 10.0.16.0/20 + + + Private Subnet - 10.0.144.0/20 + + + + + + NAT Gateway + + + + + + + + + + Public Subnet - 10.0.32.0/20 + + + Private Subnet - 10.0.160.0/20 + + + + + + NAT Gateway + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master IAM + + + Worker IAM + + + + + + + + + + + + cloud credential operator IAM + + + Registry S3 Bucket + + + + + + + + + + + + + API + + + API + + + Router + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image-registry IAM + + + ingress IAM + + + cluster API IAM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/user/aws/images/install_upi_vpc.png b/docs/user/aws/images/install_upi_vpc.png deleted file mode 100644 index 5d7c10f0648..00000000000 Binary files a/docs/user/aws/images/install_upi_vpc.png and /dev/null differ diff --git a/docs/user/aws/images/install_upi_vpc.svg b/docs/user/aws/images/install_upi_vpc.svg new file mode 100644 index 00000000000..614eefa2341 --- /dev/null +++ b/docs/user/aws/images/install_upi_vpc.svg @@ -0,0 +1,194 @@ + + Amazon-VPCAmazon-VPC_Internet-Gateway_light-bgAmazon-VPC_Endpoints_light-bgAmazon-VPC_Router_light-bgAmazon-Route-53Amazon-VPC_NAT-Gateway_light-bg + + + + + VPC + + + Internet + Gateway + + + + + + + + S3 VPC + Endpoint + + + Route Table + + + + + + + + + + + + + + + + 10.0.0.0/16 + + + Private + Hosted + Zone + + + + + + + Availability Zone A + + + + + + + Availability Zone B + + + + Availability Zone C + + + + + + + + + + + + + + + + + + Public Subnet - 10.0.0.0/20 + + + Private Subnet - 10.0.128.0/20 + + + + + + NAT Gateway + + + + + + + + + + + + + + Public Subnet - 10.0.16.0/20 + + + Private Subnet - 10.0.144.0/20 + + + + + + NAT Gateway + + + + + + + + + + Public Subnet - 10.0.32.0/20 + + + Private Subnet - 10.0.160.0/20 + + + + + + NAT Gateway + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/user/aws/images/relink-dia.py b/docs/user/aws/images/relink-dia.py new file mode 100755 index 00000000000..c671a2260ed --- /dev/null +++ b/docs/user/aws/images/relink-dia.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +# +# Replace file:///... references with relative links and add the targets to Git. + +import base64 +import os +import sys +import urllib.parse +import xml.etree.ElementTree + + +def slug(uri): + return os.path.basename(uri) + + +def get_def(path): + tree = xml.etree.ElementTree.parse(path) + root = tree.getroot() + root.set('id', slug(path)) + return root + + +def relink(path): + images = set() + tree = xml.etree.ElementTree.parse(path) + root = tree.getroot() + parents = {c: p for p in tree.getiterator() for c in p} + defs = xml.etree.ElementTree.Element('{http://www.w3.org/2000/svg}defs') + root.insert(0, defs) + for image in list(root.findall('{http://www.w3.org/2000/svg}image')): + uri = urllib.parse.unquote(image.get('{http://www.w3.org/1999/xlink}href')).split('/./', 1)[-1] + if uri not in images: + defs.append(get_def(path=uri)) + images.add(uri) + parent = parents[image] + parent_index = list(parent).index(image) + parent.remove(image) + attrib = dict(image.items()) + attrib['{http://www.w3.org/1999/xlink}href'] = '#' + slug(uri) + parent.insert( + parent_index, + xml.etree.ElementTree.Element('{http://www.w3.org/2000/svg}use', attrib=attrib)) + tree.write(path) + + +for path in sys.argv[1:]: + relink(path=path) diff --git a/docs/user/aws/install_upi.md b/docs/user/aws/install_upi.md index 7ce9517c0df..224be2ed00c 100644 --- a/docs/user/aws/install_upi.md +++ b/docs/user/aws/install_upi.md @@ -39,7 +39,9 @@ VPC configuration and a CloudFormation template is provided [here](../../../upi/ A created VPC via the template or manually should approximate a setup similar to this: -![Example VPC Architecture Diagram](images/install_upi_vpc.png) +
+ +
## Create DNS entries and Load Balancers for Control Plane Components