mirror of
https://github.com/MichaelCade/90DaysOfDevOps.git
synced 2025-03-09 20:30:34 +07:00
added vi translation for d59-63
This commit is contained in:
parent
f7968d9bf1
commit
1f9e693217
@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
title: '#90DaysOfDevOps - Create a VM with Terraform & Variables - Day 59'
|
title: '#90DaysOfDevOps - Tạo máy ảo với Terraform và biến - Ngày 59'
|
||||||
published: false
|
published: false
|
||||||
description: 90DaysOfDevOps - Create a VM with Terraform & Variables
|
description: 90DaysOfDevOps - Tạo máy ảo với Terraform và biến
|
||||||
tags: 'devops, 90daysofdevops, learning'
|
tags: 'devops, 90daysofdevops, learning'
|
||||||
cover_image: null
|
cover_image: nugayll
|
||||||
canonical_url: null
|
canonical_url: null
|
||||||
id: 1049051
|
id: 1049051
|
||||||
---
|
---
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: '#90DaysOfDevOps - Docker Containers, Provisioners & Modules - Day 60'
|
title: '#90DaysOfDevOps - Docker Containers, Provisioners & Modules - Ngày 60'
|
||||||
published: false
|
published: false
|
||||||
description: '90DaysOfDevOps - Docker Containers, Provisioners & Modules'
|
description: '90DaysOfDevOps - Docker Containers, Provisioners & Modules'
|
||||||
tags: 'devops, 90daysofdevops, learning'
|
tags: 'devops, 90daysofdevops, learning'
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
---
|
---
|
||||||
title: '#90DaysOfDevOps - Kubernetes & Multiple Environments - Day 61'
|
title: '#90DaysOfDevOps - Kubernetes & Đa môi trường - Ngày 61'
|
||||||
published: false
|
published: false
|
||||||
description: 90DaysOfDevOps - Kubernetes & Multiple Environments
|
description: 90DaysOfDevOps - Kubernetes & Đa môi trường
|
||||||
tags: 'devops, 90daysofdevops, learning'
|
tags: 'devops, 90daysofdevops, learning'
|
||||||
cover_image: null
|
cover_image: null
|
||||||
canonical_url: null
|
canonical_url: null
|
||||||
id: 1048743
|
id: 1048743
|
||||||
---
|
---
|
||||||
## Kubernetes & Multiple Environments
|
## Kubernetes & Đa môi trường
|
||||||
|
|
||||||
Cho đến nay, trong phần về Cơ sở hạ tầng mã nguồn, chúng ta đã xem xét triển khai máy ảo, mặc dù chúng ta đã sử dụng VirtualBox, nhưng nguyên tắc là giống nhau, chúng ta xác định bằng mã nguồn những gì chúng ta muốn máy ảo của mình trông như thế nào và sau đó triển khai. Tương tự cho các container Docker và trong buổi học này, chúng ta sẽ xem cách Terraform có thể được sử dụng để tương tác với các tài nguyên được hỗ trợ bởi Kubernetes.
|
Cho đến nay, trong phần về Cơ sở hạ tầng mã nguồn, chúng ta đã xem xét triển khai máy ảo, mặc dù chúng ta đã sử dụng VirtualBox, nhưng nguyên tắc là giống nhau, chúng ta xác định bằng mã nguồn những gì chúng ta muốn máy ảo của mình trông như thế nào và sau đó triển khai. Tương tự cho các container Docker và trong buổi học này, chúng ta sẽ xem cách Terraform có thể được sử dụng để tương tác với các tài nguyên được hỗ trợ bởi Kubernetes.
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ Bây giờ chúng ta có thể sử dụng `kubectl` như đã được hiển t
|
|||||||
|
|
||||||
- Quản lý vòng đời - Terraform không chỉ là một công cụ cung cấp, nó còn cho phép thay đổi, cập nhật và xóa bỏ.
|
- Quản lý vòng đời - Terraform không chỉ là một công cụ cung cấp, nó còn cho phép thay đổi, cập nhật và xóa bỏ.
|
||||||
|
|
||||||
### Simple Kubernetes Demo
|
### Ví dụ Kubernetes đơn giản
|
||||||
|
|
||||||
Tương tự như demo chúng ta đã tạo trong buổi học trước, bây giờ chúng ta có thể triển khai nginx vào cụm Kubernetes của chúng ta. Trong mục này, tôi sẽ sử dụng minikube để làm ví dụ. Chúng ta tạo file Kubernetes.tf và bạn có thể tìm thấy nó tại [đây](2022/Days/IaC/Kubernetes/Kubernetes.tf)
|
Tương tự như demo chúng ta đã tạo trong buổi học trước, bây giờ chúng ta có thể triển khai nginx vào cụm Kubernetes của chúng ta. Trong mục này, tôi sẽ sử dụng minikube để làm ví dụ. Chúng ta tạo file Kubernetes.tf và bạn có thể tìm thấy nó tại [đây](2022/Days/IaC/Kubernetes/Kubernetes.tf)
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ Bây giờ, vì chúng ta đang sử dụng minikube như bạn đã thấy tron
|
|||||||
|
|
||||||
Nếu bạn muốn thử các bài thực hành chi tiết hơn với Terraform và Kubernetes, thì trang web [HashiCorp Learn site](https://learn.hashicorp.com/tutorials/terraform/kubernetes-provider) là một nguồn tuyệt vời để thực hiện.
|
Nếu bạn muốn thử các bài thực hành chi tiết hơn với Terraform và Kubernetes, thì trang web [HashiCorp Learn site](https://learn.hashicorp.com/tutorials/terraform/kubernetes-provider) là một nguồn tuyệt vời để thực hiện.
|
||||||
|
|
||||||
### Multiple Environments
|
### Đa môi trường
|
||||||
|
|
||||||
Nếu chúng ta muốn lấy bất kỳ bài thực hành nào đã được thực hiện nhưng bây giờ muốn có môi trường sản xuất, staging và phát triển cụ thể trông giống nhau và tận dụng mã nguồn này, có hai phương pháp để làm được điều này với Terraform:
|
Nếu chúng ta muốn lấy bất kỳ bài thực hành nào đã được thực hiện nhưng bây giờ muốn có môi trường sản xuất, staging và phát triển cụ thể trông giống nhau và tận dụng mã nguồn này, có hai phương pháp để làm được điều này với Terraform:
|
||||||
|
|
||||||
|
109
2022/vi/Days/day63.md
Normal file
109
2022/vi/Days/day63.md
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
---
|
||||||
|
title: '#90DaysOfDevOps - Bức tranh toàn cảnh: Quản lý cấu hình - Ngày 63'
|
||||||
|
published: false
|
||||||
|
description: 90DaysOfDevOps - The Big Picture Configuration Management
|
||||||
|
tags: 'devops, 90daysofdevops, learning'
|
||||||
|
cover_image: null
|
||||||
|
canonical_url: null
|
||||||
|
id: 1048711
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bức tranh toàn cảnh: Quản lý cấu hình
|
||||||
|
|
||||||
|
Ngay sau phần nói về Cơ sở hạ tầng dưới dạng mã, có nhiều khả năng sẽ có một số điểm giao khi chúng ta nói về Quản lý cấu hình hoặc Quản lý cấu hình ứng dụng.
|
||||||
|
|
||||||
|
Quản lý cấu hình là quá trình duy trì các ứng dụng, hệ thống và máy chủ ở trạng thái mong muốn. Sự trùng lặp với Cơ sở hạ tầng dưới dạng mã là IaC sẽ đảm bảo cơ sở hạ tầng của bạn ở trạng thái mong muốn nhưng sau đó, đặc biệt là terraform sẽ không quản lý trạng thái mong muốn của cài đặt hệ điều hành hoặc ứng dụng của bạn, đó là nơi các công cụ quản lý cấu hình xuất hiện đảm bảo rằng hệ thống và ứng dụng hoạt động theo cách được mong đợi khi có thay đổi.
|
||||||
|
|
||||||
|
Quản lý cấu hình giúp bạn không thực hiện các thay đổi nhỏ hoặc lớn mà không có sự quản lý bằng tài liệu.
|
||||||
|
|
||||||
|
### Tình huống: Tại sao bạn muốn sử dụng Quản lý cấu hình
|
||||||
|
|
||||||
|
Kịch bản hoặc lý do bạn muốn sử dụng Quản lý cấu hình, hãy gặp quản trị viên hệ thống của chúng ta, người làm việc trên tất cả các hệ thống - anh ấy tên là Dũng.
|
||||||
|
|
||||||
|
Điều gì sẽ xảy ra nếu hệ thống của họ gặp sự cố, nếu có hỏa hoạn, một máy chủ hoạt động không tốt? Dũng biết chính xác phải làm gì anh ấy có thể khắc phục sự cố đó một cách dễ dàng. Tuy nhiên, các vấn đề sẽ trở nên khó khăn với Dũng nếu nhiều máy chủ bắt đầu gặp sự cố, đặc biệt khi bạn có môi trường lớn và ngày càng mở rộng. Đây là lý do tại sao Dũng cần phải có một công cụ quản lý cấu hình. Các công cụ Quản lý Cấu hình có thể giúp Dũng trông giống như một ngôi sao nhạc rock, tất cả những gì anh ấy phải làm là định cấu hình đúng mã cho phép anh ấy đưa ra hướng dẫn về cách thiết lập từng mã các máy chủ một cách hiệu quả và ở quy mô lớn.
|
||||||
|
|
||||||
|
### Công cụ quản lý cấu hình
|
||||||
|
|
||||||
|
Có sẵn nhiều công cụ quản lý cấu hình và mỗi công cụ đều có các tính năng cụ thể giúp công cụ này hoạt động tốt hơn trong một số tình huống so với các công cụ khác.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Ở giai đoạn này, chúng ta sẽ xem nhanh các tùy chọn trong hình trên trước khi đưa ra lựa chọn chúng ta sẽ sử dụng tùy chọn nào.
|
||||||
|
|
||||||
|
- **Chef**
|
||||||
|
|
||||||
|
- Chef đảm bảo cấu hình được áp dụng nhất quán trong mọi môi trường, ở mọi quy mô lớn với cơ sở hạ tầng tự động hóa.
|
||||||
|
- Chef là một công cụ mã nguồn mở được phát triển bởi OpsCode được viết bằng Ruby và Erlang.
|
||||||
|
- Chef phù hợp nhất cho các tổ chức có cơ sở hạ tầng không đồng nhất và đang tìm kiếm các giải pháp hoàn thiện.
|
||||||
|
- Recipes và Cookbooks xác định mã cấu hình cho hệ thống của bạn.
|
||||||
|
- Pro - Có sẵn một bộ sưu tập lớn các recipes
|
||||||
|
- Pro - Tích hợp tốt với Git, cung cấp khả năng kiểm soát phiên bản mạnh mẽ
|
||||||
|
- Con - Phải học rất nhiều và cần một lượng thời gian đáng kể để làm quen.
|
||||||
|
- Con - Máy chủ chính không có nhiều quyền kiểm soát.
|
||||||
|
- Kiến trúc - Server/Client
|
||||||
|
- Dễ dàng thiết lập - Trung bình
|
||||||
|
- Language - Procedural - Chỉ định cách thực hiện tác vụ
|
||||||
|
|
||||||
|
|
||||||
|
- **Puppet**
|
||||||
|
|
||||||
|
- Puppet là công cụ quản lý cấu hình hỗ trợ triển khai tự động.
|
||||||
|
- Puppet được xây dựng bằng Ruby và sử dụng DSL để viết bảng kê khai.
|
||||||
|
- Puppet cũng hoạt động tốt với cơ sở hạ tầng không đồng nhất, nơi tập trung vào khả năng mở rộng.
|
||||||
|
- Pro - Cộng đồng hỗ trợ lớn.
|
||||||
|
- Pro - Cơ chế báo cáo được viết rất tốt.
|
||||||
|
- Con - Các nhiệm vụ nâng cao yêu cầu kiến thức về ngôn ngữ Ruby.
|
||||||
|
- Con - Máy chủ chính không có nhiều quyền kiểm soát.
|
||||||
|
- Kiến trúc - Server/Client
|
||||||
|
- Dễ thiết lập - Trung bình
|
||||||
|
- Language - Declarative - Chỉ định những việc cần làm
|
||||||
|
|
||||||
|
- **Ansible**
|
||||||
|
|
||||||
|
- Ansible là một công cụ tự động hóa CNTT giúp tự động hóa việc quản lý cấu hình, triển khai trên đám mây, triển khai và điều phối.
|
||||||
|
- Cốt lõi của Ansible playbooks được viết bằng YAML (Nên làm một phần về YAML như chúng ta đã thấy điều này một vài lần)
|
||||||
|
- Ansible hoạt động tốt khi các môi trường tập trung vào việc khởi động và chạy mọi thứ một cách nhanh chóng.
|
||||||
|
- Hoạt động trên playbook cung cấp hướng dẫn cho máy chủ của bạn.
|
||||||
|
- Pro - Không agents trên trên các node từ xa.
|
||||||
|
- Pro - YAML rất dễ học.
|
||||||
|
- Con - Tốc độ thực hiện thường kém hơn các công cụ khác (Nhanh hơn Dũng tự làm thủ công)
|
||||||
|
- Con - YAML không mạnh bằng Ruby nhưng học nó dễ dàng hơn Ruby.
|
||||||
|
- Kiến trúc - client only
|
||||||
|
- Dễ thiết lập - Rất dễ
|
||||||
|
- Language - Procedural - Chỉ định cách thực hiện tác vụ
|
||||||
|
|
||||||
|
- **SaltStack**
|
||||||
|
|
||||||
|
- SaltStack là một công cụ dựa trên CLI giúp tự động hóa việc quản lý cấu hình và thực thi từ xa.
|
||||||
|
- SaltStack dựa trên Python trong khi các hướng dẫn được viết bằng YAML hoặc DSL của nó.
|
||||||
|
- Hoàn hảo cho các môi trường ưu tiên khả năng mở rộng và khả năng phục hồi.
|
||||||
|
- Pro - Dễ sử dụng khi thiết lập và chạy
|
||||||
|
- Pro - Cơ chế báo cáo tốt
|
||||||
|
- Con - Giai đoạn thiết lập khó khăn
|
||||||
|
- Con - Giao diện người dùng web mới kém phát triển hơn nhiều so với các giao diện người dùng khác.
|
||||||
|
- Kiến trúc - Server/Client
|
||||||
|
- Dễ thiết lập - Trung bình
|
||||||
|
- Language - Declarative - Chỉ định những việc cần làm
|
||||||
|
|
||||||
|
### Ansible vs Terraform
|
||||||
|
|
||||||
|
Công cụ mà chúng ta sẽ sử dụng cho phần này sẽ là Ansible (Dễ sử dụng và yêu cầu cơ bản về ngôn ngữ dễ dàng hơn).
|
||||||
|
|
||||||
|
Tôi nghĩ rằng điều quan trọng là phải đề cập đến một số khác biệt giữa Ansible và Terraform trước khi chúng ta tìm hiểu sâu hơn về công cụ này.
|
||||||
|
|
||||||
|
| | Ansible | Terraform |
|
||||||
|
| -------------- | ------------------------------------------------------------ | ---------------------------------------------------------------- |
|
||||||
|
| Loại | Ansible là công cụ quản lý cấu hình | Terraform là công cụ điều phối |
|
||||||
|
| Cơ sở hạ tầng | Ansible cung cấp hỗ trợ cho cơ sở hạ tầng có thể thay đổi (mutable) | Terraform cung cấp hỗ trợ cho cơ sở hạ tầng không thể thay đổi (immutable) |
|
||||||
|
| Ngôn ngữ | Ansible tuân theo ngôn ngữ thủ tục | Terraform tuân theo ngôn ngữ khai báo |
|
||||||
|
| Cung cấp | Ansible cung cấp cung cấp một phần (VM, Mạng, Lưu trữ) | Terraform cung cấp cung cấp rộng rãi (VM, Mạng, Lưu trữ) |
|
||||||
|
| Đóng gói | Ansible cung cấp hỗ trợ đầy đủ cho việc đóng gói & tạo template | Terraform cung cấp hỗ trợ một phần cho đóng gói & tạo template |
|
||||||
|
| Quản lý vòng đời | Ansible không có quản lý vòng đời | Terraform phụ thuộc nhiều vào vòng đời và quản lý trạng thái |
|
||||||
|
|
||||||
|
## Tài liệu tham khảo
|
||||||
|
|
||||||
|
- [What is Ansible](https://www.youtube.com/watch?v=1id6ERvfozo)
|
||||||
|
- [Ansible 101 - Episode 1 - Introduction to Ansible](https://www.youtube.com/watch?v=goclfp6a2IQ)
|
||||||
|
- [NetworkChuck - You need to learn Ansible right now!](https://www.youtube.com/watch?v=5hycyr-8EKs&t=955s)
|
||||||
|
|
||||||
|
Hẹn gặp lại vào [ngày 64](day64.md)
|
@ -111,13 +111,13 @@ Cách nhanh nhất để liên lạc với tôi là thông qua Twitter tại [@M
|
|||||||
|
|
||||||
### Tự động hóa quản lý cấu hình
|
### Tự động hóa quản lý cấu hình
|
||||||
|
|
||||||
- [✔️] 📜 63 > [The Big Picture: Configuration Management](Days/day63.md)
|
- [✔️] 📜 63 > [Bức tranh toàn cảnh: Quản lý cấu hình](Days/day63.md)
|
||||||
- [✔️] 📜 64 > [Ansible: Getting Started](Days/day64.md)
|
- [✔️] 📜 64 > [Ansible: Bắt đầu](Days/day64.md)
|
||||||
- [✔️] 📜 65 > [Ansible Playbooks](Days/day65.md)
|
- [✔️] 📜 65 > [Ansible Playbooks](Days/day65.md)
|
||||||
- [✔️] 📜 66 > [Ansible Playbooks Continued...](Days/day66.md)
|
- [✔️] 📜 66 > [Tiếp tục với Ansible Playbooks...](Days/day66.md)
|
||||||
- [✔️] 📜 67 > [Using Roles & Deploying a Loadbalancer](Days/day67.md)
|
- [✔️] 📜 67 > [Sử dụng Role & Triển khai Loadbalancer](Days/day67.md)
|
||||||
- [✔️] 📜 68 > [Tags, Variables, Inventory & Database Server config](Days/day68.md)
|
- [✔️] 📜 68 > [Tags, Variables, Inventory & Database Server config](Days/day68.md)
|
||||||
- [✔️] 📜 69 > [All other things Ansible - Automation Controller, AWX, Vault](Days/day69.md)
|
- [✔️] 📜 69 > [Tất cả những thứ còn lại của Ansible - Automation Controller, AWX, Vault](Days/day69.md)
|
||||||
|
|
||||||
### Tạo CI/CD Pipelines
|
### Tạo CI/CD Pipelines
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user