Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Week 11 #462

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions 2022/vi/Days/day16.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ Nói chung, ít nhất là trên các máy trạm của nhà phát triển, tôi

![](../../Days/Images/Day16_Linux1.png)

Bây giờ chúng ta đã cập nhật Ubuntu VM với các bản cài đặt mới nhất. Bây giờ chúng tôi muốn cài thêm một số phần mềm ở đây.
Bây giờ chúng ta đã cập nhật Ubuntu VM với các bản cài đặt mới nhất. Bây giờ chúng ta muốn cài thêm một số phần mềm ở đây.

Hãy chọn `figlet` - một chương trình tạo biểu ngữ văn bản.

Nếu chúng tôi nhập `figlet` trong terminal, bạn sẽ thấy rằng chúng ta chưa cài đặt nó trên hệ thống của mình.
Nếu chúng ta nhập `figlet` trong terminal, bạn sẽ thấy rằng chúng ta chưa cài đặt nó trên hệ thống của mình.

![](../../Days/Images/Day16_Linux2.png)

Expand Down Expand Up @@ -92,19 +92,19 @@ Trên Windows, bạn có ổ C: và đó là thứ mà chúng ta coi là gốc.

![](../../Days/Images/Day16_Linux13.png)

- `/lib` - Chúng tôi đã đề cập rằng `/bin` là nơi chứa các tệp nhị phân và tệp thực thi của chúng tôi, và `/lib` là nơi bạn sẽ tìm thấy các thư viện dùng chung cho các tệp đó.
- `/lib` - Chúng ta đã đề cập rằng `/bin` là nơi chứa các tệp nhị phân và tệp thực thi, và `/lib` là nơi bạn sẽ tìm thấy các thư viện dùng chung cho các tệp đó.

![](../../Days/Images/Day16_Linux14.png)

- `/media` - Đây là nơi chúng tôi sẽ tìm thấy các thiết bị di động.
- `/media` - Đây là nơi chúng ta sẽ tìm thấy các thiết bị di động.

![](../../Days/Images/Day16_Linux15.png)

- `/mnt` - Đây là điểm gắn kết tạm thời. Chúng tôi sẽ đề cập sâu hơn trong phần tiếp theo về lưu trữ.
- `/mnt` - Đây là điểm gắn kết tạm thời. Chúng ta sẽ đề cập sâu hơn trong phần tiếp theo về lưu trữ.

![](../../Days/Images/Day16_Linux16.png)

- `/opt` - Optional software packages (gói phần mềm tùy chọn). Bạn sẽ nhận thấy ở đây rằng chúng tôi có một số phần mềm virtual box và vagrant được lưu trữ ở đây.
- `/opt` - Optional software packages (gói phần mềm tùy chọn). Bạn sẽ nhận thấy ở đây rằng chúng ta có một số phần mềm virtual box và vagrant được lưu trữ ở đây.

![](../../Days/Images/Day16_Linux17.png)

Expand All @@ -128,15 +128,15 @@ Trên Windows, bạn có ổ C: và đó là thứ mà chúng ta coi là gốc.

![](../../Days/Images/Day16_Linux22.png)

- `/usr` - Nếu chúng tôi với tư cách là người dùng đã cài đặt các gói phần mềm, gói phần mềm đó thường sẽ được cài đặt ở vị trí `/usr/bin`.
- `/usr` - Nếu chúng ttaôi với tư cách là người dùng đã cài đặt các gói phần mềm, gói phần mềm đó thường sẽ được cài đặt ở vị trí `/usr/bin`.

![](../../Days/Images/Day16_Linux23.png)

- `/var` - Các ứng dụng của chúng tôi được cài đặt trong thư mục `bin`. Chúng tôi cần một nơi nào đó để lưu trữ tất cả các tệp logs, đó chính là `/var`
- `/var` - Các ứng dụng của chúng ta được cài đặt trong thư mục `bin`. Chúng ta cần một nơi nào đó để lưu trữ tất cả các tệp logs, đó chính là `/var`

## Lưu trữ (Storage)

Khi đề cập tới một hệ thống Linux hoặc bất kỳ hệ thống nào, chúng ta có thể muốn biết các ổ đĩa có sẵn và chúng tôi có bao nhiêu dung lượng trống trên các đĩa đó. Một vài lệnh sau đây giúp xác định và sử dụng cũng như quản lý bộ lưu trữ.
Khi đề cập tới một hệ thống Linux hoặc bất kỳ hệ thống nào, chúng ta có thể muốn biết các ổ đĩa có sẵn và chúng ta có bao nhiêu dung lượng trống trên các đĩa đó. Một vài lệnh sau đây giúp xác định và sử dụng cũng như quản lý bộ lưu trữ.

