玩转aws之(一)eks集群部署

这篇具有很好参考价值的文章主要介绍了玩转aws之(一)eks集群部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 前言

2. 创建EKS集群

2.2.1 创建集群角色

2.2.2 创建 EKS 集群

2.2.3 添加主机组

3. 配置kubectl访问集群

3.1 安装kubectl

3.2 使用AWS CLi配置.kube/config

4. 安装ingress controll


创建集群文档参考:创建 Amazon EKS 集群 - Amazon EKS

1. 前言

aws官方用户指南中关于创建EKS集群部分,看了几次才理解了整个创建过程,这里总结了创建集群的过程和步骤,可以通过eksctl、管理控制台和aws cli创建集群,这里通过管理控制台进行创建

EKS创建后默认没有worker节点、附加组件只有vpc cni、coredns、kubeproxy,因此需要自己添加worker节点和其它自定义组件,如ingress controll

创建步骤

  • 创建集群角色
  • 创建EKS集群
  • 添加node
  • 配置kubectl
  • 安装ingress/alb(可选)

2. 创建EKS集群

2.2.1 创建集群角色

  • 创建 Amazon EKS 集群角色参考文档:Amazon EKS 集群 IAM 角色 - Amazon EKS
  • 需要创建两个角色
    • EKS Cluster Role: 管理EKS集群用
    • EKS Node Role: 添加EC2主机组用

创建EKS Cluster Role

打开 IAM 控制台:https://console.aws.amazon.com/iam/

选择 Roles,然后选择 Create role。

在 Trusted entity type(受信任的实体类型)下,选择 AWS service(AWS 服务)

从 Use cases for other AWS 服务(其他 AWS 服务 的使用案例)下拉列表中,选择 EKS

为您的使用案例选择 EKS - Cluster(EKS - 集群),然后选择 Next(下一步)

aws eks,云相关,k8s,aws,云计算,运维

在 Add permissions(添加权限)选项卡上,选择 Next(下一步)

aws eks,云相关,k8s,aws,云计算,运维

对于 Role name(角色名称),请为角色输入唯一名称,例如 eksClusterRole

aws eks,云相关,k8s,aws,云计算,运维

 

其它可默认,点击 Create role(创建角色)

创建EKS Node Role

打开 IAM 控制台:https://console.aws.amazon.com/iam/

选择 Roles,然后选择 Create role。

在 Trusted entity type(受信任的实体类型)下,选择 AWS service(AWS 服务)

从 Use cases for other AWS 服务(其他 AWS 服务 的使用案例)下拉列表中,选择 EC2

aws eks,云相关,k8s,aws,云计算,运维

 

然后选择 Next(下一步)

在 Add permissions(添加权限)选项卡上,添加下面三个权限,然后选择 Next(下一步)

AmazonEC2ContainerRegistryReadOnly

AmazonEKSWorkerNodePolicy

AmazonEKS_CNI_Policy

aws eks,云相关,k8s,aws,云计算,运维

 

对于 Role name(角色名称),请为角色输入唯一名称,例如 eksNodeRole

其它可默认,Create role(创建角色)

aws eks,云相关,k8s,aws,云计算,运维

 

2.2.2 创建 EKS 集群

打开控制台:https://console.aws.amazon.com/eks/home#/clusters

Add cluster(添加集群),然后选择 Create(创建)

在 Configure cluster(配置集群)页面上,输入以下字段:

Name: 集群的名称

Kubernetes version: 集群 Kubernetes 版本

Cluster Service Role: 集群服务角色,选择2.2.1创建的eks集群角色

aws eks,云相关,k8s,aws,云计算,运维

 

Secrets encryption(密钥加密)–(可选,加密集群密钥),下一步

VPC: 指定VPC网络

subnets:指定子网,至少选两个,多可用区部署

security groups:安全组,可选,看情况自己配置

aws eks,云相关,k8s,aws,云计算,运维

 

Cluster endpoint access:api访问,生产环境使用Private,只能内部访问

