90DaysOfDevOps/2022/zh_cn/Days/day14.md
2023-09-11 17:20:37 +08:00

132 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: '#90DaysOfDevOps - 概览: DevOps 与 Linux - 第十四天'
published: false
description: 90DaysOfDevOps - 概览: DevOps 与 Linux
tags: 'devops, 90daysofdevops, learning'
cover_image: null
canonical_url: null
id: 1049033
---
## 概览: DevOps 与 Linux
Linux和DevOps有着非常相似的文化和观点两者都专注于定制化和可扩展性。Linux 的这两个方面对于 DevOps 来说都特别重要。
许多技术都是从Linux开始的特别是当它们与软件开发或基础设施管理有关的时候。
此外许多开源项目尤其是DevOps工具从一开始就被设计为在Linux上运行。
从DevOps或任何运营角色的角度来看我会认为你将接触到Linux。WinOps是一种选择但大多数时候你需要管理和部署Linux服务器。
几年来我一直在使用Linux但我的桌面电脑一直是macOS或Windows。当我转变成为云原生角色Cloud Native role我需要确保我的笔记本电脑完全基于Linux和我的日常驱动程序我仍然需要Windows用于工作的应用程序而且我的许多音频和视频设备无法在Linux上运行我强迫自己只运行Linux桌面以更好地掌握很多东西。我们将在接下来的7天里进行讨论。
## 开始
我并不是要求你和我一样完全使用Linux因为有更简单、破坏性更小的选择。但我会说只使用Linux可以迫使你更快地学习如何在Linux上工作。
在这7天的大部分时间里我将在Windows电脑上的Virtual Box中部署虚拟机。我打算部署Linux发行版的桌面版本而实际工作中你将管理的许多Linux服务器可能是没有GUI的服务器并且一切都是基于shell的。但是正如我在开始时所说我们在整个90天学习中介绍的许多工具都是从Linux开始的我也强烈建议你潜心使用该Linux桌面以获得学习体验。
在这篇文章的其余部分我们将专注于在我们的Virtual Box环境中启动并运行Ubuntu桌面虚拟机。现在我们可以下载[Virtual Box](https://www.virtualbox.org/)并从链接的站点获取最新的[Ubuntu ISO](https://ubuntu.com/download)然后继续构建我们的桌面环境但这一步对我们来说不是很DevOps对吧
Another good reason to use most Linux distributions is that they are free and open-source. We are also choosing Ubuntu as it is probably the most widely used distribution deployed not thinking about mobile devices and enterprise RedHat Enterprise servers. I might be wrong there but with CentOS and the history there I bet Ubuntu is high on the list and it's super simple.
使用大多数Linux发行版的另一个理由是它们是免费和开源的。我们选择Ubuntu因为它可能是使用最广泛的发行版目前没有考虑移动设备和企业RedHat Enterprise服务器。我可能是错的但对于 CentOS 和那里的历史我敢打赌Ubuntu是比较热门的而且它非常简单。
## 简介HashiCorp Vagrant
Vagrant 是一个CLI程序用于管理虚拟机的生命周期。我们可以使用vagrant在许多不同的平台上启动虚拟机包括vSphereHyper-vVirtual Box和Docker。它也有其他提供商我们将使用Virtual Box所以我们可以用到它。
我们需要做的第一件事是在我们的机器上安装Vagrant当您转到下载页面时您将看到供你选择的所有操作系统。[HashiCorp Vagrant](https://www.vagrantup.com/downloads) 我正在使用Windows所以我下载了二进制文件并继续在我的系统上安装它。
接下来,我们还需要安装[Virtual Box](https://www.virtualbox.org/wiki/Downloads)。同样的它也可以被安装在许多不同的操作系统上。如果你运行的是WindowsmacOS或Linux那么可以选择它和vagrant我们的安装环节就到此为止。
这两个安装过程都非常简单,并且周围都有很棒的社区,所以如果你有问题,请随时联系他们,我也可以尝试提供帮助。
## 我们的第一个VAGRANTFILE
VAGRANT文件描述了我们要部署的计算机类型还定义了此计算机的配置和预配。
在保存这些和组织你的VAGRANT文件时我倾向于将它们放在我工作区的文件夹中。您可以在下面看到这在我的系统上的外观。希望在此之后你将与Vagrant一起玩并体验启动不同系统的便利性这可以帮助你不断探索Linux桌面。
![](../../Days/Images/Day14_Linux1.png)
让我们看一下VAGRANT文件看看我们正在构建什么。
```
Vagrant.configure("2") do |config|
config.vm.box = "chenhan/ubuntu-desktop-20.04"
config.vm.provider :virtualbox do |v|
v.memory = 8096
v.cpus = 4
v.customize ["modifyvm", :id, "--vram", "128mb"]
end
end
```
总的来说这是一个非常简单的VAGRANTFILE。我们想要一个特定的“盒子”一个盒子可能是您正在寻找的系统的公共映像或私有版本。您可以在[public catalog of Vagrant boxes](https://app.vagrantup.com/boxes/search) 中找到一系列公开的“盒子”。
下一行我们说我们想使用特定的程序,这次使用的是`VirtualBox`。我们还将机器的内存`8GB`和CPU的数量定义为`4`。根据我的经验如果您遇到问题您可能还需要添加以下行。这会将视频内存设置为您想要的我会将其提升到128MB ,但这取决于您的系统。
```
v.customize ["modifyvm", :id, "--vram", ""]
```
我还在[Linux 文件夹](Linux/VAGRANTFILE) 中放置了这个特定vagrant文件的副本。
## 配置我们的 Linux 桌面
现在我们已经准备好在工作站的终端中启动并运行我们的第一台机器。就我而言我正在Windows机器上使用PowerShell。导航到您的项目文件夹您将在其中找到您的VAGRANTFILE。到达那里后您可以输入命令`vagrant up`,如果一切正常,您将看到类似以下内容。
![](../../Days/Images/Day14_Linux2.png)
此处要添加的另一样东西是,网络将设置为虚拟机上的网络`NAT`。在此阶段我们不需要了解NAT我计划在网络的章节中讨论它。这是在家庭网络上获取机器的简单按钮它也是[Virtual Box documentation](https://www.virtualbox.org/manual/ch06.html#network_nat)上的默认网络模式。你可以在虚拟盒子文档中找到更多信息。
`vagrant up`完成后,我们现在可以使用`vagrant ssh`直接跳转到新 VM 的终端。
![](../../Days/Images/Day14_Linux3.png)
这是我们接下来的几天里将进行大部分探索的地方但我还想深入了解我为您的开发人员工作站所做的一些自定义当将其作为日常驱动程序运行时使你的工作变得更加简单。当然有一个很酷的非标准终端才像是在做DevOps对吧
在Virtual Box中进行确认您应该会在选择VM时看到登录提示。
![](../../Days/Images/Day14_Linux4.png)
如果你做到了这一步,你会问“用户名和密码是什么?”
- Username = vagrant
- Password = vagrant
明天我们将了解一些命令以及它们的作用,终端将成为实现一切的地方。
## 相关资料
- [Learn the Linux Fundamentals - Part 1](https://www.youtube.com/watch?v=kPylihJRG70)
- [Linux for hackers (don't worry you don't need be a hacker!)](https://www.youtube.com/watch?v=VbEx7B_PTOE)
随着我们的学习我会发现很多资源就像Go资源一样我通常会将它们保留为免费内容以便我们都可以在这里参与和学习。
As I mentioned next up we will take a look at the commands we might be using on a daily whilst in our Linux environments.
正如我接下来会提到的我们将看看我们在Linux环境中可能每天使用的命令。
[第十五天](day15.md)见