- `lsblk` Liệt kê các thiết bị khối (List Block devices). `sda` là đĩa vật lý của chúng ta và sau đó `sda1, sda2, sda3` là các phân vùng của chúng ta trên đĩa đó.

Expand All @@ -156,7 +156,7 @@ Nếu bạn không muốn unmount ổ đĩa đó và bạn sẽ sử dụng nó

Sau khi bạn chỉnh sửa tệp cấu hình `fstab`, bạn có thể kiểm tra hoạt động bằng lệnh `sudo mount -a` nếu không có lỗi thì các thay đổi của bạn sẽ vẫn ở đó dù khởi động lại hệ thống.

Chúng tôi sẽ đề cập đến cách bạn chỉnh sửa tệp bằng trình soạn thảo văn bản trong ngày hôm sau
Chúng ta sẽ đề cập đến cách bạn chỉnh sửa tệp bằng trình soạn thảo văn bản trong ngày hôm sau

## Tài liệu tham khảo

Expand Down
2 changes: 1 addition & 1 deletion 2022/vi/Days/day17.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Có rất nhiều tùy chọn ngoài kia nhưng tôi nghĩ có lẽ chúng ta n
- Không có sẵn trên mọi hệ thống.
- Dễ để bắt đầu hơn

Nếu bạn chạy `nano 90DaysOfDevOps.txt`, chúng ta sẽ có một tệp mới không có gì trong đó, từ đây chúng tôi có thể thêm văn bản của mình và hướng dẫn bên dưới là những gì chúng ta muốn thay đổi tệp đó.
Nếu bạn chạy `nano 90DaysOfDevOps.txt`, chúng ta sẽ có một tệp mới không có gì trong đó, từ đây chúng ta có thể thêm văn bản của mình và hướng dẫn bên dưới là những gì chúng ta muốn thay đổi tệp đó.

![](../../Days/Images/Day17_Linux1.png)

Expand Down
2 changes: 1 addition & 1 deletion 2022/vi/Days/day19.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ Bạn có thể thấy từ hình ảnh bên dưới rằng chúng ta đã thự

Yêu cầu cuối cùng là "Thông báo tạo tài khoản thành công được hiển thị." Chúng ta đã có dòng này ở dòng trên cùng của mã và có thể thấy ảnh chụp màn hình ở trên có dòng `90DaysOfDevOps user account being created` được hiển thị.

Bây giờ tập lệnh này có thể được sử dụng để nhanh chóng tích hợp và thiết lập người dùng mới trên hệ thống Linux của chúng ta. Nhưng có lẽ thay vì một vài người trong lịch sử phải giải quyết vấn đề này và sau đó phải lấy cho người khác tên người dùng hoặc mật khẩu mới của họ, chúng tôi có thể thêm một số đầu vào của người dùng mà chúng tôi đã đề cập trước đó để nắm bắt các biến của chúng tôi.
Bây giờ tập lệnh này có thể được sử dụng để nhanh chóng tích hợp và thiết lập người dùng mới trên hệ thống Linux của chúng ta. Nhưng có lẽ thay vì một vài người trong lịch sử phải giải quyết vấn đề này và sau đó phải lấy cho người khác tên người dùng hoặc mật khẩu mới của họ, chúng ta có thể thêm một số đầu vào của người dùng mà chúng ta đã đề cập trước đó để nắm bắt các biến.