aws eks,云相关,k8s,aws,云计算,运维

 

网络附加组件,默认限可,cni只有aws vpc cni可选

aws eks,云相关,k8s,aws,云计算,运维

 

日志按需配置

aws eks,云相关,k8s,aws,云计算,运维

 

下一步后,选create创建集群,等待10分钟左右

aws eks,云相关,k8s,aws,云计算,运维

 

集群创建后默认没有工作节点,需要手动添加主机节点

2.2.3 添加主机组

可选操作,创建key pair,用于管理托管主机组的ssh,如有规划这里可跳过

aws eks,云相关,k8s,aws,云计算,运维

 

创建完成后,会自动下载秘钥

aws eks,云相关,k8s,aws,云计算,运维

 

创建Node group

等待集群状态显示为 ACTIVE,无法为状态尚未处于 ACTIVE 的集群创建托管节点组

打开 Amazon EKS 控制台:https://console.aws.amazon.com/eks/home#/clusters。

选择要在其中创建托管节点组的集群的名称

选择 Compute(计算)选项卡

选择 Add node group(添加节点组)

在 Configure node group (配置节点组) 页面上,填写相应参数,然后选择 Next (下一步)。

aws eks,云相关,k8s,aws,云计算,运维

 

这里用上一开始创建的 IAM 角色

aws eks,云相关,k8s,aws,云计算,运维

 

标签、污点视具体需要配置

aws eks,云相关,k8s,aws,云计算,运维

 

下一步

Set compute and scaling configuration

这里按实际需求进行选配

aws eks,云相关,k8s,aws,云计算,运维

 

节点伸缩配置(初始及最小/大节点数)

aws eks,云相关,k8s,aws,云计算,运维

 

配置网络配置:子网(可将同一VPC下多个子网都选中,具体看规划),配置Configure SSH access to nodes,开启ssh用于管理节点(会弹出Warning弹窗,确认即可),配置key pairs,配置安全组acl,限制访问源IP

aws eks,云相关,k8s,aws,云计算,运维

 最后点Create开始添加节点

aws eks,云相关,k8s,aws,云计算,运维

 

添加完成后如下

aws eks,云相关,k8s,aws,云计算,运维

3. 配置kubectl访问集群

因为api只配置了私网访问,因此需要找同一VPC下的主机来配置kubectl

3.1 安装kubectl

参考文档: 安装或更新 kubectl - Amazon EKS

安装相同k8s版本的kubectl

​
curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl

chmod +x ./kubectl

mv kubectl /bin/

​

3.2 使用AWS CLi配置.kube/config

AWS CLi环境,基本上任一个ec2都有,如果没有aws这个命令,再行安装, 配置过程如下

  •  查看 aws cli配置信息
aws sts get-caller-identity
  • 生成config文件
# 命令如下
aws eks --region us-east-1 update-kubeconfig --name eks_east-1


# 参数说明
--region 集群所在的可用区

--name 集群的名字

命令成功的话会有以下输出

Added new context arn:aws:eks:us-east-1:504379495848:cluster/eks_east-1 to /root/.kube/config


# 至此集群创建和kubectl配置完毕,可以通过kubectl对集群进行管理和配置
kubectl get node

4. 安装ingress controll

ingress control版本查看:https://github.com/kubernetes/ingress-nginx/

安装命令如下

​# 安装1.3.1版本
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.3.1/deploy/static/provider/aws/deploy.yaml


​

安装成功后会效果如下

aws eks,云相关,k8s,aws,云计算,运维

其中ingress conrtoller svc会自动绑定一个clb,如果需要使用alb,请参考Load Balancers | EC2 Management Console (amazon.com)

至此,安装教程就到这

觉得有用的点个收藏吧 文章来源地址https://www.toymoban.com/news/detail-810233.html

