EKS Workshop for Greater China 教程

随笔2个月前发布 波波
35 0 0

EKS Workshop for Greater China 教程

eks-workshop-greater-chinaAWS Workshop for Learning EKS for Greater China项目地址:https://gitcode.com/gh_mirrors/ek/eks-workshop-greater-china

项目介绍

EKS Workshop for Greater China 是一个由 AWS 提供的开源项目,旨在帮助中国的开发者学习和使用 Amazon Elastic Kubernetes Service (EKS)。该项目包含了丰富的教程和实践案例,涵盖了从 EKS 集群的创建到应用部署的各个方面。

项目快速启动

环境准备

安装 AWS CLI

pip install awscli --upgrade --user

配置 AWS CLI

aws configure

安装 eksctl




curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp


sudo mv /tmp/eksctl /usr/local/bin

安装 kubectl




curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"


chmod +x ./kubectl


sudo mv ./kubectl /usr/local/bin/kubectl

创建 EKS 集群

创建集群配置文件




apiVersion: eksctl.io/v1alpha5


kind: ClusterConfig


 


metadata:


  name: my-cluster


  region: ap-northeast-1


 


nodeGroups:


  - name: ng-1


    instanceType: m5.large


    desiredCapacity: 3

使用 eksctl 创建集群

eksctl create cluster -f cluster.yaml

应用案例和最佳实践

部署示例应用

部署一个简单的 Nginx 应用




apiVersion: apps/v1


kind: Deployment


metadata:


  name: nginx-deployment


spec:


  replicas: 3


  selector:


    matchLabels:


      app: nginx


  template:


    metadata:


      labels:


        app: nginx


    spec:


      containers:


      - name: nginx


        image: nginx:1.14.2


        ports:


        - containerPort: 80

创建服务




apiVersion: v1


kind: Service


metadata:


  name: nginx-service


spec:


  selector:


    app: nginx


  ports:


    - protocol: TCP


      port: 80


      targetPort: 80


  type: LoadBalancer

使用 ALB Ingress

部署 ALB Ingress Controller

kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.4/docs/examples/alb-ingress-controller.yaml

创建 Ingress 资源




apiVersion: networking.k8s.io/v1


kind: Ingress


metadata:


  name: nginx-ingress


  annotations:


    kubernetes.io/ingress.class: alb


    alb.ingress.kubernetes.io/scheme: internet-facing


spec:


  rules:


    - host: myapp.example.com


      http:


        paths:


          - path: /


            pathType: Prefix


            backend:


              service:


                name: nginx-service


                port:


                  number: 80

典型生态项目

Karpenter

Karpenter 是一个用于 Kubernetes 节点弹性伸缩的开源组件,可以自动管理 EKS 集群中的 EC2 工作节点。

Istio

Istio 是一个服务网格,提供流量管理、安全性和可观测性等功能,可以与 EKS 集群集成,提升应用的可靠性和安全性。

Prometheus & Grafana

Prometheus 是一个开源的监控系统,Grafana 是一个开源的分析和监控平台,两者结合可以为

eks-workshop-greater-chinaAWS Workshop for Learning EKS for Greater China项目地址:https://gitcode.com/gh_mirrors/ek/eks-workshop-greater-china

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...