```
#! /usr/bin/bash
Expand Down
2 changes: 1 addition & 1 deletion 2022/vi/Days/day28.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Trước khi chúng ta đi vào một nhà cung cấp cụ thể, tôi đã tạ

[Link to Twitter Poll](https://twitter.com/MichaelCade1/status/1486814904510259208?s=20&t=x2n6QhyOXSUs7Pq0itdIIQ)

Bất kỳ nhà cung cấp nào nhận được tỷ lệ phần trăm cao nhất, chúng tôi sẽ tìm hiểu sâu hơn về cách dịch vụ của nhà cung cấp đó. Tôi nghĩ điều quan trọng cần đề cập là các dịch vụ từ các nhà cung cấp này đều khá giống nhau, đó là lý do tại sao tôi nói là hãy bắt đầu với một nhà cung cấp bất kì. Tôi nhận thấy rằng, khi biết nền tảng của một nhà cung cấp như cách tạo máy ảo, thiết lập mạng,... thì tôi đã có thể sử dụng dịch vụ của các nhà cung cấp khác và có thể nhanh chóng sử dụng chúng.
Bất kỳ nhà cung cấp nào nhận được tỷ lệ phần trăm cao nhất, chúng ta sẽ tìm hiểu sâu hơn về cách dịch vụ của nhà cung cấp đó. Tôi nghĩ điều quan trọng cần đề cập là các dịch vụ từ các nhà cung cấp này đều khá giống nhau, đó là lý do tại sao tôi nói là hãy bắt đầu với một nhà cung cấp bất kì. Tôi nhận thấy rằng, khi biết nền tảng của một nhà cung cấp như cách tạo máy ảo, thiết lập mạng,... thì tôi đã có thể sử dụng dịch vụ của các nhà cung cấp khác và có thể nhanh chóng sử dụng chúng.

Dù như thế nào, tôi cũng sẽ chia sẻ một số tài nguyên **MIỄN PHÍ** về cả ba nhà cung cấp lớn nhất.

Expand Down
4 changes: 2 additions & 2 deletions 2022/vi/Days/day29.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Hãy nhớ rằng Microsoft Azure là một đám mây tính phí theo mô hình

Nếu bạn là một Doanh nghiệp thì bạn có thể muốn hoặc có một thoả thuận Doanh nghiệp với Microsoft để cho phép công ty của bạn sử dụng các dịch vụ của Azure.

Nếu bạn giống tôi và bạn đang sử dụng Microsoft Azure cho mục đích học tập thì chúng tôi có một số tùy chọn khác.
Nếu bạn giống tôi và bạn đang sử dụng Microsoft Azure cho mục đích học tập thì chúng ta có một số tùy chọn khác.

Chúng ta có [tài khoản Microsoft Azure miễn phí](https://azure.microsoft.com/en-gb/free/) và thường sẽ có một số tín dụng (tiền) miễn phí để bạn có thể sử dụng Azure trong một khoảng thời gian.

Expand Down Expand Up @@ -120,7 +120,7 @@ Tiếp theo, chúng ta có resource group, đây là nơi chúng ta kết hợp

![](../../Days/Images/Day29_Cloud8.png)

Với những gì chúng ta có thể làm trong vài ngày tới, chúng tôi muốn tại resource group của riêng mình. Điều này được thực hiện dễ dàng trong console bằng cách nhấn "Create" trong hình ảnh ở trên.
Với những gì chúng ta có thể làm trong vài ngày tới, chúng ta muốn tạo resource group của riêng mình. Điều này được thực hiện dễ dàng trong console bằng cách nhấn "Create" trong hình ảnh ở trên.

![](../../Days/Images/Day29_Cloud9.png)

Expand Down
4 changes: 2 additions & 2 deletions 2022/vi/Days/day30.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Tôi chưa từng xem xét vấn đề này trước đây nhưng tôi có thể

### Role-Based Access Control

Chúng ta đã đề cập vào [ngày 29](day29.md) phạm vi mà chúng tôi sẽ đề cập ở đây, chúng tôi có thể đặt kiểm soát RBAC của mình cho một trong những dịch vụ dưới đây.
Chúng ta đã đề cập vào [ngày 29](day29.md) phạm vi mà chúng ta sẽ đề cập ở đây, chúng ta có thể đặt kiểm soát RBAC của mình cho một trong những dịch vụ dưới đây.

- Subscriptions
- Management Group
Expand Down Expand Up @@ -140,7 +140,7 @@ Sau đó, tôi thêm một người dùng [email protected] và nếu ch

![](../../Days/Images/Day30_Cloud14.png)

Nếu có khoảng 100 yêu cầu như thế này, chúng ta sẽ không muốn thực hiện tất cả điều này trong bảng điều khiển mà chúng tôi muốn tận dụng hoặc là các tuỳ chọn hàng loạt (bulk options) để tạo, mời, và xoá người dùng hoặc bạn có thể muốn sử dụng Powershell để làm điều này một cách tự động để có thể scale.
Nếu có khoảng 100 yêu cầu như thế này, chúng ta sẽ không muốn thực hiện tất cả điều này trong bảng điều khiển mà chúng ta muốn tận dụng hoặc là các tuỳ chọn hàng loạt (bulk options) để tạo, mời, và xoá người dùng hoặc bạn có thể muốn sử dụng Powershell để làm điều này một cách tự động để có thể scale.

Bây giờ, chúng ta có thể vào Resource group của mình và chỉ định rằng trong nhóm tài nguyên 90DaysOfDevOps, chúng ta muốn chủ sở hữu (owner) của nó là nhóm chúng ta vừa mới tạo.

Expand Down
2 changes: 1 addition & 1 deletion 2022/vi/Days/day32.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Sau đó, trong drop-down, bạn có thể thấy chúng ta có ba tuỳ chọn

![](../../Days/Images/Day32_Cloud5.png)

Có rất nhiều tuỳ chọn nâng cao hơn có sẵn cho tài khoản lưu trữ của bạn, nhưng hiện tại, chúng tôi không cần phải truy cập vào các phần này. Các tuỳ chọn này là về mã hoá và bảo vệ dữ liệu.
Có rất nhiều tuỳ chọn nâng cao hơn có sẵn cho tài khoản lưu trữ của bạn, nhưng hiện tại, chúng ta không cần phải truy cập vào các phần này. Các tuỳ chọn này là về mã hoá và bảo vệ dữ liệu.

### Ổ đĩa được quản lý - Managed Disks

Expand Down
4 changes: 2 additions & 2 deletions 2022/vi/Days/day33.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Chúng ta cũng có Virtual Network Peering. Điều này cho phép các mạng
| ILB | 1010 | Azure LoadBalancer | \* | \* | 10000 | Allow |
| Deny All Inbound | 4000 | \* | \* | \* | \* | DENY |

Chúng tôi cũng có Application Security Groups (ASGs)
Chúng ta cũng có Application Security Groups (ASGs)

- Trường hợp NSG tập trung vào dải địa chỉ IP có thể khó duy trì đối với môi trường đang phát triển.
- ASG cho phép xác định tên thật (Monikers) cho các vai trò ứng dụng khác nhau (Máy chủ web, máy chủ DB, WebApp1, v.v.)
Expand Down Expand Up @@ -106,7 +106,7 @@ Azure PowerShell is a set of cmdlets for managing Azure resources directly from

We can see below that you can connect to your subscription using the PowerShell command `Connect-AzAccount`

Trước khi chúng tôi bắt đầu với Azure PowerShell, chúng ta nên biết tới PowerShell. PowerShell là một framework quản lý cấu hình và tự động hóa tác vụ, một command-line shell và ngôn ngữ kịch bản. Nó giống với những gì chúng ta đã tìm hiểu trong phần shell scripting cho Linux. PowerShell lúc đầu được sử dụng rộng rãi trên hệ điều hành Windows nhưng giờ đây nó đã có trên nhiều nền tảng.
Trước khi chúng ta bắt đầu với Azure PowerShell, chúng ta nên biết tới PowerShell. PowerShell là một framework quản lý cấu hình và tự động hóa tác vụ, một command-line shell và ngôn ngữ kịch bản. Nó giống với những gì chúng ta đã tìm hiểu trong phần shell scripting cho Linux. PowerShell lúc đầu được sử dụng rộng rãi trên hệ điều hành Windows nhưng giờ đây nó đã có trên nhiều nền tảng.

Azure PowerShell là một tập hợp các lệnh ghép ngắn để quản lý tài nguyên Azure trực tiếp từ dòng lệnh PowerShell.

Expand Down
6 changes: 3 additions & 3 deletions 2022/vi/Days/day34.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Sau đó, tôi đã tạo tập lệnh PowerShell và tham khảo từ module đ

Vui lòng đảm bảo rằng bạn thay đổi vị trí tệp trong tập lệnh phù hợp với môi trường của mình.

Ở giai đoạn đầu tiên này, chúng tôi không có mạng ảo hoặc máy ảo nào được tạo trong môi trường của mình, tôi chỉ có một cloud shell storage được định cấu hình trong resource group của mình.
Ở giai đoạn đầu tiên này, chúng ta không có mạng ảo hoặc máy ảo nào được tạo trong môi trường của mình, tôi chỉ có một cloud shell storage được định cấu hình trong resource group của mình.

Trước hết, tôi chạy [PowerShell script](../../Days/Cloud/01VirtualNetworking/Module4_90DaysOfDevOps.ps1) của mình

Expand Down Expand Up @@ -98,7 +98,7 @@ Tôi gặp một vấn đề khác ở đây là tài khoản của tôi không
![](../../Days/Images/Day34_Cloud14.png)
![](../../Days/Images/Day34_Cloud15.png)

Sau đó, tôi có thể quay lại tài khoản [email protected] của mình và tiếp tục phần này. Ở đây chúng tôi đang chạy lại vài bài test tương tự nhưng bây giờ đã có thể truy cập được.
Sau đó, tôi có thể quay lại tài khoản [email protected] của mình và tiếp tục phần này. Ở đây chúng ta đang chạy lại vài bài test tương tự nhưng bây giờ đã có thể truy cập được.

![](../../Days/Images/Day34_Cloud16.png)

Expand Down Expand Up @@ -194,6 +194,6 @@ Bài lab này kết thúc phần tìm hiểu về Microsoft Azure nói riêng v
- [Google Cloud Digital Leader Certification Course](https://www.youtube.com/watch?v=UGRDM86MBIQ&list=WL&index=131&t=10s)
- [AWS Basics for Beginners - Full Course](https://www.youtube.com/watch?v=ulprqHHWlng&t=5352s)

Tiếp theo, chúng ta sẽ đi sâu vào các hệ thống kiểm soát phiên bản, cụ thể là xung quanh git và sau đó là tổng quan về kho lưu trữ mã và chúng tôi sẽ chọn GitHub vì đây là lựa chọn ưa thích của tôi.
Tiếp theo, chúng ta sẽ đi sâu vào các hệ thống kiểm soát phiên bản, cụ thể là xung quanh git và sau đó là tổng quan về kho lưu trữ mã và chúng ta sẽ chọn GitHub vì đây là lựa chọn ưa thích của tôi.

Hẹn gặp lại vào [ngày 35](day35.md)
2 changes: 1 addition & 1 deletion 2022/vi/Days/day35.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Tôi đã bắt đầu áp dụng quản lý phiên bản không chỉ đối v

Tuy nhiên, để tránh hiểu lầm **Quản lý phiên bản không hoạt động như một bản sao lưu**

Một lợi ích khác của quản lý phiên bản là khả năng quản lý nhiều phiên bản của một dự án. Lấy ví dụ như chúng ta có một ứng dụng miễn phí và sau đó là ứng dụng trả phí có sẵn trên tất cả các hệ điều hành. Phần lớn mã được chia sẽ giữa hai ứng dụng. Chúng tôi có thể sao chép và dán mã của mình cho từng commit vào từng ứng dụng, nhưng điều đó sẽ rất lộn xộn, đặc biệt là khi bạn mở rộng quy mô phát triển với nhiều nhân sự, cũng sẽ rất dễ mắc lỗi.
Một lợi ích khác của quản lý phiên bản là khả năng quản lý nhiều phiên bản của một dự án. Lấy ví dụ như chúng ta có một ứng dụng miễn phí và sau đó là ứng dụng trả phí có sẵn trên tất cả các hệ điều hành. Phần lớn mã được chia sẽ giữa hai ứng dụng. Chúng ta có thể sao chép và dán mã của mình cho từng commit vào từng ứng dụng, nhưng điều đó sẽ rất lộn xộn, đặc biệt là khi bạn mở rộng quy mô phát triển với nhiều nhân sự, cũng sẽ rất dễ mắc lỗi.

Ứng dụng trả phí là nơi chúng ta có các chứ năng bổ sung, hãy gọi chúng là các commit trả phí, bản miễn phí sẽ chỉ chứa các commit bình thường.

Expand Down
2 changes: 1 addition & 1 deletion 2022/vi/Days/day37.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Hầu như tất cả các công cụ phát triển hiện đại đều hỗ tr
- Công cụ nhóm - Cũng được đề cập trong các công cụ như Jenkins theo góc nhìn CI/CD, Slack từ góc độ dịch vụ nhắn tin và Jira từ góc độ quản lý dự án và theo dõi vấn đề.

- Cloud providers - Tất cả các nhà cung cấp điện toán đám mây lớn đều hỗ trợ git, Microsoft Azure, Amazon AWS và Google Cloud Platform.
- Các dịch vụ dựa trên Git - Sau đó, chúng ta có GitHub, GitLab và BitBucket mà chúng tôi sẽ đề cập rõ hơn ở phần sau. Các dịch vụ này có thể coi như là một mạng xã hội dành cho mã nguồn.
- Các dịch vụ dựa trên Git - Sau đó, chúng ta có GitHub, GitLab và BitBucket mà chúng ta sẽ đề cập rõ hơn ở phần sau. Các dịch vụ này có thể coi như là một mạng xã hội dành cho mã nguồn.

### Git Cheatsheet

Expand Down
Loading
Loading