DevOps project එකක් කලා

devops

Well-known member
  • Apr 3, 2023
    636
    477
    63
    colombo
    1. DevOps project එකක් කලා. මේක තමා workflow එක.
    2. Git repo දෙකක් හැදුවා එකක් CI අනික CD.
    3. Microservices 5 ක් හදාගත්තා. Frontend, Trending, News, Categories, FreeAds. Use කලේ Python.
    4. ඊට පස්සෙ Google Cloud එකේ VM එකක් හදලා ඒකේ Jenkins server එක හැදුවා. Terraform, AWS CLI install කලා. AWS account එක configure කරගත්තා.
    5. Jenkins server එකේ multibranch pipeline එකක් හැදුවා. Commit එකක් දාපු ගමන් pipeline එකේ, ඒ ඒ microservice එකට අදාළ branch එක trigger වෙන්න හැදුවා. ඊට පස්සෙ Docker image එක build වෙලා අලුත් version tag එකක් එක්ක Docker Hub එකට image එක pull වෙන්න හැදුවා.
    6. CI පයිප්පේ අන්තිම step එක විදියට CD repository එක GitHub එකෙන් clone කරලා අරං එකේ තියන manifest.yaml එකේ අලුත් image tag එක update කරලා push කරනවා. මෙතනින් CI පයිප්පේ ඉවරයි.

    7. CD පයිප්පේ Terraform use කරලා AWS account එකේ EKS cluster එකක් හදාගත්තා. Kubeconfig file එක update කරලා Jenkins server එකයි හදපු cluster එකයි connect කලා.
    8. ඊට පස්සෙ Argo CD, Argo Rollout deploy කලා. Official YAML file use කරල.
    9. Istio ලා එයාල දීලා තියන YAML file use කරලා Prometheus, Grafana, Kiali cluster එකේ deploy කරගත්තා.
    10. Jenkins VM එකට manually log වෙලා cluster එකේ Istio deploy කලා. Microservice ටික deploy කරන්න වෙනම namespace එකක් හදලා. ඒ namespace එක label කලා automatic Istio sidecar proxy injection වෙන්න.
    11. Deploy වෙලා තියන Argo CD, Argo Rollout, Grafana, Kiali tools වල service YAML එක ClusterIP to LoadBalancer විදියට edit කරලා LoadBalancer එක through access කලා.
    12. Argo CD dashboard එකට log වෙලා CD repository එකේ manifest.yaml එක configure කරගත්තා.
    13. අලුත් version tag එකක් එක්ක CD පයිප්පේ manifest.yaml එක update වෙන හැම වෙලාවකම අලුත් deployment එක යන්නෙ canary deployment එකක් විදියට.
    14. අලුත් version එක අවුල් නම් Argo Rollout dashboard එක through rollback කරගන්න පුළුවන්.
    15. Traffic එක වැඩි වෙද්දී pod ගාන automatically වැඩි වෙන්න HorizontalPodAutoscaler එකක් දාල තියෙන්නෙ.
    16. එහෙම Traffic එක වැඩි වෙලා pod අලුතෙන් හැදෙනකොට Traffic එක අලුත් version එකටයි, පරණ version එකටයි බෙදිලා යනවා.
    17. වැරදි අඩුපාඩු අවුල් ඕන දෙයක් කියං යන්න.
     

    Attachments

    • Screenshot from 2024-12-06 19-33-54.png
      Screenshot from 2024-12-06 19-33-54.png
      53.8 KB · Views: 209
    • Screenshot from 2024-12-06 19-31-43.png
      Screenshot from 2024-12-06 19-31-43.png
      111.7 KB · Views: 210
    • Screenshot from 2024-12-06 18-34-09.png
      Screenshot from 2024-12-06 18-34-09.png
      208 KB · Views: 214

    LZP1992

    Well-known member
  • Feb 6, 2014
    5,662
    5,991
    113
    @ගෙදර
    1. DevOps project එකක් කලා. මේක තමා workflow එක.
    2. Git repo දෙකක් හැදුවා එකක් CI අනික CD.
    3. Microservices 5 ක් හදාගත්තා. Frontend, Trending, News, Categories, FreeAds. Use කලේ Python.
    4. ඊට පස්සෙ Google Cloud එකේ VM එකක් හදලා ඒකේ Jenkins server එක හැදුවා. Terraform, AWS CLI install කලා. AWS account එක configure කරගත්තා.
    5. Jenkins server එකේ multibranch pipeline එකක් හැදුවා. Commit එකක් දාපු ගමන් pipeline එකේ, ඒ ඒ microservice එකට අදාළ branch එක trigger වෙන්න හැදුවා. ඊට පස්සෙ Docker image එක build වෙලා අලුත් version tag එකක් එක්ක Docker Hub එකට image එක pull වෙන්න හැදුවා.
    6. CI පයිප්පේ අන්තිම step එක විදියට CD repository එක GitHub එකෙන් clone කරලා අරං එකේ තියන manifest.yaml එකේ අලුත් image tag එක update කරලා push කරනවා. මෙතනින් CI පයිප්පේ ඉවරයි.

    7. CD පයිප්පේ Terraform use කරලා AWS account එකේ EKS cluster එකක් හදාගත්තා. Kubeconfig file එක update කරලා Jenkins server එකයි හදපු cluster එකයි connect කලා.
    8. ඊට පස්සෙ Argo CD, Argo Rollout deploy කලා. Official YAML file use කරල.
    9. Istio ලා එයාල දීලා තියන YAML file use කරලා Prometheus, Grafana, Kiali cluster එකේ deploy කරගත්තා.
    10. Jenkins VM එකට manually log වෙලා cluster එකේ Istio deploy කලා. Microservice ටික deploy කරන්න වෙනම namespace එකක් හදලා. ඒ namespace එක label කලා automatic Istio sidecar proxy injection වෙන්න.
    11. Deploy වෙලා තියන Argo CD, Argo Rollout, Grafana, Kiali tools වල service YAML එක ClusterIP to LoadBalancer විදියට edit කරලා LoadBalancer එක through access කලා.
    12. Argo CD dashboard එකට log වෙලා CD repository එකේ manifest.yaml එක configure කරගත්තා.
    13. අලුත් version tag එකක් එක්ක CD පයිප්පේ manifest.yaml එක update වෙන හැම වෙලාවකම අලුත් deployment එක යන්නෙ canary deployment එකක් විදියට.
    14. අලුත් version එක අවුල් නම් Argo Rollout dashboard එක through rollback කරගන්න පුළුවන්.
    15. Traffic එක වැඩි වෙද්දී pod ගාන automatically වැඩි වෙන්න HorizontalPodAutoscaler එකක් දාල තියෙන්නෙ.
    16. එහෙම Traffic එක වැඩි වෙලා pod අලුතෙන් හැදෙනකොට Traffic එක අලුත් version එකටයි, පරණ version එකටයි බෙදිලා යනවා.
    17. වැරදි අඩුපාඩු අවුල් ඕන දෙයක් කියං යන්න.
    Welldone 👍
    Sonarcube + slack ekath add karapan :yes:
     
    • Love
    Reactions: devops

    CoolBro

    Active member
  • Sep 16, 2014
    719
    229
    43
    1. DevOps project එකක් කලා. මේක තමා workflow එක.
    2. Git repo දෙකක් හැදුවා එකක් CI අනික CD.
    3. Microservices 5 ක් හදාගත්තා. Frontend, Trending, News, Categories, FreeAds. Use කලේ Python.
    4. ඊට පස්සෙ Google Cloud එකේ VM එකක් හදලා ඒකේ Jenkins server එක හැදුවා. Terraform, AWS CLI install කලා. AWS account එක configure කරගත්තා.
    5. Jenkins server එකේ multibranch pipeline එකක් හැදුවා. Commit එකක් දාපු ගමන් pipeline එකේ, ඒ ඒ microservice එකට අදාළ branch එක trigger වෙන්න හැදුවා. ඊට පස්සෙ Docker image එක build වෙලා අලුත් version tag එකක් එක්ක Docker Hub එකට image එක pull වෙන්න හැදුවා.
    6. CI පයිප්පේ අන්තිම step එක විදියට CD repository එක GitHub එකෙන් clone කරලා අරං එකේ තියන manifest.yaml එකේ අලුත් image tag එක update කරලා push කරනවා. මෙතනින් CI පයිප්පේ ඉවරයි.

    7. CD පයිප්පේ Terraform use කරලා AWS account එකේ EKS cluster එකක් හදාගත්තා. Kubeconfig file එක update කරලා Jenkins server එකයි හදපු cluster එකයි connect කලා.
    8. ඊට පස්සෙ Argo CD, Argo Rollout deploy කලා. Official YAML file use කරල.
    9. Istio ලා එයාල දීලා තියන YAML file use කරලා Prometheus, Grafana, Kiali cluster එකේ deploy කරගත්තා.
    10. Jenkins VM එකට manually log වෙලා cluster එකේ Istio deploy කලා. Microservice ටික deploy කරන්න වෙනම namespace එකක් හදලා. ඒ namespace එක label කලා automatic Istio sidecar proxy injection වෙන්න.
    11. Deploy වෙලා තියන Argo CD, Argo Rollout, Grafana, Kiali tools වල service YAML එක ClusterIP to LoadBalancer විදියට edit කරලා LoadBalancer එක through access කලා.
    12. Argo CD dashboard එකට log වෙලා CD repository එකේ manifest.yaml එක configure කරගත්තා.
    13. අලුත් version tag එකක් එක්ක CD පයිප්පේ manifest.yaml එක update වෙන හැම වෙලාවකම අලුත් deployment එක යන්නෙ canary deployment එකක් විදියට.
    14. අලුත් version එක අවුල් නම් Argo Rollout dashboard එක through rollback කරගන්න පුළුවන්.
    15. Traffic එක වැඩි වෙද්දී pod ගාන automatically වැඩි වෙන්න HorizontalPodAutoscaler එකක් දාල තියෙන්නෙ.
    16. එහෙම Traffic එක වැඩි වෙලා pod අලුතෙන් හැදෙනකොට Traffic එක අලුත් version එකටයි, පරණ version එකටයි බෙදිලා යනවා.
    17. වැරදි අඩුපාඩු අවුල් ඕන දෙයක් කියං යන්න.
    :love: :love: :love: :love: :love: :love: :love: :love: :love:
     
    • Love
    Reactions: devops

    Psiko

    Well-known member
  • Mar 10, 2023
    13,410
    12,986
    113
    🤍
    owa igenagena ithin company ekakama wadata yanna oen neh ?

    buisness ekak widihata karanna ba neda?
     
    • Like
    Reactions: devops

    devops

    Well-known member
  • Apr 3, 2023
    636
    477
    63
    colombo
    3. Microservices 5 ක් හදාගත්තා. Frontend, Trending, News, Categories, FreeAds. Use කලේ Python.

    meka explain karapanko... mokakda gatta tool eka..
    හැදුවෙ python walin.
    User interact වෙන්නෙ frontend එකට. එතනින් simple button click එකකින් අනික් Microservices වලට route වෙනවා.