安装先决条件
Circleci使用TerraForm来自动执行Circleci Server安装的基础架构的部分,因此您需要第一次安装:
访问下载Terraform.并为您的体系结构选择正确的包。
在开始安装过程之前,请确保您提供以下信息:
circleci许可证文件(
.rli.
)。联系Circleci支持获取许可证,并请求启用集群的许可证,以便在专用实例上运行作业以获得最佳性能。您的AWS访问密钥ID和秘密访问密钥。
你的名字AWS EC2密钥对。
AWS地区, 例如
美国西 - 2
。AWS虚拟私有云(VPC) ID和AWS子网ID。如果您的帐户被配置为使用默认的VPC,您的默认VPC ID会列在帐户属性下,您可以在AWS管理控制台的EC2仪表板页面上找到它。
设置您的VPC(
EnableDNSSupport.
)设置真正的
为了确保在169.254.169.253 IP地址提供DNS服务器的查询,或者VPC IPv4网络范围加上两个基础上的保留IP地址将成功。看看在VPC中使用DNS亚马逊Web服务文档有关其他详细信息。
私有子网要求
需要以下其他设置来支持使用Circleci上的AWS上的私有子网:
必须配置Builder框的私有子网,其中包含一个NAT网关或者一个互联网网关通过附加的路由表配置为互联网的出站流量。
子网应该足够大决不排出地址。 该S3的VPC端点应该启用。启用S3的VPC端点应显着改善Circleci和子网中其他节点的S3操作。
为繁重的网络操作充分提供NAT实例的能量。根据部署的具体情况,NAT实例可能会受到使用Docker和外部网络资源的高度并行构建的限制。NAT不适当会导致网络和缓存操作缓慢。
如果你对github.com.,确保您的网络访问控制列表(ACL)允许GitHub网络钩子的端口80和443。与GitHub集成时,可以在公共子网中设置CircleCI,或者设置公共负载均衡器来转发github.com的流量。
看看服务机器我们概述的一部分,了解Circleci安装中需要访问的特定端口的更多信息。
规划
在开始安装之前,提供以下信息和策略:
如果使用网络代理,请在开始安装之前联系您的帐户团队。
计划提供至少两个AWS实例,一个用于服务,另一个用于第一组Nomad客户机。最佳实践是使用
m4.2xlarge
具有8个VCPU和32GB RAM的实例,用于服务和Nomad客户端实例。AWS实例必须具有导出Docker容器和验证许可证的出站访问权。如果您不想给予开放出站访问,请参阅我们的港口清单这需要访问。
为了提供具有Terraform所需的AWS实体,您将需要一个具有以下权限的IAM用户(请参阅AWS指导关于创建IAM用户):
{“版”:“2012-10-17”那“声明”:[{“行动”:[“s3: *”),“效应”:“允许”那“资源”:[“攻击:aws: s3::: circleci - *”那“攻击:aws: s3::: circleci - * / *”那“ARN:AWS:S3 ::: *”]},{“行动”:[“自动定量:*”那“SQS:*”那“我是:*”那“EC2:StartInstances”那“ec2: RunInstances”那“ec2: TerminateInstances”那“EC2:描述*”那“EC2:CreateTags”那“EC2:AuthorizesEcurityGroupegress”那“ec2: AuthorizeSecurityGroupIngress”那“EC2:CreateSecurityGroup”那“EC2:DeletesEcurityGroup”那“EC2:DescripdeInstanceattribute”那“ec2: DescribeInstanceStatus”那“EC2:Descripteinstances”那“ec2: DescribeNetworkAcls”那“EC2:描述安全群”那“EC2:RevokeseCurityGroupegress”那“EC2:RevokesecurityGroupingringress”那“EC2:ModifyInstanceattribute”那“EC2:ModifyNetWorkInterfaceattribute”那“CloudWatch:*”那“自动定量:DescribeAutoScalingGroups”那“IAM:GEYUSER”),“资源”:[“*”),“效应”:“允许”}]}