如果你正在深入研究 DevOps,请从这里开始(不,不是从 Kubernetes 开始)
让我告诉你一些我希望有人早点把这些灌输到我脑子里的事情……
在我接触任何kubectl
命令之前...在我写下我的第一个命令之前docker-compose.yml
...在我考虑启动 EC2 实例之前...
我应该学习Linux。
那么现在呢?我想对所有愿意听的人(甚至那些不愿意听的人)说:学习 Linux 是一切的基础。
我犯了你可能也犯过的错误
当我进入科技行业时,我和大多数人一样:直接投身于 Kubernetes,因为它听起来很酷,而且大家都在谈论它。“这会让我的简历看起来很棒!”我心想。果然如此。但你猜怎么着?
我完全迷失了。
我在 Kubernetes 上做的每件事都感觉像黑魔法。遇到问题,我就去 Google 上找解决办法,复制粘贴命令,然后祈祷。剧透:有时候能用,但我不知道为什么。这可不是建立自信的糟糕方法。
直到我撞到墙上(更像是全速撞上去)我才意识到问题不在于 Kubernetes 或 Docker 或云提供商。
问题是……我不知道 Linux 是如何工作的。🤦🏽♀️
Linux 是基金会。就是这样。
我们对炫酷的工具 — — K8s、AWS、Terraform、GitOps、MLOps、whateverOps — — 感到非常兴奋,以至于我们忘记了它们都是基于什么构建的。
是的。经典的 Linux。
容器?它是一个 Linux 进程。你的云虚拟机?它是一个无头 Linux 服务器。CI/CD 运行器?你猜对了:Linux。基础设施即代码?你正在自动化 Linux 配置。
因此,如果您不理解以下内容:
- 如何检查哪个进程占用了 80 端口
- 为什么文件就在那里却显示“未找到”
- 如何授予脚本执行权限
- 到底
/etc/fstab
是什么
……那你就得挣扎了。这不是你的错。但你有责任回头去解决这个问题。
实话实说:Linux 教给你什么
当你最终放慢脚步,真正开始每天使用Linux 时,一切就会开始明朗起来。你将获得以下收获:
🛠️ 自信地通过 SSH 进入服务器并进行故障排除
📦 了解如何管理包、日志和用户
🧠 部署“基础设施”时发生的情况的心理模型
🧰 使用 Bash、cron、systemd、iptables 等工具的超能力
突然之间……Kubernetes 不再可怕。Docker 将变得更有意义。AWS EC2 感觉很熟悉。
那么你应该怎么做?
现在我要告诉你们的是:
- 安装一个 Linux 发行版(即使 WSL 也可以)。使用它。破坏它。修复它。
- 认真学习 Bash。自动化操作,乐趣无穷。
- 先手动构建。启动一个不使用Docker 的 Web 服务器。配置防火墙。托管一个静态网站。
- 像专业人士一样使用 Google。但不要只是复制粘贴——阅读你正在做的事情。
- 记录一切。未来的你会感谢你。
在 DevOps、云、GitOps 和 MLOps 领域——Linux 无处不在
我现在深入研究 Kubernetes、云和基础设施即代码。我构建了 GitOps 流水线,并帮助团队将机器学习模型迁移到 GPU 集群。
但每次有东西出故障时(而且肯定会出故障),我最终会去哪里呢?
在 Linux shell 中。
因为在所有这些现代技术堆栈魔法的核心...Linux 仍然承担着繁重的工作。
TL;DR?
如果您想在这个领域蓬勃发展,请首先将 Linux 作为您的家。
在你学会 grep 之前,不要急着上 Kubernetes。在你了解 PID 之前,不要急着上 Docker。在你能够管理本地 Linux 系统之前,不要乱用 AWS。
从小事做起,从正确的事情做起。
Linux 不仅仅是一种工具 — — 它使所有其他工具都变得有意义。
如果您对此深有感触,或者在 DevOps 之旅中遇到瓶颈,欢迎留言或私信我。我经历过,我们都经历过。您并不孤单。🚀
鏂囩珷鏉ユ簮锛�https://dev.to/devnenyasha/if-youre-diving-into-devops-start-here-no-not-with-kubernetes-3gch