背景:
海内服务合作方服务器部署在新加坡AWS,而后就顺便应用了一下AWS下面的各项服务。最近要给合作方写交付文档,就顺便写一下相干服务的简略应用,并没有太深刻,因为所有环境搭建根本都是速成流程,小公司说上就上,没有工夫深入研究积攒,且次要服务环境都运行在国外腾讯云and阿里云。上面是一些流程的演示!
留神:演示流程搭建在aws北京区,故很多arn:aws-cn会,请留神各项区别!以下操作区域都默认为北京。在集体各项操作中请确认操作区域!
从VPC开始
注: 如果已有VPC并且vpc合乎应用需要能够疏忽这一步。
对于VPC
aws官网文档:https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html
也能够依照国内两个云商的文档了解:
VPC Virtual Private Cloud(Virtual Private Cloud)户基于xxxx创立的自定义公有网络, 不同的专有网络之间二层逻辑隔离,用户能够在本人创立的专有网络内创立和治理云产品实例,比方ECS、SLB、RDS等。借用国内两家云商的官网文档,大同小异!
登录aws控制台
登陆aws控制台,点击左上角Services
搜寻VPC并进入VPC控制台
点击Service–All services 搜寻 vpc 。点击进入vpc控制台。
创立VPC
VPC控制台面版点击创立VPC:
VPC设置这里抉择VPC等还是很不便的间接抉择VPC等,设置自定义VPC名称,ipv4 cidr块能够自定义设置,这里就默认10.0.0.0/16,如果有须要多VPC网络互通,避免地址段抵触,进行更具体的划分,能够应用子网划分工具更好的划分设计网络。IPV6 cidr块放弃默认未启用。可用区AZ这里设置为3,毕竟多可用区能够更好的容灾高可用。子网设置这里没有启动公有子网private网络,设置了3个public子网跟AZ的数量是统一的
创立,期待VPC创立实现,查看VPC
重要揭示
VPC控制台找到三个对应子网subset操作编辑子网设置:
启动主动调配IP设置,否则EC2无奈主动生成绑定公网IP,须要手动创立并绑定EC2!
留神:是三个public子网都要设置一下,否则无奈启用主动调配公网IP.当然也能够用private私网,这里演示都是以public子网演示
创立EKS服务
EKS -Amazon Elastic Kubernetes Service 跟国内的tke ack一样 都是托管的kubernetes服务
参照:创立 AWS EKS 集群
创立EKS相干IAM 受权
创立 EKS Cluster Role
留神:以下操作能够用一个普通用户操作然而要有角色 策略的相干权限
在 AWS 控制台,抉择“IAM”,进入 IAM 界面,抉择右边的“角色”,而后在左边点击“创立角色”:
依照下图红色箭头进行相干操作,进入 抉择可信实体页面,顺次抉择“AWS 服务”, “EKS”,“EKS – Cluster”后,点击“下一步”:
在增加 权限页面,“AmazonEKSClusterPolicy”曾经主动增加,所以能够间接点击“下一步”
增加 角色 名称“EksClusterRole”后,其余默认,点击“创立角色”:
创立实现点击角色- EksClusterRole”,查看已绑定AmazonEKSClusterPolicy权限策略:
阐明:此 policy 为 EKS 集群,提供运行必要的权限,比方操作 EC2,主动扩大等等。角色名称能够自定义名称!
创立 EKS Node Role
办法根本与创立 Cluser Role 基本相同,依照下图选项操作:
在增加权限页面中,顺次搜寻勾选以下三个 policy,而后点击“下一步”
- AmazonEC2ContainerRegistryReadOnly
- AmazonEKSWorkerNodePolicy
- AmazonEKS_CNI_Policy
输出角色名称EKSnoderole创立角色:
创立实现点击角色- EKSnoderole”,查看已绑定的权限策略如下:
留神AmazonEBSCSIDriverPolicy 我也加了进来,EBS绑定目测会须要到的
创立eks集群
进入eks治理控制台
All services 搜寻EKS关键词,点击进入EKS治理控制台:
创立eks集群
创立EKS集群,输出自定义集群名称:
抉择版本1.24(默认)与集群服务角色(EksClusterRole),下一步:
抉择创立的VPC先默认平安组,对于kubernetes的服务的IP地址范畴能够自定义(不能与VPC网络重合),这里也间接默认了。抉择集群拜访形式看本人需要能够私有OR私有和公有,下一步:
这里配置记录日志先默认不开启了,后续能够批改:
抉择插件,默认就好,下一步
插件版本抉择,默认下一步即可:
点击创立,创立EKS集群:
EKS 集群创立好之后,自身并没有工作节点 Node,下一步咱们增加 NodeGroup。
EKS集群增加Node Group
创立ssh-key密钥
登陆EC2控制台,先创立密钥对,不便ssh登陆治理node节点:
输出密钥对名称,其余默认即可
下载密钥对文件到本地,不便当前登陆服务器
eks集群增加NodeGroup主机组
关上eks治理控制台,点击eks 集群 点开计算标签,增加 节点组
创立节点组:输出节点组名称,抉择后面创立的EKSnoderole的IAM角色,点击下一步:
设置计算和扩大配置这里,只设置了实例类型和磁盘的大小,节点扩缩默认2先不批改:
点击下一步:
指定联网 抉择subset子网,滑动配置对节点的 SSH 拜访权限,开启配置ssh设置:
点击启用:
先默认所有,后续批改平安组,点击下一步
放弃默认,点击创立:
期待node创立就绪:
期待一分钟左右 node就绪:
kubectl 不想装置在集群内了离开在上面独自配置 ,设置计算和扩大配置能够作更多ec2的自定义设置。这里简略演示!
配置Kubelet客户端
启动一个ec2实例
登陆ec2控制台,启动一个ec2新实例:
留神VPC设置,抉择集体创立的VPC并搭建了ACK集群的VPC.不同VPC集群默认不能通信的,最初点击启动实例:
期待实例初始化……
登陆EC2主机,并配置kubelet客户端
-
登陆ec2主机
ssh -i xxx.pem ec2-user@xx.xx.xxx.xx
- 装置kubelet客户端
参照:https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/install-kubectl.html
sudo -i
wget --no-check-certificate https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.9/2023-01-11/bin/linux/amd64/kubectl
chmod +x kubelet
cp kubectl /usr/bin/
kubectl version
-
配置aws configure
aws configure aws sts get-caller-identity
aws configure 输出 key secret
aws eks --region cn-north-1 update-kubeconfig --name xxxx kubectl get pods
呈现以下谬误:
依据https://github.com/aws/aws-cli/issues/6920更换kubelet版本:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.23.6/bin/linux/amd64/kubectl chmod +x kubectl cp kubectl /usr/bin/
如果呈现下图无反馈状态,则能够查看一下平安组,放行一下:
查看一下平安组…能够先临时放开一下
最终实现如下:内部拜访api server这里能够额定设置,这里默认设置了0.0.0.0/0
初始化搭建集群实现,后续会挂载csi存储,搭建ingress裸露服务
发表回复