到了这里,关于玩转aws之(一)eks集群部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第二讲:k8s集群架构与相关组件

    目录 一、相关组件         1.1 控制面板组件(master)                 1.1.1 kube-apiserver                 1.1.2 kube-controller-manager                 1.1.3 cloud-controller-manager                 1.1.4 kube-schedule                 1.1.5 etcd         1.2 节点组件            

    2024年02月16日
    浏览(44)
  • k8s入门:裸机部署 k8s 集群

    系列文章 第一章:✨ k8s入门:裸机部署 k8s 集群 第二章:✨ k8s入门:部署应用到 k8s 集群 第三章:✨ k8s入门:service 简单使用 第四章:✨ k8s入门:StatefulSet 简单使用 第五章:✨ k8s入门:存储(storage) 第六章:✨ K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间 第七章:

    2023年04月20日
    浏览(46)
  • 使用kubekey部署k8s集群和kubesphere、在已有k8s集群上部署kubesphere

    环境: centos 7.6、k8s 1.22.17、kubesphere v3.3.0 本篇以kubesphere v3.3.0版本讲解。 kubesphere 愿景是打造一个以 kubernetes 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一

    2024年02月04日
    浏览(71)
  • 部署K8S集群

    目录 一、环境搭建 1、准备环境 2、安装master节点 3、安装k8s-master上的node 4、安装配置k8s-node1节点 5、安装k8s-node2节点 6、为所有node节点配置flannel网络 7、配置docker开启加载防火墙规则允许转发数据 二、k8s常用资源管理 1、创建一个pod 2、pod管理 1、准备环境 计算机说明,建议

    2024年02月13日
    浏览(41)
  • K8s 集群部署

    学习了黑马K8s,首先跟着视频部署K8s,写下笔记 转至 原文链接 整合黑马老师笔记 目前生产部署Kubernetes集群主要有两种方式: 一 kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。 二 进制包 从github下载发行版的二进制包,手动部署每个

    2024年02月04日
    浏览(42)
  • K8S—集群部署

            K8s是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩展容维护等功能,k8s的原名是kubernetes。 1.1、K8s的功能: 有大量跨主机的容器需要管理 快速部署应用快速扩展应用 无缝对接新的应用功能 节省资源,优化硬件资源的使用情况

    2024年02月12日
    浏览(45)
  • Golang之selenium+k8s部署玩转模拟手机页面监控

    随着互联网的快速发展,用户更多的会去通过手机端去接触我们开发的产品。我们可以通过微服务,中间件,网络,甚至基于日志对我们的平台稳定性进行监控,当出现告警时,我们可以及时准确的定位系统出现的问题。 然而,当我们对底层能力做好监控时,我们并不能确保

    2024年02月04日
    浏览(48)
  • K8S二进制部署详解,一文教会你部署高可用K8S集群

    Pod网段: 10.0.0.0/16 Service网段: 10.255.0.0/16 集群角色 ip 主机名 安装组件 控制节点 10.10.0.10 master01 apiserver、controller-manager、scheduler、etcd、docker、keepalived、nginx 控制节点 10.10.0.11 master02 apiserver、controller-manager、scheduler、etcd、docker、keepalived、nginx 控制节点 10.10.0.12 master03 apiser

    2024年04月28日
    浏览(44)
  • K8s 部署 CNI 网络组件+k8s 多master集群部署+负载均衡

    ------------------------------ 部署 CNI 网络组件 ------------------------------ ---------- 部署 flannel ---------- K8S 中 Pod 网络通信: ●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器(Pod 内的容器是不会跨宿主机的)共享同一个网络命名空间,相当于它们在同一台机器上一样,可以用 lo

    2024年02月08日
    浏览(48)
  • 一键部署k8s集群

    机器至少配置 序号 类型 主机名 IP 备注(CPU/内存/硬盘) 1 Mater k8s-api.bcs.local 192.168.46.128 8C16G,100G 2 Node1 node-192-168-46-129 192.168.46.129 4C8G,100G 3 Node2 node-192-168-46-130 192.168.46.130 4C8G,100G 4 Node3 node-192-168-46-131 192.168.46.131 4C8G,100G 软件需求 需求项 具体要求 检查命令 操作系统 Cen

    2024年02月09日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包