Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
    • Helm Chart
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log & Monitor
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • Toggle search form

[Bitbucket Pipeline] Design bitbucket-pipeline and eksctl to upgrade EKS cluster

Posted on October 30, 2022October 31, 2022 By nim No Comments on [Bitbucket Pipeline] Design bitbucket-pipeline and eksctl to upgrade EKS cluster

Hello các bạn mình đã có 1 bài upgrade eks bằng eksctl.

[EKS] Upgrade eks cluster by eksctl

Sau khi chúng ta đã understanded các command thì design bitbucket-pipeline để upgrade eks cluster.

Đầu tiền bạn cần set up các env chung.

eks-upgrade

AWS_ACCESS_KEY_ID: xxxx
AWS_SECRET_ACCESS_KEY: xxxx
regionName: us-west-2
eksClusterName: xxxx

Và đây là file bitbucket-pipelines.yml

pipelines:
  custom:
    ### Running eksctl
    ### Create eksClusterName, regionName in Deployment ENV
    upgrade-eks:
      - variables:
          - name: upgradeToVersion
            default: '1.20'  
            allowed-values:         # optionally restrict variable values
              - '1.20'
              - '1.21'
      - step:
          name: 'Set environment variables'
          deployment: eks-upgrade
          image: weaveworks/eksctl:latest
          script:
            - printenv | xargs echo export > .envs
          artifacts:
            - .envs
      - step:
          name: 'Get Cluster infomations'
          image: weaveworks/eksctl:latest
          script:
            - source .envs
            - eksctl get cluster --name $eksClusterName --region $regionName --output yaml
      - step:
          name: 'Upgrade EKS Controller'
          image: weaveworks/eksctl:latest
          trigger: manual
          script:
            - source .envs
            - eksctl upgrade cluster --name $eksClusterName --region $regionName  --version $upgradeToVersion --approve
      - step:
          name: 'Create New Node Group'
          image: weaveworks/eksctl:latest
          trigger: manual
          script:
            - source .envs
            - eksctl create nodegroup --cluster $eksClusterName --region $regionName

    run-kubectl-command:
      - variables:
          - name: namespace
            default: 'default'  
            allowed-values:
              - 'default'
              - 'kube-system'
          - name: command
            default: 'get node'
      - step:
           name: "Run kubectl command"
           deployment: eks-upgrade
           image: bitbucketpipelines/aws-eks-kubectl-run:latest
           script:
             - aws eks --region $regionName update-kubeconfig --name $eksClusterName
             - echo "run command --> kubectl -n $namespace $command"
             - kubectl -n $namespace $command

    get-nodegroup-eks:
      - step:
          name: "Get Node Group EKS"
          deployment: eks-upgrade
          image: weaveworks/eksctl:latest
          script:
            - eksctl get nodegroup --cluster $eksClusterName --region $regionName

    delete-nodegroup-eks:
      - variables:
          - name: nodeGroupName
      - step:
          name: "Delete Node Group EKS"
          deployment: eks-upgrade
          image: weaveworks/eksctl:latest
          script:
            - eksctl delete nodegroup --cluster $eksClusterName --region $regionName --name $nodeGroupName

Sau khi deploy hết thì bạn cần kiểm tra lại các ingress có hoạt động ko nhé.

Nó gồm nhiều step và các step phải manual click
AWS - Amazon Web Service, Bitbucket

Post navigation

Previous Post: [DevSecOps] Application Security Testing Tools
Next Post: [Cosign/Kyverno]Signing And Verifying Container Images With Sigstore Cosign And Kyverno

More Related Articles

[AWS] Creat Persistent Volume on EKS via EBS. AWS - Amazon Web Service
[AWS] Saving your secret on AWS Systems Manager – Parameter Store AWS - Amazon Web Service
[Karpenter] Using Karpenter instead of Autoscaling Group. AWS - Amazon Web Service
[Kafka/MSK] Install kafka or MSK on aws through terraform. AWS - Amazon Web Service
[AWS] Create EKS Cluster and EKS Node Groups in Public and Private Subnets AWS - Amazon Web Service
[EKS] Upgrade eks cluster by eksctl AWS - Amazon Web Service

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • [Prometheus/Grafana] Install Prometheus and Grafana on ubuntu. March 27, 2023
  • [Kong Gateway] WebSocket connection failed March 26, 2023
  • [Nextcloud] Can’t download files to have a size bigger than 2Gi on NextCloud – RaspBerry March 24, 2023
  • [Datadog] Using DataDog to monitor all services on kubernetes March 19, 2023
  • [Metrics Server] Failed to make webhook authorizer request: the server could not find the requested resource March 17, 2023

Archives

  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
    • NextCloud
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Git
      • Bitbucket
    • Harbor
    • Jenkins
    • Spinnaker
    • TeamCity
  • Coding
    • Golang
    • Jquery & JavaScript
    • Laravel
    • Python
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kong Gateway
    • Kubernetes
      • Ingress
    • Longhorn – Storage
    • MetalLB
    • Vault
    • VictoriaMetrics
  • Log & Monitor
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2023 NimTechnology.