我们最近采访了乔·多斯(Joe Doss),了解他如何使用 Fedora. 这是关于 Fedora 杂志。 系列简介 Fedora 用户以及他们如何使用 Fedora 把事情做好。 通过反馈表联系我们,表达您有兴趣成为受访者。
乔·多斯是谁?
Joe Doss 住在美国伊利诺伊州芝加哥市,他最喜欢的食物是披萨。 他是工程运营和 Kenna Security, Inc. 的主管。Doss 是这样描述他的雇主的:“Kenna 使用数据科学帮助企业将其基础设施和应用程序漏洞数据与漏洞利用情报相结合,以衡量风险、预测攻击并确定补救措施的优先级。”
他的第一个 Linux 发行版是 Red Hat Linux 5。他的一个朋友向他展示了一台没有运行 Windows 的计算机。 当他的朋友给他一张 Red Hat Linux 5 安装盘时,Doss 认为这只是一个安装在 Windows 上的程序。 “我开始在父亲的 PC 上安装这个 Linux ‘程序’,”他说。 对 Doss 来说幸运的是,他的父亲支持他对计算机的兴趣。 “结果,我最终彻底清除了 Windows 95 安装,这就是我获得第一台计算机的方式。”
在肯纳,Doss 的小组利用 Fedora 和 Ansible: “我们跑 Fedora Cloud 在 AWS 和 Google Compute 中的多个 VPC 部署中,拥有超过 200 台虚拟机。 我们使用 Ansible 来自动化我们所做的一切 Fedora。”
Doss 在家里酿造啤酒,并在空闲时间为开源做出贡献。 他还有一只名叫蒂比的猫。 “当蒂比 7 个月大时,我在芝加哥海德公园附近的街道上救了她。 她不是很聪明,但她用可爱弥补了这一点。” 他最喜欢去的地方是他儿时在密歇根州的家,但多斯说,“任何有温暖海滩、凉爽饮品和海洋的地方也很漂亮。”
这 Fedora 社区
多斯参与了 Fedora 和 Fedora 通过他在 Kenna Security 的工作。 当他第一次加入公司时,他们在生产中使用 Ubuntu 和 Chef。 人们希望使基础架构更具可重复性和可靠性,他说:“我能够通过 Fedora Cloud 和 Ansible。” 这个项目让他参与了 Fedora Cloud 释放。
当被问及他的第一印象时 Fedora 社区,多斯说,“说实话,压倒性的。 发生了很多事情,很难弄清楚谁是每个部分的利益相关者 Fedora。” 一旦他弄清楚他需要与谁交谈,他就会发现社区非常欢迎和超级支持。
他必须改善社区的想法之一是将各种项目和团队联合起来使用错误跟踪工具和社区资源。 “Pagure、Bugzilla、Github、 Fedora 论坛、话语论坛、邮件列表……到处都是,一开始很难导航。” 尽管熟悉 Fedora 项目,Doss 觉得参与其中是非常有益的。 “能够成为一个以非常积极的方式影响这么多人的 Linux 发行版,感觉很棒。 你可以有所作为。”
Doss 呼吁 Red Hat 的 Dusty Mabe 帮助他参与其中,称 Dusty “一直是一位了不起的导师和资源,让我能够回馈 Fedora。”
Doss 有一种有趣的方式向非技术朋友解释他的工作。 “想象一下,一辆非常大的公共汽车以 70 英里/小时的速度在高速公路上行驶时更换轮胎,有时您需要与轮胎制造商合作,以帮助使这一过程顺利进行。” 这个比喻可以帮助人们理解在 AWS 和 Google Compute 中超过 5 个生产 VPC 中的 200 多个虚拟机被替换为每个 Fedora 释放。
多斯提请我注意一个具体事件 Fedora 29 和流浪者。 “最近我们遇到了一个问题,即 Vagrant 不会在 Fresh 上设置主机名 Fedora 29 测试版虚拟机。 这是由于 Fedora 29 Cloud 不再提供网络服务存根以支持 NetworkManager。 这导致我与 Kenna Security 的一位同事合作,将补丁发送到 Vagrant 项目的上游,以帮助他们的开发人员为 Fedora 29. Vagrant 的用法 Fedora 是我们在 Kenna 开发周期的很大一部分,并且在 Fedora 29 的发布会对我们产生很大的影响。” 正如多斯所说,“有时你需要在轮胎上车之前帮助制造它们。”
多斯是 慢性阻塞性肺病 Fedora、RHEL 和 CentOS 软件包维护者 WireGuard VPN. “CentOS 代码库上个月的下载量刚刚超过 60,000,这非常棒。”
什么硬件?
多斯用途 Fedora 29 个云在 AWS 和 Google 计算机上的超过 5 个 VPC 部署。 在家里,他有一台 SuperMicro SYS-5019A-FTN4 1U 服务器运行 Fedora 29 安装了 Openshift OKD 的服务器。 他的笔记本电脑都是联想。 “对于笔记本电脑,我在工作时使用 ThinkPad T460s,在家里使用 ThinkPad 25。 都有 Fedora 29 安装。 ThinkPads是最好的 Fedora。”
什么软件?
Doss 使用 GNOME 3 作为他的首选桌面 Fedora 工作站。 “我将 Sublime Text 3 用于桌面上的文本编辑器或服务器上的 vim。” 对于开发和测试,他使用 Vagrant。 “Ansible 是我用于任何类型自动化的工具 Fedora. 我维护一个 Ansible 剧本 用于设置我的工作站。”
Ansible
我问 Doss 是否对尝试学习 Ansible 的人有什么建议。
“从小处着手。 自动化使您的生活更轻松的东西,但不要过度复杂化。 Ansible 银河 是快速完成工作的绝佳资源,但如果您真的想学习如何使用 Ansible,编写您自己的角色和剧本,我会走这条路。
“我帮助许多加入我在 Kenna 运营团队的同事通过购买 Ansible 的副本来加快使用 Ansible 适用于 Devops 的 Ansible 杰夫·格林。 这本书将为任何刚接触 Ansible 的人提供他们每天开始使用它所需的基础。 Freenode 上的#ansible 是一个很好的资源,以及 Ansible 官方文档。”
Doss 还说:“知道要自动化什么很可能是最难掌握的事情,而不会使事情变得过于复杂。 调试复杂的剧本和角色是一种 close 第二。”
家庭实验室
他建议建立一个家庭实验室。 “在肯纳和家里,我使用 流浪汉 与 Vagrant-libvirt 插件 用于开发 Ansible 角色和剧本。 您可以使用您最喜欢的编辑器快速迭代以在笔记本电脑上构建您的角色和剧本,并运行 vagrant provision 来运行您的剧本。 快速反馈循环以及烧毁 Vagrant VM 并快速重新开始的能力是一个了不起的工作流程。 下面是一个示例 Vagrant 文件,我可以方便地启动一个 Fedora 虚拟机来测试我的剧本。”
-- mode: ruby --
vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.provision "shell", inline: "dnf install nfs-utils rpcbind @development-tools @ansible-node redhat-rpm-config gcc-c++ -y"
config.ssh.forward_agent = true
config.vm.define "f29", autostart: false do |f29|
f29.vm.box = "fedora/29-cloud-base"
f29.vm.hostname = "f29.example.com"
f29.vm.provider "libvirt" do |vm|
vm.memory = 2048
vm.cpus = 2
vm.driver = "kvm"
vm.nic_model_type = "e1000"
end
config.vm.synced_folder '.', '/vagrant', disabled: true
config.vm.provision "ansible" do |ansible|
ansible.groups = {
}
ansible.playbook = "playbooks/main.yml"
ansible.inventory_path = "inventory/development"
ansible.extra_vars = {
ansible_python_interpreter: "/usr/bin/python3"
}
# ansible.verbose="vvv" end
end
end