字幕列表 影片播放
If you're looking to break into DevOps or want to level up your skills, you're in the right place.
如果您想加入 DevOps,或者想提高自己的技能水準,那您就來對地方了。
Today, I'm sharing the complete DevOps roadmap.
今天,我將與大家分享完整的 DevOps 路線圖。
I'll walk you through the essential skills you need, the tools I personally recommend and how much time you should spend on each.
我將帶你瞭解你需要的基本技能、我個人推薦的工具以及你應該在每種工具上花費多少時間。
Assuming you dedicate 3 to 5 hours of studying every day, this roadmap should take you about 10 to 14 months to complete.
假設您每天學習 3 到 5 個小時,那麼完成這個路線圖大約需要 10 到 14 個月的時間。
Let's jump right in.
讓我們直奔主題。
First up, we have Linux Fundamentals.
首先是 Linux 基礎知識。
Linux is the development environment.
Linux 是開發環境。
As a DevOps engineer, you'll be setting up and maintaining the infrastructure where applications run.
作為一名 DevOps 工程師,您需要建立和維護應用程序運行的基礎設施。
Most servers use Linux so getting comfortable with it, especially the command line is crucial.
大多數服務器使用 Linux,是以熟練掌握 Linux,尤其是命令行至關重要。
I recommend starting with learning Bash, which is the most commonly used shell and scripting language in Linux.
我建議從學習 Bash 開始,它是 Linux 中最常用的 shell 和腳本語言。
Spend about 2 to 3 weeks on this.
花 2 到 3 周的時間。
Make sure to learn basic Linux commands for working with the file system, permissions and ownership, processes and signals, as well as managing packages.
確保學習處理文件系統、權限和所有權、進程和信號以及管理套裝軟體的基本 Linux 命令。
Next, you need to learn networking concepts.
接下來,您需要學習網絡概念。
Networking is all about how computers communicate with each other.
網絡是關於計算機如何相互通信的。
Think IP addresses and protocols.
想想 IP 地址和協議。
You need to understand how data moves around, secure it, and troubleshoot network issues.
您需要了解數據是如何移動的、如何確保數據安全以及如何排除網絡故障。
To get hands-on experience, I recommend using Wireshark.
要獲得實際經驗,我建議使用 Wireshark。
Dedicate around 2 weeks on this.
為此投入兩週左右的時間。
Make sure to learn concepts like OSI and TCP models, IP addressing and subnetting, DNS and DHCP, networking protocols like HTTP, HTTPS, FTP and SSH, firewalls and security groups, and basic network troubleshooting using tools like ping, traceroute, and netstat.
確保學習 OSI 和 TCP 模型、IP 尋址和子網劃分、DNS 和 DHCP、HTTP、HTTPS、FTP 和 SSH 等網絡協議、防火牆和安全組等概念,以及使用 ping、traceroute 和 netstat 等工具進行基本網絡故障排除。
Now let's talk about git.
現在讓我們來談談 git。
Git is a version control system that lets you track changes in your code and collaborate with others.
Git 是一個版本控制系統,可讓您跟蹤代碼的更改並與他人協作。
It's essential for working on projects with a team and managing your code effectively.
它對於與團隊一起開展項目和有效管理代碼至關重要。
Spend 1 to 2 weeks getting comfortable with git.
花 1 到 2 周時間熟悉 git。
Make sure to learn basic git commands like clone, commit, push and pull, branching and merging, resolving merge conflicts, working with remote repositories and so on.
請務必學習基本的 git 命令,如 clone、commit、push 和 pull、分支和合並、解決合併衝突、與遠程版本庫協同工作等。
After that, you should dive into programming languages.
之後,您應該深入學習編程語言。
Programming languages like Python, Ruby, and Go are used to automate tasks and manage configurations.
Python、Ruby 和 Go 等編程語言可用於自動執行任務和管理配置。
While there are several other languages, I personally recommend Python for its simplicity, powerful libraries, and versatility.
雖然還有其他幾種語言,但我個人還是推薦 Python,因為它簡單易用、庫功能強大、用途廣泛。
Dedicate 4 to 6 weeks to build a solid foundation in Python.
用 4 到 6 周的時間打下堅實的 Python 基礎。
Make sure to learn Python syntax and data structures like lists, dictionaries, sets and tuples, modules and packages, learn how to write and execute Python scripts, work with files, handle errors, write automation scripts and so on.
確保學習 Python 文法和數據結構,如列表、字典、集合和元組、模塊和包,學習如何編寫和執行 Python 腳本、使用文件、處理錯誤、編寫自動化腳本等。
By the way, to help you on this journey, I've created a free supplementary PDF that breaks down the specific concepts you need to learn for each skill.
順便說一下,為了在學習過程中對你有所幫助,我製作了一份免費的補充 PDF 文件,其中對你需要學習的每項技能的具體概念進行了細分。
It's a great resource to review your progress, find gaps in your knowledge, and prepare for interviews.
這是一個很好的資源,可用於回顧自己的進步、查找知識差距以及準備面試。
You can find the link in the description box.
您可以在描述框中找到鏈接。
Also, I have a bunch of tutorials on this channel and complete courses on my website if you're looking for structured learning.
此外,我在這個頻道上有很多教程,如果你想有系統地學習,我的網站上也有完整的課程。
Again, links are in the description box.
同樣,鏈接在說明框中。
Moving on, let's talk about cloud providers.
接下來,讓我們談談雲提供商。
Cloud providers like AWS, Azure, and Google cloud platform offer a range of services for building and deploying applications.
AWS、Azure 和 Google 雲平臺等雲提供商為構建和部署應用程序提供了一系列服務。
If you're just starting out, I recommend focusing on one cloud provider and AWS is a great choice because it's the most widely used.
如果您剛剛起步,我建議您專注於一家雲計算提供商,AWS 是一個不錯的選擇,因為它的應用最為廣泛。
Spend about 4 to 6 weeks on this.
花大約 4 到 6 周的時間。
Make sure to learn how to launch, configure and manage virtual servers, store and manage data, get familiar with managing users, groups and roles, and how to set up and manage isolated networks.
確保學習如何啟動、配置和管理虛擬服務器,存儲和管理數據,熟悉管理用戶、組和角色,以及如何設置和管理隔離網絡。
Next up is containerization.
接下來是容器化。
Containerization is all about packaging an application and its dependencies into a container to ensure it runs the same everywhere.
容器化就是將應用程序及其依賴項打包到一個容器中,以確保其在任何地方都能以同樣的方式運行。
Docker is the go to tool for this.
Docker 是實現這一點的首選工具。
Spend about 3 to 4 weeks getting comfortable with docker.
花 3 到 4 周時間熟悉 docker。
Learn how to create docker images, get familiar with starting, stopping and managing containers, learn how to write docker files, explore how to define and run multi container applications using docker compose and so on.
學習如何創建 docker 鏡像,熟悉容器的啟動、停止和管理,學習如何編寫 docker 文件,探索如何使用 docker compose 定義和運行多容器應用程序等。
Now let's dive into continuous integration and deployment or CICD.
現在,讓我們深入瞭解持續集成與部署(CICD)。
CICD automates the integration and deployment of code changes allowing for frequent and reliable releases.
CICD 可自動集成和部署代碼變更,從而實現頻繁、可靠的發佈。
Jenkins is a powerful tool for setting up CICD pipelines but other popular tools include GitLab CICD, Circle CI and Travis CI.
Jenkins 是建立 CICD 管道的強大工具,但其他流行的工具還包括 GitLab CICD、Circle CI 和 Travis CI。
If you're starting out, just focus on Jenkins for its versatility and strong community support.
如果你是新手,只需關注 Jenkins,因為它具有多功能性和強大的社區支持。
Dedicate 3 to 4 weeks on this.
用 3 到 4 周的時間來做這件事。
Make sure to understand how to create and manage Jenkins pipelines, get familiar with writing Jenkins files, learn how to integrate automated tests into your pipelines, understand how to deploy your applications, explore how to automate the deployment of your applications to various environments and so on.
確保瞭解如何創建和管理 Jenkins 管道,熟悉編寫 Jenkins 文件,學習如何將自動測試集成到管道中,瞭解如何部署應用程序,探索如何將應用程序自動部署到各種環境等。
Moving forward, let's discuss orchestration and management.
接下來,讓我們討論一下協調和管理。
Orchestration tools like Kubernetes and Helm help automate the deployment, scaling and management of containerized applications.
Kubernetes 和 Helm 等協調工具可幫助自動化部署、擴展和管理容器化應用程序。
These tools are essential for managing complex applications in production.
這些工具對於管理生產中的複雜應用程序至關重要。
Start with Kubernetes and spend about 4 to 6 weeks on it.
從 Kubernetes 開始,花 4 到 6 周時間。
Make sure to learn about the overall architecture including the master node and worker node and how they interact, understand the key components such as pods, services and deployments, get familiar with managing resources, learn how to scale your applications as well as the networking model in Kubernetes.
確保瞭解整體架構,包括主節點和工作節點及其交互方式,瞭解 pod、服務和部署等關鍵組件,熟悉資源管理,學習如何擴展應用程序以及 Kubernetes 中的網絡模型。
Next we have networking and infrastructure services.
接下來是網絡和基礎設施服務。
This involves setting up and managing services like reverse proxies, forward proxies, caching servers, firewalls and load balancers.
這包括設置和管理反向代理、正向代理、緩存服務器、防火牆和負載平衡器等服務。
I recommend using Nginx for handling reverse proxies and load balancing.
我建議使用 Nginx 來處理反向代理和負載平衡。
Give this about 3 to 4 weeks of your time.
大約需要 3 到 4 周的時間。
Learn how to set up and configure Nginx as a reverse proxy, understand how to configure it to act as a forward proxy, explore caching strategies to improve the performance and how to configure firewalls and security groups.
學習如何將 Nginx 設置和配置為反向代理,瞭解如何將其配置為正向代理,探索提高性能的緩存策略,以及如何配置防火牆和安全組。
Now let's talk about configuration management.
現在我們來談談配置管理。
Configuration management tools like Ansible, Puppet and Chef automate the deployment, configuration and management of servers and applications.
Ansible、Puppet 和 Chef 等配置管理工具可自動部署、配置和管理服務器及應用程序。
If you're starting out, just focus on Ansible due to its simplicity and powerful features.
如果你是新手,只需關注 Ansible,因為它簡單易用且功能強大。
Spend 3 to 4 weeks on this.
花 3 到 4 周的時間。
Learn how to write Ansible playbooks, understand how to use roles and modules, learn to manage variables and templates and so on.
學習如何編寫 Ansible 管理程序,瞭解如何使用角色和模塊,學習如何管理變量和模板等。
Moving on, let's discuss infrastructure as code or IAC.
接下來,讓我們討論一下基礎設施即代碼或 IAC。
IAC involves managing and provisioning computing infrastructure through machine readable configuration files.
IAC 涉及通過機器可讀配置文件管理和配置計算基礎設施。
Popular tools include Terraform, AWS CloudFormation and Pulumi.
流行的工具包括 Terraform、AWS CloudFormation 和 Pulumi。
If you're starting out, just focus on Terraform for its flexibility and widespread use.
如果你是新手,只需關注 Terraform,因為它具有靈活性和廣泛應用。
Dedicate 3 to 4 weeks to build a solid foundation in Terraform.
用 3 到 4 周時間打好 Terraform 的堅實基礎。
Understand the basic concepts like providers and resources, get familiar with writing Terraform configuration files, learn how to use Terraform modules, as well as advanced concepts such as workspaces and remote state.
瞭解提供者和資源等基本概念,熟悉編寫 Terraform 配置文件,學習如何使用 Terraform 模塊,以及工作區和遠程狀態等高級概念。
Finally, let's talk about monitoring and logging.
最後,讓我們來談談監控和日誌記錄。
Monitoring and logging tools such as Prometheus, Grafana, ELK stack, and Fluentd track the performance and health of your applications and infrastructure.
Prometheus、Grafana、ELK 堆棧和 Fluentd 等監控和日誌記錄工具可跟蹤應用程序和基礎架構的性能和健康狀況。
If you're starting out, just focus on Prometheus and Grafana.
如果您剛起步,只需關注 Prometheus 和 Grafana。
Spend about 3 to 4 weeks on these tools.
在這些工具上花費大約 3 到 4 周的時間。
Learn the architecture and data model of Prometheus, get familiar with collecting metrics from various sources, learn how to write queries to extract and analyze metrics data, understand how to set up alerts and so on.
學習 Prometheus 的架構和數據模型,熟悉從各種來源收集指標,學習如何編寫查詢來提取和分析指標數據,瞭解如何設置警報等。
So if you dedicate 3 to 5 hours every day, you can follow this road map and pick up all the skills you need to become a DevOps engineer in about 10 to 14 months.
是以,如果你每天投入 3 到 5 個小時,就可以按照這個路線圖,在 10 到 14 個月內掌握成為 DevOps 工程師所需的全部技能。
If you have any questions, please let me know in the comments below and I'll do my best to answer you right here or in my future videos.
如果您有任何問題,請在下面的評論中告訴我,我會盡我所能在這裡或今後的視頻中回答您。
If you enjoyed this video, please give it a like and subscribe for more useful content.
如果您喜歡這段視頻,請點贊並訂閱,以獲取更多有用的內容。
Thanks for watching!
感謝觀看!