diff --git a/published/20180810 Use Plank On Multiple Monitors Without Creating Multiple Docks With autoplank.md b/published/201911/20180810 Use Plank On Multiple Monitors Without Creating Multiple Docks With autoplank.md similarity index 100% rename from published/20180810 Use Plank On Multiple Monitors Without Creating Multiple Docks With autoplank.md rename to published/201911/20180810 Use Plank On Multiple Monitors Without Creating Multiple Docks With autoplank.md diff --git a/published/20181109 Must-Have Tools for Writers on the Linux Platform.md b/published/201911/20181109 Must-Have Tools for Writers on the Linux Platform.md similarity index 100% rename from published/20181109 Must-Have Tools for Writers on the Linux Platform.md rename to published/201911/20181109 Must-Have Tools for Writers on the Linux Platform.md diff --git a/published/20190328 Can Better Task Stealing Make Linux Faster.md b/published/201911/20190328 Can Better Task Stealing Make Linux Faster.md similarity index 100% rename from published/20190328 Can Better Task Stealing Make Linux Faster.md rename to published/201911/20190328 Can Better Task Stealing Make Linux Faster.md diff --git a/published/20190404 Why blockchain (might be) coming to an IoT implementation near you.md b/published/201911/20190404 Why blockchain (might be) coming to an IoT implementation near you.md similarity index 100% rename from published/20190404 Why blockchain (might be) coming to an IoT implementation near you.md rename to published/201911/20190404 Why blockchain (might be) coming to an IoT implementation near you.md diff --git a/published/20190610 Why containers and Kubernetes have the potential to run almost anything.md b/published/201911/20190610 Why containers and Kubernetes have the potential to run almost anything.md similarity index 100% rename from published/20190610 Why containers and Kubernetes have the potential to run almost anything.md rename to published/201911/20190610 Why containers and Kubernetes have the potential to run almost anything.md diff --git a/published/20190718 What you need to know to be a sysadmin.md b/published/201911/20190718 What you need to know to be a sysadmin.md similarity index 100% rename from published/20190718 What you need to know to be a sysadmin.md rename to published/201911/20190718 What you need to know to be a sysadmin.md diff --git a/published/20190801 Linux permissions 101.md b/published/201911/20190801 Linux permissions 101.md similarity index 100% rename from published/20190801 Linux permissions 101.md rename to published/201911/20190801 Linux permissions 101.md diff --git a/published/20190822 11 Essential Keyboard Shortcuts Google Chrome-Chromium Users Should Know.md b/published/201911/20190822 11 Essential Keyboard Shortcuts Google Chrome-Chromium Users Should Know.md similarity index 100% rename from published/20190822 11 Essential Keyboard Shortcuts Google Chrome-Chromium Users Should Know.md rename to published/201911/20190822 11 Essential Keyboard Shortcuts Google Chrome-Chromium Users Should Know.md diff --git a/published/20190826 How RPM packages are made- the source RPM.md b/published/201911/20190826 How RPM packages are made- the source RPM.md similarity index 100% rename from published/20190826 How RPM packages are made- the source RPM.md rename to published/201911/20190826 How RPM packages are made- the source RPM.md diff --git a/published/20190828 Someone Forked GIMP into Glimpse Because Gimp is an Offensive Word.md b/published/201911/20190828 Someone Forked GIMP into Glimpse Because Gimp is an Offensive Word.md similarity index 100% rename from published/20190828 Someone Forked GIMP into Glimpse Because Gimp is an Offensive Word.md rename to published/201911/20190828 Someone Forked GIMP into Glimpse Because Gimp is an Offensive Word.md diff --git a/published/20190902 How RPM packages are made- the spec file.md b/published/201911/20190902 How RPM packages are made- the spec file.md similarity index 100% rename from published/20190902 How RPM packages are made- the spec file.md rename to published/201911/20190902 How RPM packages are made- the spec file.md diff --git a/published/20190905 Building CI-CD pipelines with Jenkins.md b/published/201911/20190905 Building CI-CD pipelines with Jenkins.md similarity index 100% rename from published/20190905 Building CI-CD pipelines with Jenkins.md rename to published/201911/20190905 Building CI-CD pipelines with Jenkins.md diff --git a/published/20190906 6 Open Source Paint Applications for Linux Users.md b/published/201911/20190906 6 Open Source Paint Applications for Linux Users.md similarity index 100% rename from published/20190906 6 Open Source Paint Applications for Linux Users.md rename to published/201911/20190906 6 Open Source Paint Applications for Linux Users.md diff --git a/published/20190912 How to fix common pitfalls with the Python ORM tool SQLAlchemy.md b/published/201911/20190912 How to fix common pitfalls with the Python ORM tool SQLAlchemy.md similarity index 100% rename from published/20190912 How to fix common pitfalls with the Python ORM tool SQLAlchemy.md rename to published/201911/20190912 How to fix common pitfalls with the Python ORM tool SQLAlchemy.md diff --git a/published/20191007 7 Java tips for new developers.md b/published/201911/20191007 7 Java tips for new developers.md similarity index 100% rename from published/20191007 7 Java tips for new developers.md rename to published/201911/20191007 7 Java tips for new developers.md diff --git a/published/20191008 5 Best Password Managers For Linux Desktop.md b/published/201911/20191008 5 Best Password Managers For Linux Desktop.md similarity index 100% rename from published/20191008 5 Best Password Managers For Linux Desktop.md rename to published/201911/20191008 5 Best Password Managers For Linux Desktop.md diff --git a/published/20191013 How to Enable EPEL Repository on CentOS 8 and RHEL 8 Server.md b/published/201911/20191013 How to Enable EPEL Repository on CentOS 8 and RHEL 8 Server.md similarity index 100% rename from published/20191013 How to Enable EPEL Repository on CentOS 8 and RHEL 8 Server.md rename to published/201911/20191013 How to Enable EPEL Repository on CentOS 8 and RHEL 8 Server.md diff --git a/published/20191018 How to use Protobuf for data interchange.md b/published/201911/20191018 How to use Protobuf for data interchange.md similarity index 100% rename from published/20191018 How to use Protobuf for data interchange.md rename to published/201911/20191018 How to use Protobuf for data interchange.md diff --git a/published/20191021 How to program with Bash- Syntax and tools.md b/published/201911/20191021 How to program with Bash- Syntax and tools.md similarity index 100% rename from published/20191021 How to program with Bash- Syntax and tools.md rename to published/201911/20191021 How to program with Bash- Syntax and tools.md diff --git a/published/20191022 Initializing arrays in Java.md b/published/201911/20191022 Initializing arrays in Java.md similarity index 100% rename from published/20191022 Initializing arrays in Java.md rename to published/201911/20191022 Initializing arrays in Java.md diff --git a/published/20191023 How to dual boot Windows 10 and Debian 10.md b/published/201911/20191023 How to dual boot Windows 10 and Debian 10.md similarity index 100% rename from published/20191023 How to dual boot Windows 10 and Debian 10.md rename to published/201911/20191023 How to dual boot Windows 10 and Debian 10.md diff --git a/published/20191024 Open Source CMS Ghost 3.0 Released with New features for Publishers.md b/published/201911/20191024 Open Source CMS Ghost 3.0 Released with New features for Publishers.md similarity index 100% rename from published/20191024 Open Source CMS Ghost 3.0 Released with New features for Publishers.md rename to published/201911/20191024 Open Source CMS Ghost 3.0 Released with New features for Publishers.md diff --git a/published/20191025 4 cool new projects to try in COPR for October 2019.md b/published/201911/20191025 4 cool new projects to try in COPR for October 2019.md similarity index 100% rename from published/20191025 4 cool new projects to try in COPR for October 2019.md rename to published/201911/20191025 4 cool new projects to try in COPR for October 2019.md diff --git a/published/20191025 How I used the wget Linux command to recover lost images.md b/published/201911/20191025 How I used the wget Linux command to recover lost images.md similarity index 100% rename from published/20191025 How I used the wget Linux command to recover lost images.md rename to published/201911/20191025 How I used the wget Linux command to recover lost images.md diff --git a/published/20191025 Understanding system calls on Linux with strace.md b/published/201911/20191025 Understanding system calls on Linux with strace.md similarity index 100% rename from published/20191025 Understanding system calls on Linux with strace.md rename to published/201911/20191025 Understanding system calls on Linux with strace.md diff --git a/published/20191025 Why I made the switch from Mac to Linux.md b/published/201911/20191025 Why I made the switch from Mac to Linux.md similarity index 100% rename from published/20191025 Why I made the switch from Mac to Linux.md rename to published/201911/20191025 Why I made the switch from Mac to Linux.md diff --git a/published/20191027 How to Install and Configure Nagios Core on CentOS 8 - RHEL 8.md b/published/201911/20191027 How to Install and Configure Nagios Core on CentOS 8 - RHEL 8.md similarity index 100% rename from published/20191027 How to Install and Configure Nagios Core on CentOS 8 - RHEL 8.md rename to published/201911/20191027 How to Install and Configure Nagios Core on CentOS 8 - RHEL 8.md diff --git a/published/20191028 SQLite is really easy to compile.md b/published/201911/20191028 SQLite is really easy to compile.md similarity index 100% rename from published/20191028 SQLite is really easy to compile.md rename to published/201911/20191028 SQLite is really easy to compile.md diff --git a/published/20191029 Collapse OS - An OS Created to Run After the World Ends.md b/published/201911/20191029 Collapse OS - An OS Created to Run After the World Ends.md similarity index 100% rename from published/20191029 Collapse OS - An OS Created to Run After the World Ends.md rename to published/201911/20191029 Collapse OS - An OS Created to Run After the World Ends.md diff --git a/published/20191029 Upgrading Fedora 30 to Fedora 31.md b/published/201911/20191029 Upgrading Fedora 30 to Fedora 31.md similarity index 100% rename from published/20191029 Upgrading Fedora 30 to Fedora 31.md rename to published/201911/20191029 Upgrading Fedora 30 to Fedora 31.md diff --git a/published/20191029 What you probably didn-t know about sudo.md b/published/201911/20191029 What you probably didn-t know about sudo.md similarity index 100% rename from published/20191029 What you probably didn-t know about sudo.md rename to published/201911/20191029 What you probably didn-t know about sudo.md diff --git a/published/20191030 Getting started with awk, a powerful text-parsing tool.md b/published/201911/20191030 Getting started with awk, a powerful text-parsing tool.md similarity index 100% rename from published/20191030 Getting started with awk, a powerful text-parsing tool.md rename to published/201911/20191030 Getting started with awk, a powerful text-parsing tool.md diff --git a/published/20191030 How to Find Out Top Memory Consuming Processes in Linux.md b/published/201911/20191030 How to Find Out Top Memory Consuming Processes in Linux.md similarity index 100% rename from published/20191030 How to Find Out Top Memory Consuming Processes in Linux.md rename to published/201911/20191030 How to Find Out Top Memory Consuming Processes in Linux.md diff --git a/published/20191030 Viewing network bandwidth usage with bmon.md b/published/201911/20191030 Viewing network bandwidth usage with bmon.md similarity index 100% rename from published/20191030 Viewing network bandwidth usage with bmon.md rename to published/201911/20191030 Viewing network bandwidth usage with bmon.md diff --git a/published/20191031 Why you don-t have to be afraid of Kubernetes.md b/published/201911/20191031 Why you don-t have to be afraid of Kubernetes.md similarity index 100% rename from published/20191031 Why you don-t have to be afraid of Kubernetes.md rename to published/201911/20191031 Why you don-t have to be afraid of Kubernetes.md diff --git a/published/20191101 Keyboard Shortcuts to Speed Up Your Work in Linux.md b/published/201911/20191101 Keyboard Shortcuts to Speed Up Your Work in Linux.md similarity index 100% rename from published/20191101 Keyboard Shortcuts to Speed Up Your Work in Linux.md rename to published/201911/20191101 Keyboard Shortcuts to Speed Up Your Work in Linux.md diff --git a/published/20191104 Cloning a MAC address to bypass a captive portal.md b/published/201911/20191104 Cloning a MAC address to bypass a captive portal.md similarity index 100% rename from published/20191104 Cloning a MAC address to bypass a captive portal.md rename to published/201911/20191104 Cloning a MAC address to bypass a captive portal.md diff --git a/published/20191104 Fields, records, and variables in awk.md b/published/201911/20191104 Fields, records, and variables in awk.md similarity index 100% rename from published/20191104 Fields, records, and variables in awk.md rename to published/201911/20191104 Fields, records, and variables in awk.md diff --git a/published/20191104 How To Update a Fedora Linux System -Beginner-s Tutorial.md b/published/201911/20191104 How To Update a Fedora Linux System -Beginner-s Tutorial.md similarity index 100% rename from published/20191104 How To Update a Fedora Linux System -Beginner-s Tutorial.md rename to published/201911/20191104 How To Update a Fedora Linux System -Beginner-s Tutorial.md diff --git a/published/20191106 Bash Script to Generate Patching Compliance Report on CentOS-RHEL Systems.md b/published/201911/20191106 Bash Script to Generate Patching Compliance Report on CentOS-RHEL Systems.md similarity index 100% rename from published/20191106 Bash Script to Generate Patching Compliance Report on CentOS-RHEL Systems.md rename to published/201911/20191106 Bash Script to Generate Patching Compliance Report on CentOS-RHEL Systems.md diff --git a/published/20191106 How to Schedule and Automate tasks in Linux using Cron Jobs.md b/published/201911/20191106 How to Schedule and Automate tasks in Linux using Cron Jobs.md similarity index 100% rename from published/20191106 How to Schedule and Automate tasks in Linux using Cron Jobs.md rename to published/201911/20191106 How to Schedule and Automate tasks in Linux using Cron Jobs.md diff --git a/published/201911/20191107 Demystifying Kubernetes.md b/published/201911/20191107 Demystifying Kubernetes.md new file mode 100644 index 0000000000..f98c0d4387 --- /dev/null +++ b/published/201911/20191107 Demystifying Kubernetes.md @@ -0,0 +1,234 @@ +[#]: collector: (lujun9972) +[#]: translator: (Morisun029) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11628-1.html) +[#]: subject: (Demystifying Kubernetes) +[#]: via: (https://opensourceforu.com/2019/11/demystifying-kubernetes/) +[#]: author: (Abhinav Nath Gupta https://opensourceforu.com/author/abhinav-gupta/) + +揭开 Kubernetes 的神秘面纱 +====== + +![][2] + +> Kubernetes 是一款生产级的开源系统,用于容器化应用程序的自动部署、扩展和管理。本文关于使用 Kubernetes 来管理容器。 + + “容器”已成为最新的流行语之一。但是,这个词到底意味着什么呢?说起“容器”,人们通常会把它和 Docker 联系起来,Docker 是一个被定义为软件的标准化单元容器。该容器将软件和运行软件所需的环境封装到一个易于交付的单元中。 + +容器是一个软件的标准单元,用它来打包代码及其所有依赖项,这样应用程序就可以从一个计算环境到另一个计算环境快速可靠地运行。容器通过创建类似于 ISO 镜像的方式来实现此目的。容器镜像是一个轻量级的、独立的、可执行的软件包,其中包含运行应用程序所需的所有信息,包括代码、运行时、系统工具、系统库和设置。 + +容器镜像在运行时变成容器,对于 Docker 容器,镜像在 Docker 引擎上运行时变成容器。容器将软件与环境隔离开来,确保不同环境下的实例,都可以正常运行。 + +###什么是容器管理? + +容器管理是组织、添加或替换大量软件容器的过程。容器管理使用软件来自动化创建、部署和扩展容器。这一过程就需要容器编排,容器编排是一个自动对基于容器的应用程序进行部署、管理、扩展、联网和提供可用性的工具。 + +### Kubernetes + +Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,它有助于配置和自动化。它最初由 Google 开发,拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、技术支持和工具得到广泛应用。 + +Google 在 2014 年开源了 Kubernetes 项目。Kubernetes 建立在 Google 十五年大规模运行生产工作负载的经验基础上,并结合了社区中最好的想法和实践以及声明式句法的使用。 + +下面列出了与Kubernetes生态系统相关的一些常用术语。 + +**Pod**:Pod 是 Kubernetes 应用程序的基本执行单元,是你创建或部署的 Kubernetes 对象模型中的最小和最简单的单元。Pod 代表在 Kubernetes 集群上运行的进程。 + +Pod 将运行中的容器、存储、网络 IP(唯一)和控制容器应如何运行的命令封装起来。它代表 Kubernetes 生态系统内的单个部署单元,代表一个应用程序的单个实例,该程序可能包含一个或多个紧密耦合并共享资源的容器。 + +Kubernetes 集群中的 Pod 有两种主要的使用方式。第一种是运行单个容器。即“一个容器一个 Pod”,这种方式是最常见的。第二种是运行多个需要一起工作的容器。 + +Pod 可能封装一个由紧密关联且需要共享资源的多个同位容器组成的应用程序。 + +副本集ReplicaSet:副本集的目的是维护在任何给定时间运行的一组稳定的副本容器集。 副本集包含有关一个特定 Pod 应该运行多少个副本的信息。为了创建多个 Pod 以匹配副本集条件,Kubernetes 使用 Pod 模板。副本集与其 Pod 的链接是通过后者的 `metas.ownerReferences` 字段实现,该字段指定哪个资源拥有当前对象。 + +服务Services:服务是一种抽象,用来公开一组 Pod 功能。使用 Kubernetes,你无需修改应用程序即可使用陌生服务发现机制。Kubernetes 给 Pod 提供了其自己的 IP 地址和一组 Pod 的单个 DNS 名称,并且可以在它们之间负载平衡。 + +服务解决的一个主要问题是 Web 应用程序前端和后端的集成。由于 Kubernetes 将幕后的 IP 地址提供给 Pod,因此当 Pod 被杀死并复活时,IP 地址会更改。这给给定的后端 IP 地址连接到相应的前端 IP 地址带来一个大问题。服务通过在 Pod 上提供抽象来解决此问题,类似于负载均衡器。 + +Volumes: Kubernetes 卷具有明确的生命周期,与围绕它的 Pod 相同。 因此,卷超过了 Pod 中运行的任何容器的寿命,并且在容器重新启动后保留了数据。当然,当 Pod 不存在时,该卷也将不再存在。也许比这更重要的是 Kubernetes 支持多种类型的卷,并且 Pod 可以同时使用任意数量的卷。 + +卷的核心只是一个目录,其中可能包含一些数据,Pod 中的容器可以访问该目录。该目录是如何产生的,它后端基于什么存储介质,其中的数据内容是什么,这些都由使用的特定卷类型来决定的。 + +### 为什么选择 Kubernetes? + +容器是捆绑和运行应用程序的好方法。在生产环境中,你需要管理运行应用程序的容器,并确保没有停机时间。例如,如果一个容器发生故障,则需要启动另一个容器。如果由系统自动实现这一操作,岂不是更好? Kubernetes 就是来解决这个问题的!Kubernetes 提供了一个框架来弹性运行分布式系统。该框架负责扩展需求、故障转移、部署模式等。例如,Kubernetes 可以轻松管理系统的金丝雀部署。 + +Kubernetes 为用户提供了: + +1. 服务发现和负载平衡 +2. 存储编排 +3. 自动退出和回退 +4. 自动打包 +5. 自我修复 +6. 秘密配置管理 + +### Kubernetes 可以做什么? + +在本文中,我们将会看到一些从头构建 Web 应用程序时如何使用 Kubernetes 的代码示例。我们将在 Python 中使用 Flask 创建一个简单的后端服务器。 + +对于那些想从头开始构建 Web 应用程序的人,有一些前提条件,即: + +1. 对 Docker、Docker 容器和 Docker 镜像的基本了解。可以访问[这里][8]快速了解。 +2. 系统中应该安装 Docker。 +3. 系统中应该安装 Kubernetes,有关如何在本地计算机上安装的说明,请访问[这里][9]。 + +现在,创建一个目录,如下代码片段所示: + +``` +mkdir flask-kubernetes/app && cd flask-kubernetes/app +``` + +接下来,在 `flask-kubernetes/app` 目录中,创建一个名为 `main.py` 的文件,如下面的代码片段所示: + +``` +touch main.py +``` + +在新创建的 `main.py` 文件中,粘贴下面代码: + +``` +from flask import Flask +app = Flask(__name__) + +@app.route("/") +def hello(): + return "Hello from Kubernetes!" + +if __name__ == "__main__": + app.run(host='0.0.0.0') +``` + +使用下面命令在本地安装 Flask: + +``` +pip install Flask==0.10.1 +``` + +Flask 安装后,执行下面的命令: + +``` +python app.py +``` + +应该在本地 5000 端口运行 Flask 服务器,这是 Flask 应用程序的默认端口,并且你可以在 http://localhost:5000 上看到输出 “Hello from Kubernetes!”。服务器在本地运行之后,我们创建一个供 Kubernetes 使用的 Docker 镜像。创建一个名为 `Dockerfile` 的文件,并将以下代码片段粘贴到其中: + +``` +FROM python:3.7 + +RUN mkdir /app +WORKDIR /app +ADD . /app/ +RUN pip install -r requirements.txt + +EXPOSE 5000 +CMD ["python", "/app/main.py"] +``` + +`Dockerfile` 文件的说明如下: + +1. Docker 将从 DockerHub 获取 Python 3.7 镜像。 +2. 将在镜像中创建一个应用程序目录。 +3. 它将一个 `/app` 目录设置为工作目录。 +4. 将内容从主机中的应用程序目录复制到镜像应用程序目录。 +5. 发布端口 5000。 +6. 最后,它运行命令,启动 Flask 服务器。 + +接下来,我们将使用以下命令创建 Docker 镜像: + +``` +docker build -f Dockerfile -t flask-kubernetes:latest . +``` + +创建 Docker 镜像后,我们可以使用以下命令在本地运行该镜像进行测试: + +``` +docker run -p 5001:5000 flask-kubernetes +``` + +通过运行容器在本地完成测试之后,我们需要在 Kubernetes 中部署它。我们将首先使用 `kubectl` 命令验证 Kubernetes 是否正在运行。如果没有报错,则说明它正在工作。如果有报错,请参考[该信息][9]。 + +接下来,我们创建一个部署文件。这是一个 Yaml 文件,其中包含有关 Kubernetes 的说明,该说明涉及如何以声明性的方式创建 Pod 和服务。因为我们有 Flask Web 应用程序,我们将创建一个 `deployment.yaml` 文件,并在其中包含 Pod 和服务声明。 + +创建一个名为 `deployment.yaml` 的文件并向其中添加以下内容,然后保存: + +``` +apiVersion: v1 +kind: Service +metadata: + name: flask-kubernetes -service +spec: + selector: + app: flask-kubernetes + ports: + - protocol: "TCP" + port: 6000 + targetPort: 5000 + type: LoadBalancer + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: flask-kubernetes +spec: + replicas: 4 + template: + metadata: + labels: + app: flask-kubernetes + spec: + containers: + - name: flask-kubernetes + image: flask-kubernetes:latest + imagePullPolicy: Never + ports: + - containerPort: 5000 +``` + +使用以下命令将 yaml 文件发送到 Kubernetes: + +``` +kubectl apply -f deployment.yaml +``` + +如果执行以下命令,你会看到 Pod 正在运行: + +``` +kubectl get pods +``` + +现在,导航至 http://localhost:6000,你应该会看到 “Hello from Kubernetes!”消息。成功了! 该应用程序现在正在 Kubernetes 中运行! + +### Kubernetes 做不了什么? + +Kubernetes 不是一个传统的,包罗万象的 PaaS(平台即服务)系统。 由于 Kubernetes 运行在容器级别而非硬件级别,因此它提供了 PaaS 产品共有的一些普遍适用功能,如部署、扩展、负载平衡、日志记录和监控。Kubernetes 为开发人员平台提供了构建块,但在重要的地方保留了用户的选择和灵活性。 + +* Kubernetes 不限制所支持的应用程序的类型。如果应用程序可以在容器中运行,那么它应该可以在 Kubernetes 上更好地运行。 +* 它不部署和构建源代码。 +* 它不决定日志记录、监视或警报解决方案。 +* 它不提供或不要求配置语言/系统。它提供了一个声明式的 API 供所有人使用。 +* 它不提供或不采用任何全面的机器配置、维护、管理或自我修复系统。 + +-------------------------------------------------------------------------------- + +via: https://opensourceforu.com/2019/11/demystifying-kubernetes/ + +作者:[Abhinav Nath Gupta][a] +选题:[lujun9972][b] +译者:[Morisun029](https://github.com/Morisun029) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensourceforu.com/author/abhinav-gupta/ +[b]: https://github.com/lujun9972 +[1]: https://i2.wp.com/opensourceforu.com/wp-content/uploads/2019/11/Gear-kubernetes.jpg?resize=696%2C457&ssl=1 (Gear kubernetes) +[2]: https://i2.wp.com/opensourceforu.com/wp-content/uploads/2019/11/Gear-kubernetes.jpg?fit=800%2C525&ssl=1 +[3]: https://secure.gravatar.com/avatar/f65917facf5f28936663731fedf545c4?s=100&r=g +[4]: https://opensourceforu.com/author/abhinav-gupta/ +[5]: mailto:abhi.aec89@gmail.com +[6]: http://opensourceforu.com/wp-content/uploads/2013/10/assoc.png +[7]: https://feedburner.google.com/fb/a/mailverify?uri=LinuxForYou&loc=en_US +[8]: https://www.docker.com/sites/default/files/Docker_CheatSheet_08.09.2016_0.pdf +[9]: https://kubernetes.io/docs/setup/learning-environment/minikube/ diff --git a/published/20191107 How to add a user to your Linux desktop.md b/published/201911/20191107 How to add a user to your Linux desktop.md similarity index 100% rename from published/20191107 How to add a user to your Linux desktop.md rename to published/201911/20191107 How to add a user to your Linux desktop.md diff --git a/published/20191107 Tuning your bash or zsh shell on Fedora Workstation and Silverblue.md b/published/201911/20191107 Tuning your bash or zsh shell on Fedora Workstation and Silverblue.md similarity index 100% rename from published/20191107 Tuning your bash or zsh shell on Fedora Workstation and Silverblue.md rename to published/201911/20191107 Tuning your bash or zsh shell on Fedora Workstation and Silverblue.md diff --git a/published/20191108 7 Best Open Source Tools that will help in AI Technology.md b/published/201911/20191108 7 Best Open Source Tools that will help in AI Technology.md similarity index 100% rename from published/20191108 7 Best Open Source Tools that will help in AI Technology.md rename to published/201911/20191108 7 Best Open Source Tools that will help in AI Technology.md diff --git a/published/20191108 Budget-friendly Linux Smartphone PinePhone Will be Available to Pre-order Next Week.md b/published/201911/20191108 Budget-friendly Linux Smartphone PinePhone Will be Available to Pre-order Next Week.md similarity index 100% rename from published/20191108 Budget-friendly Linux Smartphone PinePhone Will be Available to Pre-order Next Week.md rename to published/201911/20191108 Budget-friendly Linux Smartphone PinePhone Will be Available to Pre-order Next Week.md diff --git a/published/20191108 How to manage music tags using metaflac.md b/published/201911/20191108 How to manage music tags using metaflac.md similarity index 100% rename from published/20191108 How to manage music tags using metaflac.md rename to published/201911/20191108 How to manage music tags using metaflac.md diff --git a/published/20191111 Confirmed- Microsoft Edge Will be Available on Linux.md b/published/201911/20191111 Confirmed- Microsoft Edge Will be Available on Linux.md similarity index 100% rename from published/20191111 Confirmed- Microsoft Edge Will be Available on Linux.md rename to published/201911/20191111 Confirmed- Microsoft Edge Will be Available on Linux.md diff --git a/published/20191112 Getting started with PostgreSQL.md b/published/201911/20191112 Getting started with PostgreSQL.md similarity index 100% rename from published/20191112 Getting started with PostgreSQL.md rename to published/201911/20191112 Getting started with PostgreSQL.md diff --git a/published/20191113 Getting Started With ZFS Filesystem on Ubuntu 19.10.md b/published/201911/20191113 Getting Started With ZFS Filesystem on Ubuntu 19.10.md similarity index 100% rename from published/20191113 Getting Started With ZFS Filesystem on Ubuntu 19.10.md rename to published/201911/20191113 Getting Started With ZFS Filesystem on Ubuntu 19.10.md diff --git a/published/20191113 How to install and Configure Postfix Mail Server on CentOS 8.md b/published/201911/20191113 How to install and Configure Postfix Mail Server on CentOS 8.md similarity index 100% rename from published/20191113 How to install and Configure Postfix Mail Server on CentOS 8.md rename to published/201911/20191113 How to install and Configure Postfix Mail Server on CentOS 8.md diff --git a/published/20191114 Cleaning up with apt-get.md b/published/201911/20191114 Cleaning up with apt-get.md similarity index 100% rename from published/20191114 Cleaning up with apt-get.md rename to published/201911/20191114 Cleaning up with apt-get.md diff --git a/published/20191114 Microsoft Defender ATP is Coming to Linux- What Does it Mean.md b/published/201911/20191114 Microsoft Defender ATP is Coming to Linux- What Does it Mean.md similarity index 100% rename from published/20191114 Microsoft Defender ATP is Coming to Linux- What Does it Mean.md rename to published/201911/20191114 Microsoft Defender ATP is Coming to Linux- What Does it Mean.md diff --git a/published/20191114 Red Hat Responds to Zombieload v2.md b/published/201911/20191114 Red Hat Responds to Zombieload v2.md similarity index 100% rename from published/20191114 Red Hat Responds to Zombieload v2.md rename to published/201911/20191114 Red Hat Responds to Zombieload v2.md diff --git a/published/20191115 Developing a Simple Web Application Using Flutter.md b/published/201911/20191115 Developing a Simple Web Application Using Flutter.md similarity index 100% rename from published/20191115 Developing a Simple Web Application Using Flutter.md rename to published/201911/20191115 Developing a Simple Web Application Using Flutter.md diff --git a/translated/tech/20191117 How to Install VirtualBox 6.0 on CentOS 8 - RHEL 8.md b/published/201911/20191117 How to Install VirtualBox 6.0 on CentOS 8 - RHEL 8.md similarity index 69% rename from translated/tech/20191117 How to Install VirtualBox 6.0 on CentOS 8 - RHEL 8.md rename to published/201911/20191117 How to Install VirtualBox 6.0 on CentOS 8 - RHEL 8.md index e1b325f4d4..be7b3f9d4f 100644 --- a/translated/tech/20191117 How to Install VirtualBox 6.0 on CentOS 8 - RHEL 8.md +++ b/published/201911/20191117 How to Install VirtualBox 6.0 on CentOS 8 - RHEL 8.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11627-1.html) [#]: subject: (How to Install VirtualBox 6.0 on CentOS 8 / RHEL 8) [#]: via: (https://www.linuxtechi.com/install-virtualbox-6-centos-8-rhel-8/) [#]: author: (Pradeep Kumar https://www.linuxtechi.com/author/pradeep/) @@ -10,27 +10,29 @@ 如何在 CentOS 8 / RHEL 8 上安装 VirtualBox 6.0 ====== -**VirtualBox** 是一款免费的开源**虚拟化工具**,它允许技术人员同时运行多个不同风格的虚拟机。它通常用于运行桌面(Linux 和 Windows),当人们尝试探索新的 Linux 发行版的功能或希望在 VM 中安装 **OpenStack**、**Ansible** 和 **Puppet** 等软件时,它会非常方便,在这种情况下,我们可以使用 VirtualBox 启动 VM。 +![](https://img.linux.net.cn/data/attachment/album/201911/30/095031gbnm59ux0dw979wb.jpg) -VirtualBox 被分类为**2 类虚拟机管理程序**,这意味着它需要一个现有的操作系统,在上面安装 VirtualBox 软件。VirtualBox 提供功能来创建本机网络或 NAT 网络。在本文中,我们将演示如何在 CentOS 8 和 RHEL 8 系统上安装最新版本的 VirtualBox 6.0,并演示如何安装 VirtualBox 扩展。 +VirtualBox 是一款自由开源的虚拟化工具,它允许技术人员同时运行多个不同风格的虚拟机(VM)。它通常用于运行桌面(Linux 和 Windows),当人们尝试探索新的 Linux 发行版的功能或希望在 VM 中安装 OpenStack、Ansible 和 Puppet 等软件时,它会非常方便,在这种情况下,我们可以使用 VirtualBox 启动 VM。 + +VirtualBox 被分类为 2 类虚拟机管理程序,这意味着它需要一个现有的操作系统,在上面安装 VirtualBox 软件。VirtualBox 提供功能来创建本机网络或 NAT 网络。在本文中,我们将演示如何在 CentOS 8 和 RHEL 8 系统上安装最新版本的 VirtualBox 6.0,并演示如何安装 VirtualBox 扩展。 ### 在 CentOS 8 / RHEL 8 上安装 VirtualBox 6.0 的安装步骤 #### 步骤 1: 启用 VirtualBox 和 EPEL 仓库 -登录到你的 CentOS 8 或 RHEL 8 系统并打开终端,执行以下命令并启用 VirtualBox 和 EPEL 包仓库。 +登录到你的 CentOS 8 或 RHEL 8 系统并打开终端,执行以下命令并启用 VirtualBox 和 EPEL 包仓库: ``` [root@linuxtechi ~]# dnf config-manager --add-repo=https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo ``` -使用以下 rpm 命令导入 Oracle VirtualBox 公钥 +使用以下 `rpm` 命令导入 Oracle VirtualBox 公钥: ``` [root@linuxtechi ~]# rpm --import https://www.virtualbox.org/download/oracle_vbox.asc ``` -使用以下 dnf 命令启用 EPEL 仓库, +使用以下 `dnf` 命令启用 EPEL 仓库: ``` [root@linuxtechi ~]# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y @@ -38,17 +40,17 @@ VirtualBox 被分类为**2 类虚拟机管理程序**,这意味着它需要一 #### 步骤 2: 安装 VirtualBox 构建工具和依赖项 -运行以下命令来安装所有 VirtualBox 构建工具和依赖项, +运行以下命令来安装所有 VirtualBox 构建工具和依赖项: ``` [root@linuxtechi ~]# dnf install binutils kernel-devel kernel-headers libgomp make patch gcc glibc-headers glibc-devel dkms -y ``` -成功安装上面的依赖项和构建工具后,使用 dnf 命令继续安装 VirtualBox, +成功安装上面的依赖项和构建工具后,使用 `dnf` 命令继续安装 VirtualBox。 #### 步骤 3: 在 CentOS 8 / RHEL 8 上安装 VirtualBox 6.0 -如果希望在安装之前列出 VirtualBox 的可用版本,请执行以下 [dnf 命令][1], +如果希望在安装之前列出 VirtualBox 的可用版本,请执行以下 dnf 命令: ``` [root@linuxtechi ~]# dnf search virtualbox @@ -59,13 +61,13 @@ VirtualBox-6.0.x86_64 : Oracle VM VirtualBox [root@linuxtechi ~]# ``` -让我们使用以下 dnf 命令安装最新版本的 VirtualBox 6.0, +让我们使用以下 `dnf` 命令安装最新版本的 VirtualBox 6.0: ``` [root@linuxtechi ~]# dnf install VirtualBox-6.0 -y ``` -如果有本地用户希望将 usb 设备连接到 VirtualBox VM,那么他/她应该是 “**vboxusers**” 组的一员,请使用下面的 usermod 命令将本地用户添加到 “vboxusers” 组。 +如果有本地用户希望将 usb 设备连接到 VirtualBox VM,那么他/她应该是 `vboxusers` 组的一员,请使用下面的 `usermod` 命令将本地用户添加到 `vboxusers` 组。 ``` @@ -74,7 +76,7 @@ VirtualBox-6.0.x86_64 : Oracle VM VirtualBox #### 步骤 4: 访问 CentOS 8 / RHEL 8 上的 VirtualBox -有两种方法可以访问 VirtualBox,在命令行输入 “**virtualbox**” 然后回车: +有两种方法可以访问 VirtualBox,在命令行输入 `virtualbox` 然后回车: ``` [root@linuxtechi ~]# virtualbox @@ -82,11 +84,11 @@ VirtualBox-6.0.x86_64 : Oracle VM VirtualBox 在桌面环境中,在搜索框中搜索 “VirtualBox”。 -[![Access-VirtualBox-CentOS8][2]][3] +![Access-VirtualBox-CentOS8][3] -单击 VirtualBox 图标, +单击 VirtualBox 图标: -[![VirtualBox-CentOS8][2]][4] +![VirtualBox-CentOS8][4] 这确认 VirtualBox 6.0 已成功安装,让我们安装它的扩展包。 @@ -100,37 +102,28 @@ VirtualBox-6.0.x86_64 : Oracle VM VirtualBox * Intel PXE 启动 * 主机网络摄像头 - - -使用下面的 wget 命令下载 Virtualbox 扩展包到下载文件夹中, +使用下面的 `wget` 命令下载 Virtualbox 扩展包到下载文件夹中: ``` [root@linuxtechi ~]$ cd Downloads/ [root@linuxtechi Downloads]$ wget https://download.virtualbox.org/virtualbox/6.0.14/Oracle_VM_VirtualBox_Extension_Pack-6.0.14.vbox-extpack ``` -下载后,打开 VirtualBox 并依次点击 **File** –>**Preferences** –> **Extension**,然后点击 “+” 号图标添加下载的扩展包, +下载后,打开 VirtualBox 并依次点击 “File -> Preferences -> Extension”,然后点击 “+” 号图标添加下载的扩展包: -[![Install-VirtualBox-Extension-Pack-CentOS8][2]][5] +![Install-VirtualBox-Extension-Pack-CentOS8][5] -单击 “Install” 开始安装扩展包。 +单击 “Install” 开始安装扩展包: -[![Accept-VirtualBox-Extension-Pack-License-CentOS8][2]][6] +![Accept-VirtualBox-Extension-Pack-License-CentOS8][6] -单击 "I Agree" 接受 VirtualBox 扩展包许可证。 +单击 “I Agree” 接受 VirtualBox 扩展包许可证。 -成功安装 VirtualBox 扩展包后,我们将看到下面的页面,单击 OK 并开始使用 VirtualBox。 - -[![VirtualBox-Extension-Pack-Install-Message-CentOS8][2]][7] - -本文就是这些了,我希望这些步骤可以帮助你在 CentOS 8 和 RHEL 8 系统上安装 VirtualBox 6.0。请分享你的宝贵反馈和意见。 - - * [Facebook][9] - * [Twitter][10] - * [LinkedIn][11] - * [Reddit][12] +成功安装 VirtualBox 扩展包后,我们将看到下面的页面,单击 “OK” 并开始使用 VirtualBox。 +![VirtualBox-Extension-Pack-Install-Message-CentOS8][7] +本文就是这些了,我希望这些步骤可以帮助你在 CentOS 8 和 RHEL 8 系统上安装 VirtualBox 6.0。请分享你的宝贵的反馈和意见。 -------------------------------------------------------------------------------- @@ -139,7 +132,7 @@ via: https://www.linuxtechi.com/install-virtualbox-6-centos-8-rhel-8/ 作者:[Pradeep Kumar][a] 选题:[lujun9972][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 diff --git a/published/20191118 How containers work- overlayfs.md b/published/201911/20191118 How containers work- overlayfs.md similarity index 100% rename from published/20191118 How containers work- overlayfs.md rename to published/201911/20191118 How containers work- overlayfs.md diff --git a/published/20191119 How to use pkgsrc on Linux.md b/published/201911/20191119 How to use pkgsrc on Linux.md similarity index 100% rename from published/20191119 How to use pkgsrc on Linux.md rename to published/201911/20191119 How to use pkgsrc on Linux.md diff --git a/published/20191120 How to Use TimeShift to Backup and Restore Ubuntu Linux.md b/published/201911/20191120 How to Use TimeShift to Backup and Restore Ubuntu Linux.md similarity index 100% rename from published/20191120 How to Use TimeShift to Backup and Restore Ubuntu Linux.md rename to published/201911/20191120 How to Use TimeShift to Backup and Restore Ubuntu Linux.md diff --git a/published/20191120 How to install Java on Linux.md b/published/201911/20191120 How to install Java on Linux.md similarity index 100% rename from published/20191120 How to install Java on Linux.md rename to published/201911/20191120 How to install Java on Linux.md diff --git a/published/20191121 How to document Python code with Sphinx.md b/published/201911/20191121 How to document Python code with Sphinx.md similarity index 100% rename from published/20191121 How to document Python code with Sphinx.md rename to published/201911/20191121 How to document Python code with Sphinx.md diff --git a/published/20191122 Zorin OS 15 Lite Release- Good Looking Lightweight Linux.md b/published/201911/20191122 Zorin OS 15 Lite Release- Good Looking Lightweight Linux.md similarity index 100% rename from published/20191122 Zorin OS 15 Lite Release- Good Looking Lightweight Linux.md rename to published/201911/20191122 Zorin OS 15 Lite Release- Good Looking Lightweight Linux.md diff --git a/published/20191124 Bauh - Manage Snaps, Flatpaks and AppImages from One Interface.md b/published/201911/20191124 Bauh - Manage Snaps, Flatpaks and AppImages from One Interface.md similarity index 100% rename from published/20191124 Bauh - Manage Snaps, Flatpaks and AppImages from One Interface.md rename to published/201911/20191124 Bauh - Manage Snaps, Flatpaks and AppImages from One Interface.md diff --git a/published/20191126 Google to Add Mainline Linux Kernel Support to Android.md b/published/201911/20191126 Google to Add Mainline Linux Kernel Support to Android.md similarity index 100% rename from published/20191126 Google to Add Mainline Linux Kernel Support to Android.md rename to published/201911/20191126 Google to Add Mainline Linux Kernel Support to Android.md diff --git a/published/20191127 Displaying dates and times your way.md b/published/201911/20191127 Displaying dates and times your way.md similarity index 100% rename from published/20191127 Displaying dates and times your way.md rename to published/201911/20191127 Displaying dates and times your way.md diff --git a/sources/news/20191008 Kubernetes communication, SRE struggles, and more industry trends.md b/sources/news/20191008 Kubernetes communication, SRE struggles, and more industry trends.md deleted file mode 100644 index a3ba0a6a52..0000000000 --- a/sources/news/20191008 Kubernetes communication, SRE struggles, and more industry trends.md +++ /dev/null @@ -1,64 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Kubernetes communication, SRE struggles, and more industry trends) -[#]: via: (https://opensource.com/article/19/10/kubernetes-sre-more-industry-trends) -[#]: author: (Tim Hildred https://opensource.com/users/thildred) - -Kubernetes communication, SRE struggles, and more industry trends -====== -A weekly look at open source community and industry trends. -![Person standing in front of a giant computer screen with numbers, data][1] - -As part of my role as a senior product marketing manager at an enterprise software company with an open source development model, I publish a regular update about open source community, market, and industry trends for product marketers, managers, and other influencers. Here are five of my and their favorite articles from that update. - -## [Review of pod-to-pod communications in Kubernetes][2] - -> In this article, we dive into pod-to-pod communications by showing you ways in which pods within a Kubernetes network can communicate with one another. -> -> While Kubernetes is opinionated in how containers are deployed and operated, it is very non-prescriptive of how the network should be designed in which pods are to be run. Kubernetes imposes the following fundamental requirements on any networking implementation (barring any intentional network segmentation policies) - -**The impact**: Networking is one of the most complicated parts of making computers work together to solve our problems. Kubernetes turns that complexity up to 11, and this article dials it back down to 10.75. - -## [One SRE's struggle and success to improve Infrastructure as Code][3] - -> Convergence is our goal because we expect our infrastructure to reach a desired state over time expressed in the code. Software idempotence means software can run as many times as it wants and unintended changes don’t happen. As a result, we built an in-house service that runs as specified to apply configurations in source control. Traditionally, we’ve aimed for a masterless configuration design so our configuration agent looks for information on the host. - -**The impact**: I've heard it said that the [human element][4] is the most important element of any digital transformation. While I don't know that the author would use that term to describe the outcome he was after, he does a great job of showing that it is not automation for automation's sake we want but rather automation that makes a meaningful impact on the lives of the people it supports. - -## [Why GitHub is the gold standard for developer-focused companies][5] - -> Now, with last year’s purchase by Microsoft supporting them, it is clear that GitHub has a real opportunity to continue building out a robust ecosystem, with billion dollar companies built upon what could turn into a powerful platform. Is GitHub the next ecosystem success story? In a word, yes. At my company, we bet on GitHub as a successful platform to build upon from the very start. We felt it was the place to build our solution if we wanted to streamline project management and keep software teams close to the code. - -**The impact**: It is one of the great ironies of open source that the most popular tool for open source development is not itself open source. The only way this works is if that tool is so good that open source developers are willing to overlook that inconsistency. - -## [KubeVirt joins Cloud Native Computing Foundation][6] - -> This month the Cloud Native Computing Foundation (CNCF) formally adopted [KubeVirt][7] into the CNCF Sandbox. KubeVirt allows you to provision, manage and run virtual machines from and within Kubernetes. In joining the CNCF Sandbox, KubeVirt now has a more substantial platform to grow as well as educate the CNCF community on the use cases for placing virtual machines within Kubernetes. The CNCF onboards projects into the CNCF Sandbox when they warrant experimentation on neutral ground to promote and foster collaborative development. - -**The impact**: The convergence of containers and virtual machines is clearly a direction vendors think is valuable. Moving this project to the CNCF gives a way to see whether this idea is going to be as popular with users and customers as vendors hope it will be. - -_I hope you enjoyed this list of what stood out to me from last week and come back next Monday for more open source community, market, and industry trends._ - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/10/kubernetes-sre-more-industry-trends - -作者:[Tim Hildred][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/thildred -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/data_metrics_analytics_desktop_laptop.png?itok=9QXd7AUr (Person standing in front of a giant computer screen with numbers, data) -[2]: https://superuser.openstack.org/articles/review-of-pod-to-pod-communications-in-kubernetes/ -[3]: https://thenewstack.io/one-sres-struggle-and-success-to-improve-infrastructure-as-code/ -[4]: https://devops.com/the-secret-to-digital-transformation-is-human-connection/ -[5]: https://thenextweb.com/podium/2019/10/02/why-github-is-the-gold-standard-for-developer-focused-companies/ -[6]: https://blog.openshift.com/kubevirt-joins-cloud-native-computing-foundation/ -[7]: https://kubevirt.io/ diff --git a/sources/news/20191013 System76 will ship Coreboot-powered firmware, a new OS for the apocalypse, and more open source news.md b/sources/news/20191013 System76 will ship Coreboot-powered firmware, a new OS for the apocalypse, and more open source news.md deleted file mode 100644 index eab1e9bd0e..0000000000 --- a/sources/news/20191013 System76 will ship Coreboot-powered firmware, a new OS for the apocalypse, and more open source news.md +++ /dev/null @@ -1,103 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (System76 will ship Coreboot-powered firmware, a new OS for the apocalypse, and more open source news) -[#]: via: (https://opensource.com/article/19/10/news-october-13) -[#]: author: (Lauren Maffeo https://opensource.com/users/lmaffeo) - -System76 will ship Coreboot-powered firmware, a new OS for the apocalypse, and more open source news -====== -Catch up on the biggest open source headlines from the past two weeks. -![Weekly news roundup with TV][1] - -In this edition of our open source news roundup, we cover System76 shipping Coreboot-powered firmware, a new OS for the apocalypse, and more open source news! - -### System76 will ship 2 Linux laptops with Coreboot-powered open source firmware - -The Denver-based Linux PC manufacturer announced plans to start shipping two laptop models with its Coreboot-powered open source firmware later this month. Jason Evangelho, Senior Contributor at _Forbes_, cited this move as a march towards offering open source software and hardware from the ground up.  - -System76, which also develops [Pop OS][2], is now taking pre-orders for its Galago Pro and Darter Pro laptops. It claims that Coreboot will let users boot from power off to the desktop 29% faster. - -Coreboot is a lightweight firmware designed to simplify the boot cycle of systems using it. It requires the minimum number of tasks needed to load and run a modern 32-bit or 64-bit operating system. Coreboot can offer a replacement for proprietary firmware, though it omits features like execution environments. Our own [Don Watkins][3] asked if Coreboot will ship on other System76 machines. Their response, [as reported by _Forbes_][4]: - -> _"Yes. Long term, System76 is working to open source all aspects of the computer. Thelio Io, the controller board in the Thelio desktop, is both open hardware and open firmware. This is a long journey but we're picking up speed. It's been less than a year since the our open hardware Thelio desktop was released and we're now producing two laptops with System76 Open Firmware."_ - -### Collapse OS is an operating system for the post-apocalypse - -Virgil Dupras, a software developer based in Quebec, is convinced the world's global supply chain will collapse before 2030. And he's worried that most [electronics will get caught in the crosshairs][5] due to "a very complex supply chain that we won't be able to achieve again for decades (ever?)."  - -To prepare for the worst, Dupras built Collapse OS. It's [designed to run][6] on "minimal or improvised machines" and perform simple tasks that are helpful in a post-apocalyptic society. These include editing text files, collecting sources files for MCUs and CPUs, and reading/writing from several storage devices. - -Dupras says it's intended for worst-case scenarios, and that a "weak collapse" might not be enough to justify its use. If you err on the side of caution, the Collapse OS project is accepting new contributors [on GitHub][7].  - -Per the project website, Dupras says his goal is for Collapse OS to be as self-contained as possible with the ability for users to install the OS without Internet access or other resources. Ideally, the goal is for Collapse OS to not be used at all. - -### ExpressionEngine will stay open source post-acquisition - -The team behind open source CMS ExpressEngine was acquired by Packet Tide - EEHarbor's parent company - in early October. [This announcement ][8]comes one year after Digital Locations acquired EllisLab, which develops EE core.  - -[In an announcement][9] on ExpressionEngine's website, EllisLab founder Rick Ellis said Digital Locations wasn't a good fit for ExpressionEngine. Citing Digital Location's goals to build an AI business, Ellis realized several months ago that ExpressionEngine needed a new home: - -> _"We decided that what was best for ExpressionEngine was to seek a new owner, one that could devote all the resources necessary for ExpressionEngine to flourish. Our top candidate was Packet Tide due to their development capability, extensive catalog of add-ons, and deep roots in the ExpressionEngine community._ -> -> _We are thrilled that they immediately expressed enthusiastic interest in becoming the caretakers of ExpressionEngine."_ - -Ellis says Packet Tide's first goal is to finish building ExpressionEngine 6.0, which will have a new control panel with a dark theme (who doesn't love dark mode?). ExpressionEngine adopted the Apache License Version 2.0 in November 2018, after 16 years as a proprietary tool. - -The tool is still marketed as an open source CMS, and EE Harbor developer Tom Jaeger said [in the EE Slack][10] that their plan is to keep ExpressionEngine open source now. But he also left the door open to possible changes.  - -### McAfee and IBM Security to lead the Open Source Cybersecurity Alliance - -The two tech giants will contribute the initiative's first open source code and content, under guidance from the OASIS consortium. The Alliance aims to share best practices, tech stacks, and security solutions in an open source platform.  - -Carol Geyer, chief development officer of OASIS, said the lack of standard language makes it hard for businesses to share data between tools and products. Despite efforts to collaborate, the lack of a standardized format yields more integration costs that are expensive and time-consuming. - -In lieu of building connections and integrations, [the Alliance wants members][11] to "develop protocols and standards which enable tools to work together and share information across vendors."  - -According to _Tech Republic_, IBM Security will contribute [STIX-Shifter][12], an open source library that offer a universal security system. Meanwhile, McAfee added its [OpenDXL Standard Ontology][13], a cybersecurity messaging format. Other members of the Alliance include CrowdStrike, CyberArk, and SafeBreach. - -#### In other news - - * [Paris uses open source to get closer to the citizen][14] - * [SD Times open source project of the week: ABAP SDK for IBM Watson][15] - * [Google's keeping Knative development under its thumb 'for the foreseeable future'][16] - * [Devs engage in soul-searching on future of open source][17] - * [Why leading Formula 1 teams back 'copycat' open source design idea][18] - - - -_Thanks, as always, to Opensource.com staff members and moderators for their help this week._ - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/10/news-october-13 - -作者:[Lauren Maffeo][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/lmaffeo -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/weekly_news_roundup_tv.png?itok=B6PM4S1i (Weekly news roundup with TV) -[2]: https://system76.com/pop -[3]: https://opensource.com/users/don-watkins -[4]: https://www.forbes.com/sites/jasonevangelho/2019/10/10/system76-will-begin-shipping-2-linux-laptops-with-coreboot-based-open-source-firmware/#15a4da174e64 -[5]: https://collapseos.org/why.html -[6]: https://www.digitaltrends.com/cool-tech/collapse-os-after-societys-collapse/ -[7]: https://github.com/hsoft/collapseos -[8]: https://wptavern.com/expressionengine-under-new-ownership-will-remain-open-source-for-now -[9]: https://expressionengine.com/blog/expressionengine-has-a-new-owner -[10]: https://eecms.slack.com/?redir=%2Farchives%2FC04CUNNR9%2Fp1570576465005500 -[11]: https://www.techrepublic.com/article/mcafee-ibm-join-forces-for-global-open-source-cybersecurity-initiative/ -[12]: https://github.com/opencybersecurityalliance/stix-shifter -[13]: https://www.opendxl.com/ -[14]: https://www.smartcitiesworld.net/special-reports/special-reports/paris-uses-open-source-to-get-closer-to-the-citizen -[15]: https://sdtimes.com/os/sd-times-open-source-project-of-the-week-abap-sdk-for-ibm-watson/ -[16]: https://www.datacenterknowledge.com/google-alphabet/googles-keeping-knative-development-under-its-thumb-foreseeable-future -[17]: https://www.linuxinsider.com/story/86282.html -[18]: https://www.autosport.com/f1/news/146407/why-leading-f1-teams-back-copycat-design-proposal diff --git a/sources/news/20191023 Cisco issues critical security warning for IOS XE REST API container.md b/sources/news/20191023 Cisco issues critical security warning for IOS XE REST API container.md deleted file mode 100644 index 13bc238c2c..0000000000 --- a/sources/news/20191023 Cisco issues critical security warning for IOS XE REST API container.md +++ /dev/null @@ -1,68 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Cisco issues critical security warning for IOS XE REST API container) -[#]: via: (https://www.networkworld.com/article/3447558/cisco-issues-critical-security-warning-for-ios-xe-rest-api-container.html) -[#]: author: (Michael Cooney https://www.networkworld.com/author/Michael-Cooney/) - -Cisco issues critical security warning for IOS XE REST API container -====== -This Cisco IOS XE REST API vulnerability could lead to attackers obtaining the token-id of an authenticated user. -D3Damon / Getty Images - -Cisco this week said it issued a software update to address a vulnerability in its [Cisco REST API virtual service container for Cisco IOS XE][1] software that scored a critical 10 out of 10 on the Common Vulnerability Scoring System (CVSS) system. - -With the vulnerability an attacker could submit malicious HTTP requests to the targeted device and if successful, obtain the _token-id_ of an authenticated user. This _token-id_ could be used to bypass authentication and execute privileged actions through the interface of the REST API virtual service container on the affected Cisco IOS XE device, the company said. - -[[Get regularly scheduled insights by signing up for Network World newsletters.]][2] - -According to Cisco the REST API is an application that runs in a virtual services container. A virtual services container is a virtualized environment on a device and is delivered as an open virtual application (OVA).  The OVA package has to be installed and enabled on a device through the device virtualization manager (VMAN) CLI. - -**[ [Prepare to become a Certified Information Security Systems Professional with this comprehensive online course from PluralSight. Now offering a 10-day free trial!][3] ]** - -The Cisco REST API provides a set of RESTful APIs as an alternative method to the Cisco IOS XE CLI to provision selected functions on Cisco devices. - -Cisco said the vulnerability can be exploited under the  following conditions: - - * The device runs an affected Cisco IOS XE Software release. - * The device has installed and enabled an affected version of the Cisco REST API virtual service container. - * An authorized user with administrator credentials (level 15) is authenticated to the REST API interface. - - - -The REST API interface is not enabled by default. To be vulnerable, the virtual services container must be installed and activated. Deleting the OVA package from the device storage memory removes the attack vector. If the Cisco REST API virtual service container is not enabled, this operation will not impact the device's normal operating conditions, Cisco stated.    - -This vulnerability affects Cisco devices that are configured to use a vulnerable version of Cisco REST API virtual service container. This vulnerability affected the following products: - - * Cisco 4000 Series Integrated Services Routers - * Cisco ASR 1000 Series Aggregation Services Routers - * Cisco Cloud Services Router 1000V Series - * Cisco Integrated Services Virtual Router - - - -Cisco said it has [released a fixed version of the REST API][4] virtual service container and   a hardened IOS XE release that prevents installation or activation of a vulnerable container on a device. If the device was already configured with an active vulnerable container, the IOS XE software upgrade will deactivate the container, making the device not vulnerable. In that case, to restore the REST API functionality, customers should upgrade the Cisco REST API virtual service container to a fixed software release, the company said. - -Join the Network World communities on [Facebook][5] and [LinkedIn][6] to comment on topics that are top of mind. - --------------------------------------------------------------------------------- - -via: https://www.networkworld.com/article/3447558/cisco-issues-critical-security-warning-for-ios-xe-rest-api-container.html - -作者:[Michael Cooney][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.networkworld.com/author/Michael-Cooney/ -[b]: https://github.com/lujun9972 -[1]: https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20190828-iosxe-rest-auth-bypass -[2]: https://www.networkworld.com/newsletters/signup.html -[3]: https://pluralsight.pxf.io/c/321564/424552/7490?u=https%3A%2F%2Fwww.pluralsight.com%2Fpaths%2Fcertified-information-systems-security-professional-cisspr -[4]: https://www.cisco.com/c/en/us/about/legal/cloud-and-software/end_user_license_agreement.html -[5]: https://www.facebook.com/NetworkWorld/ -[6]: https://www.linkedin.com/company/network-world diff --git a/sources/news/20191026 Netflix builds a Jupyter Lab alternative, a bug bounty to fight election hacking, Raspberry Pi goes microscopic, and more open source news.md b/sources/news/20191026 Netflix builds a Jupyter Lab alternative, a bug bounty to fight election hacking, Raspberry Pi goes microscopic, and more open source news.md deleted file mode 100644 index b50a93d8c1..0000000000 --- a/sources/news/20191026 Netflix builds a Jupyter Lab alternative, a bug bounty to fight election hacking, Raspberry Pi goes microscopic, and more open source news.md +++ /dev/null @@ -1,78 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Netflix builds a Jupyter Lab alternative, a bug bounty to fight election hacking, Raspberry Pi goes microscopic, and more open source news) -[#]: via: (https://opensource.com/article/19/10/news-october-26) -[#]: author: (Scott Nesbitt https://opensource.com/users/scottnesbitt) - -Netflix builds a Jupyter Lab alternative, a bug bounty to fight election hacking, Raspberry Pi goes microscopic, and more open source news -====== -Catch up on the biggest open source headlines from the past two weeks. -![Weekly news roundup with TV][1] - -In this edition of our open source news roundup, we take a look at a machine learning tool from Netflix, Microsoft's election software bug bounty, a cost-effective microscope built with Raspberry Pi, and more! - -### Netflix release Polynote machine learning tool - -While there have been numerous advances in machine learning over the last decade, it's still a difficult, laborious, and sometimes frustrating task. To help make that task easier, Netflix has [released a machine learning notebook environment][2] called Polynote as open source. - -Polynote enables "data scientists and AI researchers to integrate Netflix’s JVM-based machine learning framework with Python machine learning and visualization libraries". What make Polynote unique is its reproducibility feature, which "takes cells’ positions in the notebook into account before executing them, helping prevent bad practices that make notebooks difficult to rerun from the top." It's also quite flexible—Polynote works with Apache Spark and supports languages like Python, Scala, and SQL. - -You can grab Polynote [off GitHub][3] or learn more about it at the Polynote website. - -### Microsoft announces bug bounty program for its election software - -Hoping that more eyeballs on its code will make bugs shallow, Microsoft announced a [a bug bounty][4] for its open source ElectionGuard software development kit for voting machines. The goal of the program is to "uncover vulnerabilities and help bolster election security." - -The bounty is open to "security professionals, part-time hobbyists, and students." Successful submissions, which must include proofs of concept demonstrating how bugs could compromise the security of voters, are worth up to $15,000 (USD). - -If you're interested in participating, you can find ElectionGuard's code on [GitHub][5], and read more about the [bug bounty][6]. - -### microscoPI: a microscope built on Raspberry Pi - -It's not a stretch to say that the Raspberry Pi is one of the most flexible platforms for hardware and software hackers. Micropalaeontologist Martin Tetard saw the potential of the tiny computers in his field of study and [create the microscoPI][7]. - -The microscoPI is a Raspberry Pi-assisted microscope that can "capture, process, and store images and image analysis results." Using an old adjustable microscope with a movable stage as a base, Tetard added a Raspberry Pi B, a Raspberry Pi camera module, and a small touchscreen to the device. The result is a compact rig that's "completely portable and measuring less than 30 cm (12 inches) in height." The entire setup cost him €159 (about $177 USD). - -Tetard has set up [a website][8] for the microscoPI, where you can learn more about it. - -#### In other news - - * [Happy 15th birthday, Ubuntu][9] - * [Open-Source Arm Puts Robotics Within Reach][10] - * [Apache Rya matures open source triple store database][11] - * [UNICEF Launches Cryptocurrency Fund to Back Open Source Technology][12] - * [Open-source Delta Lake project moves to the Linux Foundation][13] - - - -_Thanks, as always, to Opensource.com staff members and moderators for their help this week._ - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/10/news-october-26 - -作者:[Scott Nesbitt][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/scottnesbitt -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/weekly_news_roundup_tv.png?itok=B6PM4S1i (Weekly news roundup with TV) -[2]: https://venturebeat.com/2019/10/23/netflix-open-sources-polynote-to-simplify-data-science-and-machine-learning-workflows/ -[3]: https://github.com/polynote/polynote -[4]: https://thenextweb.com/security/2019/10/21/microsofts-open-source-election-software-now-has-a-bug-bounty-program/ -[5]: https://github.com/microsoft/ElectionGuard-SDK -[6]: https://www.microsoft.com/en-us/msrc/bounty -[7]: https://www.geeky-gadgets.com/raspberry-pi-microscope-07-10-2019/ -[8]: https://microscopiproject.wordpress.com/ -[9]: https://www.omgubuntu.co.uk/2019/10/happy-birthday-ubuntu-2019 -[10]: https://hackaday.com/2019/10/17/open-source-arm-puts-robotics-within-reach/ -[11]: https://searchdatamanagement.techtarget.com/news/252472464/Apache-Rya-matures-open-source-triple-store-database -[12]: https://www.coindesk.com/unicef-launches-cryptocurrency-fund-to-back-open-source-technology -[13]: https://siliconangle.com/2019/10/16/open-source-delta-lake-project-moves-linux-foundation/ diff --git a/sources/news/20191104 Hypervisor comeback, Linus says no and reads email, and more industry trends.md b/sources/news/20191104 Hypervisor comeback, Linus says no and reads email, and more industry trends.md deleted file mode 100644 index b8a6aafc80..0000000000 --- a/sources/news/20191104 Hypervisor comeback, Linus says no and reads email, and more industry trends.md +++ /dev/null @@ -1,70 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Hypervisor comeback, Linus says no and reads email, and more industry trends) -[#]: via: (https://opensource.com/article/19/11/hypervisor-stable-kernel-and-more-industry-trends) -[#]: author: (Tim Hildred https://opensource.com/users/thildred) - -Hypervisor comeback, Linus says no and reads email, and more industry trends -====== -A weekly look at open source community and industry trends. -![Person standing in front of a giant computer screen with numbers, data][1] - -As part of my role as a senior product marketing manager at an enterprise software company with an open source development model, I publish a regular update about open source community, market, and industry trends for product marketers, managers, and other influencers. Here are five of my and their favorite articles from that update. - -## [Containers in 2019: They're calling it a [hypervisor] comeback][2] - -> So what does all this mean as we continue with rapid adoption and hyper-ecosystem growth around Kubernetes and containers? Let’s try and break that down into a few key areas and see what all the excitement is about. - -**The impact**: I'm pretty sure that the title of the article is an LL Cool J reference, which I wholeheartedly approve of. Even more important though is a robust unpacking of developments in the hypervisor space over the last year and how they square up against the trend towards cloud-native and container-based development. - -## [Linux kernel is getting more reliable, says Linus Torvalds. Plus: What do you need to do to be him?][3] - -> "In the end my job is to say no. Somebody has to be able to say no, because other developers know that if they do something bad I will say no. They hopefully in turn are more careful. But in order to be able to say no, I have to know the background, because otherwise I can't do my job. I spend all my time basically reading email about what people are working on. - -**The impact**: The rehabilitation of Linus as a much chiller guy continues; this one has some good advice for people leading distributed teams. - -## [Automated infrastructure in the on-premise datacenter—OpenShift 4.2 on OpenStack 15 (Stein)][4] - -> Up until now IPI (Installer Provision Infrastructure) has only supported public clouds: AWS, Azure, and Google. Now with OpenShift 4.2 it is supporting OpenStack. For the first time we can bring IPI into the on-premise datacenter where it is IMHO most needed. This single feature has the potential to revolutionize on-premise environments and bring them into the cloud-age with a single click and that promise is truly something to get excited about! - -**The impact**: So much tech press has started with the assumption that every company should run their infrastructure like a hyperscaler. The technology is catching up to make the user experience of that feasible. - -## [Kubernetes autoscaling 101: Cluster autoscaler, horizontal autoscaler, and vertical pod autoscaler][5] - -> I’m providing in this post a high-level overview of different scalability mechanisms inside Kubernetes and best ways to make them serve your needs. Remember, to truly master Kubernetes, you need to master different ways to manage the scale of cluster resources, that’s [the core of promise of Kubernetes][6]. -> -> _Configuring Kubernetes clusters to balance resources and performance can be challenging, and requires expert knowledge of the inner workings of Kubernetes. Just because your app or services’ workload isn’t constant, it rather fluctuates throughout the day if not the hour. Think of it as a journey and ongoing process._ - -**The impact**: You can tell whether someone knows what they're talking about if they can represent it in a simple diagram. Thanks to the excellent diagrams in this post, I know more day 2 concerns of Kubernetes operators than I ever wanted to. - -## [GitHub: All open source developers anywhere are welcome][7] - -> Eighty percent of all open-source contributions today, come from outside of the US. The top two markets for open source development outside of the US are China and India. These markets, although we have millions of developers in them, are continuing to grow faster than any others at about 30% year-over-year average. - -**The impact**: One of my open source friends likes to muse on the changing culture within the open source community. He posits that the old guard gatekeepers are already becoming irrelevant. I don't know if I completely agree, but I think you can look at the exponentially increasing contributions from places that haven't been on the open source map before and safely speculate that the open source culture of tomorrow will be radically different than that of today. - -_I hope you enjoyed this list of what stood out to me from last week and come back next Monday for more open source community, market, and industry trends._ - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/11/hypervisor-stable-kernel-and-more-industry-trends - -作者:[Tim Hildred][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/thildred -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/data_metrics_analytics_desktop_laptop.png?itok=9QXd7AUr (Person standing in front of a giant computer screen with numbers, data) -[2]: https://www.infoq.com/articles/containers-hypervisors-2019/ -[3]: https://www.theregister.co.uk/2019/10/30/linux_kernel_is_getting_more_reliable_says_linus_torvalds/ -[4]: https://keithtenzer.com/2019/10/29/automated-infrastructure-in-the-on-premise-datacenter-openshift-4-2-on-openstack-15-stein/ -[5]: https://www.cncf.io/blog/2019/10/29/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-autoscaler-and-vertical-pod-autoscaler/ -[6]: https://speakerdeck.com/thockin/everything-you-ever-wanted-to-know-about-resource-scheduling-dot-dot-dot-almost -[7]: https://www.zdnet.com/article/github-all-open-source-developers-anywhere-are-welcome/#ftag=RSSbaffb68 diff --git a/sources/news/20191105 Red Hat announces RHEL 8.1 with predictable release cadence.md b/sources/news/20191105 Red Hat announces RHEL 8.1 with predictable release cadence.md deleted file mode 100644 index 9addd4102c..0000000000 --- a/sources/news/20191105 Red Hat announces RHEL 8.1 with predictable release cadence.md +++ /dev/null @@ -1,92 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Red Hat announces RHEL 8.1 with predictable release cadence) -[#]: via: (https://www.networkworld.com/article/3451367/red-hat-announces-rhel-8-1-with-predictable-release-cadence.html) -[#]: author: (Sandra Henry-Stocker https://www.networkworld.com/author/Sandra-Henry_Stocker/) - -Red Hat announces RHEL 8.1 with predictable release cadence -====== - -[Clkr / Pixabay][1] [(CC0)][2] - -[Red Hat][3] has just today announced the availability of Red Hat Enterprise Linux (RHEL) 8.1, promising improvements in manageability, security and performance. - -RHEL 8.1 will enhance the company’s open [hybrid-cloud][4] portfolio and continue to provide a consistent user experience between on-premises and public-cloud deployments. - -[[Get regularly scheduled insights by signing up for Network World newsletters.]][5] - -RHEL 8.1 is also the first release that will follow what Red Hat is calling its "predictable release cadence". Announced at Red Hat Summit 2019, this means that minor releases will be available every six months. The expectation is that this rhythmic release cycle will make it easier both for customer organizations and other software providers to plan their upgrades. - -[][6] - -BrandPost Sponsored by HPE - -[Take the Intelligent Route with Consumption-Based Storage][6] - -Combine the agility and economics of HPE storage with HPE GreenLake and run your IT department with efficiency. - -Red Hat Enterprise Linux 8.1 provides product enhancements in many areas. - -### Enhanced automation - -All supported RHEL subscriptions now include access to Red Hat's proactive analytics, **Red Hat Insights**. With more than 1,000 rules for operating RHEL systems whether on-premises or cloud deployments, Red Hat Insights help IT administrators flag potential configuration, security, performance, availability and stability issues before they impact production. - -### New system roles - -RHEL 8.1 streamlines the process for setting up subsystems to handle specific functions such as storage, networking, time synchronization, kdump and SELinux. This expands on the variety of Ansible system roles. - -### Live kernel patching - -RHEL 8.1 adds full support for live kernel patching. This critically important feature allows IT operations teams to deal with ongoing threats without incurring excessive system downtime. Kernel updates can be applied to remediate common vulnerabilities and exposures (CVE) while reducing the need for a system reboot. Additional security enhancements include enhanced CVE remediation, kernel-level memory protection and application whitelisting. - -### Container-centric SELinux profiles - -These profiles allow the creation of more tailored security policies to control how containerized services access host-system resources, making it easier to harden systems against security threats. - -### Enhanced hybrid-cloud application development - -A reliably consistent set of supported development tools is included, among them the latest stable versions of popular open-source tools and languages like golang and .NET Core as well as the ability to power modern data-processing workloads such as Microsoft SQL Server and SAP solutions. - -Red Hat Linux 8.1 is available now for RHEL subscribers via the [Red Hat Customer Portal][7]. Red Hat Developer program members may obtain the latest releases at no cost at the [Red Hat Developer][8] site. - -#### Additional resources - -Here are some links to  additional information: - - * More about [Red Hat Enterprise Linux][9] - * Get a [RHEL developer subscription][10] - * More about the latest features at [Red Hat Insights][11] - - - -Join the Network World communities on [Facebook][12] and [LinkedIn][13] to comment on topics that are top of mind. - --------------------------------------------------------------------------------- - -via: https://www.networkworld.com/article/3451367/red-hat-announces-rhel-8-1-with-predictable-release-cadence.html - -作者:[Sandra Henry-Stocker][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.networkworld.com/author/Sandra-Henry_Stocker/ -[b]: https://github.com/lujun9972 -[1]: https://pixabay.com/vectors/red-hat-fedora-fashion-style-26734/ -[2]: https://creativecommons.org/publicdomain/zero/1.0/ -[3]: https://www.networkworld.com/article/3316960/ibm-closes-34b-red-hat-deal-vaults-into-multi-cloud.html -[4]: https://www.networkworld.com/article/3268448/what-is-hybrid-cloud-really-and-whats-the-best-strategy.html -[5]: https://www.networkworld.com/newsletters/signup.html -[6]: https://www.networkworld.com/article/3440100/take-the-intelligent-route-with-consumption-based-storage.html?utm_source=IDG&utm_medium=promotions&utm_campaign=HPE20773&utm_content=sidebar ( Take the Intelligent Route with Consumption-Based Storage) -[7]: https://access.redhat.com/ -[8]: https://developer.redhat.com -[9]: https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux -[10]: https://developers.redhat.com/ -[11]: https://www.redhat.com/en/blog/whats-new-red-hat-insights-november-2019 -[12]: https://www.facebook.com/NetworkWorld/ -[13]: https://www.linkedin.com/company/network-world diff --git a/sources/news/20191105 System76 introduces laptops with open source BIOS coreboot.md b/sources/news/20191105 System76 introduces laptops with open source BIOS coreboot.md deleted file mode 100644 index 4d9c336304..0000000000 --- a/sources/news/20191105 System76 introduces laptops with open source BIOS coreboot.md +++ /dev/null @@ -1,57 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (System76 introduces laptops with open source BIOS coreboot) -[#]: via: (https://opensource.com/article/19/11/coreboot-system76-laptops) -[#]: author: (Don Watkins https://opensource.com/users/don-watkins) - -System76 introduces laptops with open source BIOS coreboot -====== -The company answers open hardware fans by revealing two laptops powered -with open source firmware coreboot. -![Guy on a laptop on a building][1] - -In mid-October, [System76][2] made an exciting announcement for open source hardware fans: It would soon begin shipping two of its laptop models, [Galago Pro][3] and [Darter Pro][4], with the open source BIOS [coreboot][5]. - -The coreboot project [says][6] its open source firmware "is a replacement for your BIOS / UEFI with a strong focus on boot speed, security, and flexibility. It is designed to boot your operating system as fast as possible without any compromise to security, with no back doors, and without any cruft from the '80s." Coreboot was previously known as LinuxBIOS, and the engineers who work on coreboot have also contributed to the Linux kernel. - -Most firmware on computers sold today is proprietary, which means even if you are running an open source operating system, you have no access to your machine's BIOS. This is not so with coreboot. Its developers share the improvements they make, rather than keeping them secret from other vendors. Coreboot's source code can be inspected, learned from, and modified, just like any other open source code. - -[Joshua Woolery][7], marketing director at System76, says coreboot differs from a proprietary BIOS in several important ways. "Traditional firmware is closed source and impossible to review and inspect. It's bloated with unnecessary features and unnecessarily complex [ACPI][8] implementations that lead to PCs operating in unpredictable ways. System76 Open Firmware, on the other hand, is lightweight, fast, and cleanly written." This means your computer boots faster and is more secure, he says. - -I asked Joshua about the impact of coreboot on open hardware overall. "The combination of open hardware and open firmware empowers users beyond what's possible when one or the other is proprietary," he says. "Imagine an open hardware controller like [System76's] [Thelio Io][9] without open source firmware. One could read the schematic and write software to control it, but why? With open firmware, the user starts from functioning hardware and software and can expand from there. Open hardware and firmware enable the community to learn from, adapt, and expand on our work, thus moving technology forward as a whole rather than requiring individuals to constantly re-implement what's already been accomplished." - -Joshua says System76 is working to open source all aspects of the computer, and we will see coreboot on other System76 machines. The hardware and firmware in Thelio Io, the controller board in the company's Thelio desktops, are both open. Less than a year after System76 introduced Thelio, the company is now marketing two laptops with open firmware. - -If you would like to see System76's firmware contributions to the coreboot project, visit the code repository on [GitHub][10]. You can also see the schematics for any supported System76 model by sending an [email][11] with the subject line: _Schematics for <MODEL>_. (Bear in mind that the only currently supported models are darp6 and galp4.) Using the coreboot firmware on other devices is not supported and may render them inoperable, - -Coreboot is licensed under the GNU Public License. You can view the [documentation][12] on the project's website and find out how to [contribute][13] to the project on GitHub. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/11/coreboot-system76-laptops - -作者:[Don Watkins][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/don-watkins -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/computer_code_programming_laptop.jpg?itok=ormv35tV (Guy on a laptop on a building) -[2]: https://opensource.com/article/19/5/system76-secret-sauce -[3]: https://system76.com/laptops/galago -[4]: https://system76.com/laptops/darter -[5]: https://www.coreboot.org/ -[6]: https://www.coreboot.org/users.html -[7]: https://www.linkedin.com/in/joshuawoolery -[8]: https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface -[9]: https://opensource.com/article/18/11/system76-thelio-desktop-computer -[10]: https://github.com/system76/firmware-open -[11]: mailto:productdev@system76.com -[12]: https://doc.coreboot.org/index.html -[13]: https://github.com/coreboot/coreboot diff --git a/sources/news/20191112 GitHub report surprises, serverless hotness, and more industry trends.md b/sources/news/20191112 GitHub report surprises, serverless hotness, and more industry trends.md deleted file mode 100644 index df2db0d6f8..0000000000 --- a/sources/news/20191112 GitHub report surprises, serverless hotness, and more industry trends.md +++ /dev/null @@ -1,74 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (GitHub report surprises, serverless hotness, and more industry trends) -[#]: via: (https://opensource.com/article/19/11/github-report-serverless-hotness-more-industry-trends) -[#]: author: (Tim Hildred https://opensource.com/users/thildred) - -GitHub report surprises, serverless hotness, and more industry trends -====== -A weekly look at open source community and industry trends. -![Person standing in front of a giant computer screen with numbers, data][1] - -As part of my role as a senior product marketing manager at an enterprise software company with an open source development model, I publish a regular update about open source community, market, and industry trends for product marketers, managers, and other influencers. Here are five of my and their favorite articles from that update. - -## [GitHub tops 40 million developers as Python, data science, machine learning popularity surges][2] - -> In its annual Octoverse report, GitHub, owned by Microsoft, said it had more than 10 million new users, 44 million repositories created and 87 million pull requests in the last 12 months. The report is a good view of open source software and where the community is headed. - -**The impact:** The finding that hit home hardest for me is that "nearly 80% of GitHub users are outside of the US." While an important part of open source history comes from the east and west coasts of America, there is a good chance that the future of the movement will happen elsewhere. - -## [Serverless: Is it the Kubernetes killer?][3] - -> Serverless isn't here to destroy Kubernetes. The cloud infrastructure space race isn't a zero-sum game. Kubernetes is an obvious evolution following OpenStack and can be run successfully inside of it. There will be OpenStack users for a long time to come, and there are also reasons many companies have moved on from there. Serverless is another tool in the belt of forward-thinking development teams. And increasingly, it can be [run on top of Kubernetes][4] (see Knative), enabling you to get the benefits of the simplicity of serverless and the complexity of Kubernetes where it makes sense for both in your stack. - -**The impact:** The moral of the story is that legacy doesn't really go away, it just gets built in and around. - -## [When Quarkus meets Knative serverless workloads][5] - -> Now, let's discuss how developers can use Quarkus to bring Java into serverless, a place where previously, it was unable to go. Quarkus introduces a comprehensive and seamless approach to generating an operating system specific (aka native) executable from your Java code, as you do with languages like Go and C/C++. Environments such as event-driven and serverless, where you need to start a service to react to an event, require a low time-to-first-response, and traditional Java stacks simply cannot provide this. Knative enables developers to run cloud-native applications as serverless containers in seconds and the containers will go down to zero on demand. -> -> In addition to compiling Java to Knative, Quarkus aims to improve developer productivity. Quarkus works out of the box with popular Java standards, frameworks and libraries like Eclipse MicroProfile, Apache Kafka, RESTEasy, Hibernate, Spring, and many more. Developers familiar with these will feel at home with Quarkus, which should streamline code for the majority of common use cases while providing the flexibility to cover others that come up. - -**The impact:** It's good to start getting specific with how and where the new hotness can be used. The answer, in this case, is "with the other new hotness." - -## [Why you should join the CNCF Meetup Program][6] - -> With the recent changes to Meetup’s [policies][7], we wanted to share a reminder of the benefits of joining the [CNCF Meetup Program][8] and encourage Meetups in the CNCF ecosystem to apply.  -> -> As part of our Meetup Pro membership, CNCF is able to organize a network with an unlimited number of groups on a single account. - -**The impact:** The long term response to this unfortunate fallout from the WeWork debacle is to build a distributed open source Meetup alternative. Thankfully in the meantime, the CNCF has a more pragmatic response. - -## [Introducing your friends to automation (and overcoming their fear)][9] - -> My team and I were in a meeting a little while back with a third party vendor when they asked us what our stance was on automation. My reply was, "We want to automate everything." On top of my reply, my teammates added, "Well, we don’t want to automate ourselves out of a job." - -**The impact:** I've always thought it was a bit cavalier when someone would say, "I think it's my job to automate myself out of a job." There is plenty of circumstances where that is the last measure of success someone would want to be measured by. I'm happy to see this addressed head-on. - -_I hope you enjoyed this list of what stood out to me from last week and come back next Monday for more open source community, market, and industry trends._ - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/11/github-report-serverless-hotness-more-industry-trends - -作者:[Tim Hildred][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/thildred -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/data_metrics_analytics_desktop_laptop.png?itok=9QXd7AUr (Person standing in front of a giant computer screen with numbers, data) -[2]: https://www.zdnet.com/article/github-tops-40-million-developers-as-python-data-science-machine-learning-popularity-surges/#ftag=RSSbaffb68 -[3]: https://www.forbes.com/sites/forbestechcouncil/2019/11/04/serverless-is-it-the-kubernetes-killer/#7e6740711f77 -[4]: https://github.com/knative -[5]: https://vmblog.com/archive/2019/10/29/when-quarkus-meets-knative-serverless-workloads.aspx#.XbiN1JNKiuN -[6]: https://www.cncf.io/blog/2019/11/01/why-you-should-join-the-cncf-meetup-program/ -[7]: https://www.meetup.com/lp/paymentchanges?mpId=9038 -[8]: https://www.meetup.com/pro/cncf -[9]: https://www.redhat.com/sysadmin/introducing-automation diff --git a/sources/news/20191121 The Cross-Platform Source Explorer Sourcetrail is Now Open Source.md b/sources/news/20191121 The Cross-Platform Source Explorer Sourcetrail is Now Open Source.md deleted file mode 100644 index c4f25f1419..0000000000 --- a/sources/news/20191121 The Cross-Platform Source Explorer Sourcetrail is Now Open Source.md +++ /dev/null @@ -1,79 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (The Cross-Platform Source Explorer Sourcetrail is Now Open Source) -[#]: via: (https://itsfoss.com/sourcetrail/) -[#]: author: (Ankush Das https://itsfoss.com/author/ankush/) - -The Cross-Platform Source Explorer Sourcetrail is Now Open Source -====== - -[Sourcetrail][1] is a cross-platform source explorer that lets you visualize the unfamiliar source code by using graph visualization. - -![][2] - -In other words, it makes it easy to understand the structure of source code and how it works (technically) by visually representing them using a graph. - -This is particularly helpful when you join a project and you have to work on existing code written in the past by several developers. - -You can use it with your favorite IDE like Eclipse, IntelliJ IDEA, PyCharm or code editors like Atom, Visual Studio Code, Sublime Text etc. It supports C, C++, Java and Python. - -This old video gives you the introduction to Sourcetrail: - -Even though it was free for non-commercial use, they charged for a commercial license. However, they recently decided to make the whole thing free and open source. - -So, yes, you can find their source code listed on [GitHub][3] now. - -### What Has Changed for Sourcetrail? - -The reason they switched as an open-source solution is that they wanted their tool to be accessible to more developers. - -Their commercial licensing plan was supposed to help them make money – however, it limited the reach of their project. - -In their [announcement post][4], they mentioned their idea of this decision as follows: - -> We have been going back and forth, discussing and testing potential solutions to many of those issues for a long time now. Many of our thoughts revolved around how to make more money and use it to solve those issues. Looking at other companies in the field, it seemed that to make more money, our only option was making our licenses more and more expensive, which in turn would limit our audience to fewer developers. We always dismissed the idea because **we started to make Sourcetrail to benefit as many developers as possible** and not to be a premium product for a few people in a handful of companies. - -Also, they found it tough to provide cross-platform support while trying to reproduce the issues and apply a fix to them, especially for Linux distros. So, making their project open source was an ideal choice. - -To further clarify the situation they also explained why their commercial licensing plan wasn’t working out: - -> Initially we received a couple of public grants that allowed us to launch Sourcetrail publicly. We decided to go down the traditional road of selling software licenses to sustain further development. Of course that meant to keep the code private if we wanted to protect our business…In retrospect, this decision really narrowed down our user base, making it hard for developers to start using Sourcetrail for multiple reasons - -You can find all the details for what they plan for the future in their [announcement post][4]. - -### How to get Sourcetrail on Linux? - -You can find and download the latest release of Sourcetrail on its release page on GitHub: - -[Download Sourcetrail][5] - -Extract the downloaded file and you’ll see a Sourcetrail.sh shell script. Run this script with sudo to install Sourcerail. - -You should [read the documentation][6] for the project setup. They also have some [useful tutorial videos on their YouTube channel][7]. - -Sourcetrail was free before but now it’s free in the true sense. It’s good to see that the developers have made it open source and now more programmers can use this tool to understand large, shared code base. You may also checkout a slightly similar open source tool [Sourcegraph][8]. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/sourcetrail/ - -作者:[Ankush Das][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/ankush/ -[b]: https://github.com/lujun9972 -[1]: https://www.sourcetrail.com/ -[2]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/11/sourcetrail-ui.png?ssl=1 -[3]: https://github.com/CoatiSoftware/Sourcetrail -[4]: https://www.sourcetrail.com/blog/open_source/ -[5]: https://github.com/CoatiSoftware/Sourcetrail/releases -[6]: https://www.sourcetrail.com/documentation/#PROJECTSETUP -[7]: https://www.youtube.com/channel/UCuKthdG-V4n2RZ1HDJhGVpQ/videos -[8]: https://itsfoss.com/sourcegraph/ diff --git a/sources/news/20191125 Fail-free Kubernetes, significant events, and more industry trends.md b/sources/news/20191125 Fail-free Kubernetes, significant events, and more industry trends.md deleted file mode 100644 index 009e30cd40..0000000000 --- a/sources/news/20191125 Fail-free Kubernetes, significant events, and more industry trends.md +++ /dev/null @@ -1,61 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Fail-free Kubernetes, significant events, and more industry trends) -[#]: via: (https://opensource.com/article/19/11/fail-free-kubernetes-and-more-trends) -[#]: author: (Tim Hildred https://opensource.com/users/thildred) - -Fail-free Kubernetes, significant events, and more industry trends -====== -A weekly look at open source community, market, and industry trends. -![Person standing in front of a giant computer screen with numbers, data][1] - -As part of my role as a senior product marketing manager at an enterprise software company with an open source development model, I publish a regular update about open source community, market, and industry trends for product marketers, managers, and other influencers. Here are five of my and their favorite articles from that update. - -## [Why teams fail with Kubernetes—and what to do about it][2] - -> Fail to address the questions "Who is responsible for _x_?" and "Who is affected by _y_?" and you'll put all your efforts at risk. For example, replace "_x_" above with "deciding on namespaces versus clusters for service and environment isolation" or "upgrading all clusters to a new Kubernetes version," and you start to see why you need to clarify the boundaries of responsibility and their impacts. - -**The impact**: Wouldn't it be nice if operators and role-based access control could make the messiness of human interaction go away? Why can't auto-scaling just mean auto-scaling? Tough luck! You're going to have to figure out the people side of it too! - -## [The New Stack Context: The past, present, and future of Kubernetes][3] - -> What have been some of the most significant events in the Kubernetes and cloud native community over the past year? A lot of work has been done in slimming and stabilizing the core. Operators were a growing trend over the past year—operators are mechanisms to expand the number of things you can build on top of Kubernetes. We are seeing Kubernetes expand into new workloads as well. - -**The impact**: In some way, Kubernetes is an ongoing effort in re-building the airplane mid-flight. The good news is that we're getting better at doing that, and the future holds ubiquity, according to this podcast. - -## [Q&A: Fidelity invests in cloud-native, open source projects to step up innovation][4] - -> “We are seeing that Kubernetes, CNCF, and cloud-native technology are the key players for us when we go multicloud and hybrid-cloud model,” said [Amr Abdelhalem][5] (pictured), head of cloud platforms at Fidelity Investments. “That’s why we are here. We are here actually in Kubernetes and KubeCon for that reason. That’s where we see this abstract layer that guarantees you the portability for moving your application from one cloud provider to another.” - -**The impact**: Think about this: Fidelity is a member of the CNCF. What does that mean about the distance between the creator and consumer of open source software? It's exciting because it exemplifies the participatory ideals of open source; its a new challenge for the ecosystem because participants are starting to represent industry verticals that might not have much overlap whose needs need reconciliation. Fun times! - -## [The future of hybrid cloud is bright as 73% of enterprises moving apps back on Prem][6] - -> This year’s report illustrated that creating and executing a cloud strategy has become a multidimensional challenge. At one time, a primary value proposition associated with the public cloud was substantial upfront capex savings. Now, enterprises have discovered that there are other considerations when selecting the best cloud for the business as well, and that one size cloud strategy doesn’t fit all use cases. For example, while applications with unpredictable usage may be best suited to the public clouds offering elastic IT resources, workloads with more predictable characteristics can often run on-premises at a lower cost than public cloud. Savings are also dependent on businesses’ ability to match each application to the appropriate cloud service and pricing tier, and to remain diligent about regularly reviewing service plans and fees, which change frequently. - -**The impact**: The short version is that cost is not the only, or even the most important factor, in choosing where to run a workload. More and more often it is the nature of the workload itself. - -_I hope you enjoyed this list of what stood out to me from last week and come back next Monday for more open source community, market, and industry trends._ - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/11/fail-free-kubernetes-and-more-trends - -作者:[Tim Hildred][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/thildred -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/data_metrics_analytics_desktop_laptop.png?itok=9QXd7AUr (Person standing in front of a giant computer screen with numbers, data) -[2]: https://techbeacon.com/enterprise-it/why-teams-fail-kubernetes-what-do-about-it -[3]: https://thenewstack.io/the-new-stack-context-the-past-present-and-future-of-kubernetes/ -[4]: https://siliconangle.com/2019/11/21/qa-fidelity-invests-cloud-native-open-source-projects-step-innovation-kubecon/ -[5]: https://www.linkedin.com/in/amrhalem/ -[6]: https://www.dqindia.com/the-future-of-hybrid-cloud-is-bright-as-73-of-enterprises-moving-apps-back-on-prem/ diff --git a/sources/talk/20191028 6 signs you might be a Linux user.md b/sources/talk/20191028 6 signs you might be a Linux user.md deleted file mode 100644 index 977c586516..0000000000 --- a/sources/talk/20191028 6 signs you might be a Linux user.md +++ /dev/null @@ -1,161 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (wxy) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (6 signs you might be a Linux user) -[#]: via: (https://opensource.com/article/19/10/signs-linux-user) -[#]: author: (Seth Kenlon https://opensource.com/users/seth) - -6 signs you might be a Linux user -====== -If you're a heavy Linux user, you'll probably recognize these common -tendencies. -![Tux with binary code background][1] - -Linux users are a diverse bunch, but many of us share a few habits. You might not have any of the telltale signs listed in this article, and if you're a new Linux user, you may not recognize many of them... yet. - -Here are six signs you might be a Linux user. - -### 1\. As far as you know, the world began on January 1, 1970. - -There are many rumors about why a Unix computer clock always sets itself back to 1970-01-01 when it resets. But the mundane truth is that the Unix "epoch" serves as a common and simple reference point for synchronization. For example, Halloween is the 304th day of this year in the Julian calendar, but we commonly refer to the holiday as being "on the 31st". We know which 31st we mean because we have common reference points: We know that Halloween is celebrated in October and that October is the 10th month of the year, and we know how many days each preceding month contains. Without these values, we could use traditional methods of timekeeping, such as phases of the moon, to keep track of special seasonal events, but of course, a computer doesn't have that ability. - -A computer requires firm and clearly defined values, so the value 1970-01-01T00:00:00Z was chosen as the beginning of the Unix epoch. Any time a [POSIX][2] computer loses track of time, a service like the Network Time Protocol (NTP) can provide it the number of seconds since 1970-01-01T00:00:00Z, which the computer can convert to a human-friendly date. - -Date and time are a famously complex thing to track in computing, largely because there are exceptions to nearly standard. A month doesn't always have 30 days, a year doesn't always have 365 days, and even seconds tend to drift a little each year. If you're looking for a fun and frustrating programming exercise, try to program a reliable calendaring application! - -### 2\. You think it's a chore to type anything over two letters to get something done. - -The most common Unix commands are famously short. In addition to commands like **cd** and **ls** and **mv**, there's one command that literally can't get any shorter: **w** (which shows who is currently logged in according to the **/var/run/utmp** file). - -On the one hand, extremely short commands seem unintuitive. A new user probably isn't going to guess that typing **ls** would _list_ directories. Once you learn the commands, though, the shorter they are, the better. If you spend all day in a terminal, the fewer keystrokes you have to type means you can spend more time getting your work done. - -Luckily, single-letter commands are far and few between, which means you can use most letters for aliases. For example, I use Emacs often enough that I consider **emacs** too long to type, so I alias it to **e** by adding this line to my **.bashrc** file: - - -``` -`alias e='emacs'` -``` - -You can also alias commands temporarily. For instance, if you find yourself running [firewall-cmd][3] repeatedly while you troubleshoot a network issue, then you can create an alias just for your current session: - - -``` -$ alias f='firewall-cmd' -$ f -usage: see firewall-cmd man page -No option specified. -``` - -As long as the terminal is open, your alias persists. Once the terminal is closed, it's forgotten. - -### 3\. You think it's a chore to click more than two times to get something done. - -Linux users are fond of efficiency. While not every Linux user is always in a hurry to get things done, there are conventions in Linux desktops that seek to reduce the number of actions required to accomplish any given task. Here are some examples. - - * In the KDE file manager Dolphin, a single click opens a file or directory. It's assumed that if you want to select a file, you can either click and drag or else Ctrl+Click instead. This may confuse users who are used to double-clicking everything, but once you've tried single-click actions, you usually can't go back to laborious double-clicks. - * On most Linux desktops, a middle-click pastes the most recent contents of the clipboard. - * On many Linux desktops, drag actions can be modified by pressing the Alt, Ctrl, or Shift keys. For instance, Alt+Drag moves a window in KDE, and Ctrl+Drag in GNOME causes a file to be copied instead of moved. - - - -### 4\. You've never performed any action on a computer more than three times because you've already automated it by the third time. - -Pardon the hyperbole, but many Linux users expect their computer to work harder than they do. While it takes time to learn how to automate common tasks, it tends to be easier on Linux than on other platforms because the Linux terminal and the Linux operating system are so tightly integrated. The easy things to automate are the actions you already do in a terminal because commands are just strings that you type into an interpreter, and that interpreter (the terminal) doesn't care whether you typed the strings out manually or whether you're just pointing it to a script. - -For instance, if you find yourself frequently moving a set of files from one place to another, then you can probably use the same sequence of instructions as a script, which you can trigger with a single command. Imagine you are doing this manually each morning: - - -``` -$ cd Documents -$ trash reports-latest.txt -$ wget myserver.local/reports/daily/report-latest.txt -$ cp report-latest.txt reports_daily/2019-31-10.log -``` - -It's a simple sequence, but repeating it daily isn't the most efficient way of spending your time. With a little bit of abstraction, you could automate it with a simple script: - - -``` -#!/bin/sh - -trash $HOME/Documents/reports-latest.txt - -wget myserver.local/reports/daily/report-latest.txt \ --P $HOME/Documents/udpates_daily/`date --iso-8601`.log - -cp $HOME/Documents/udpates_daily/`date --iso-8601`.log \ -$HOME/Documents/reports-latest.txt -``` - -You could call your script **get-reports.sh** and launch it manually each morning, or you could even enter it into your crontab so that your computer performs the task without requiring any intervention from you. - -This can be confusing for a new user because it's not always obvious what's integrated with what. For instance, if you regularly find yourself opening images and scaling them down by 50%, then you're probably used to doing something like this: - - 1. Opening up your photo viewer or editor - 2. Scaling the image - 3. Exporting the image as a modified file - 4. Closing the application - - - -If you did this several times a day, you would probably get tired of the repetition. However, because you perform those actions in the graphical user interface (GUI), you would need to know how to script the GUI to automate it. Some applications, like [GIMP][4], have a rich scripting interface, but the process is obviously different than just adapting a bunch of commands and dumping those into a file. - -Then again, sometimes there are command-line equivalents to things you do in a GUI. Converting documents from one text format to another can be done with [Pandoc][5], images can be manipulated with [Image Magick][6], music and video can be edited and converted, and so on. It's a matter of knowing what to look for, and usually learning a new (and sometimes complex) command. Scaling images down, however, is notably simpler in the terminal than in a GUI: - - -``` -#!/bin/sh - -convert "${1}" -scale 50% `basename "${1}" .jpg`_50.jpg -``` - -It's worth investigating those bothersome, repetitious tasks. You never know how simple and fast your work is for a computer to do! - -### 5\. You distro hop - -I'm an ardent Slackware user at home and a RHEL user at work. Actually, that's not true; I'm a Fedora user at work now. Except when I use CentOS. And there was that time I ran [Mageia][7] for a while. - -![Debian on a PowerPC64 box, image CC BY SA Claudio Miranda][8] - -Debian on a PowerPC64 box - -It doesn't matter how great a distribution is; part of the guilty pleasure of being a Linux user is the freedom to be indecisive about which distro you run. At a glance, they're all basically the same, and that's refreshing. But depending on your mood, you might prefer the stability of CentOS to the constant updates of Fedora, or you might truly enjoy the centralized control center of Mageia one day and then frolic in the modularity of raw [Debian][9] configuration files another. And sometimes you turn to an alternate OS altogether. - -![OpenBSD, image CC BY SA Claudio Miranda][10] - -OpenBSD, not a Linux distro - -The point is, Linux distributions are passion projects, and it's fun to be a part of other people's open source passions. - -### 6\. You have a passion for open source. - -Regardless of your experience, if you're a Linux user, you undoubtedly have a passion for open source. Whether you express that on a daily basis through [Creative Commons artwork][11] or code or you sublimate it and just get your work done in a liberating (and liberated) environment, you're living in and building upon open source. It's because of you that there's an open source community, and the community is richer for having you as a member. - -There are lots of things I haven't mentioned. What else betrays you as a Linux user? Let us know in the comments! - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/10/signs-linux-user - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/tux_linux_penguin_code_binary.jpg?itok=TxGxW0KY (Tux with binary code background) -[2]: https://opensource.com/article/19/7/what-posix-richard-stallman-explains -[3]: https://opensource.com/article/19/7/make-linux-stronger-firewalls -[4]: https://www.gimp.org/ -[5]: https://opensource.com/article/19/5/convert-markdown-to-word-pandoc -[6]: https://opensource.com/article/17/8/imagemagick -[7]: http://mageia.org -[8]: https://opensource.com/sites/default/files/uploads/debian.png (Debian on a PowerPC64 box) -[9]: http://debian.org -[10]: https://opensource.com/sites/default/files/uploads/openbsd.jpg (OpenBSD) -[11]: http://freesvg.org diff --git a/sources/tech/20180207 23 open source audio-visual production tools.md b/sources/tech/20180207 23 open source audio-visual production tools.md index b6b748ec39..fd196200ce 100644 --- a/sources/tech/20180207 23 open source audio-visual production tools.md +++ b/sources/tech/20180207 23 open source audio-visual production tools.md @@ -1,4 +1,3 @@ -luming translating 23 open source audio-visual production tools ====== diff --git a/sources/tech/20191007 Understanding Joins in Hadoop.md b/sources/tech/20191007 Understanding Joins in Hadoop.md index ea0025a9d2..4c34ed896c 100644 --- a/sources/tech/20191007 Understanding Joins in Hadoop.md +++ b/sources/tech/20191007 Understanding Joins in Hadoop.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: (heguangzhi) +[#]: translator: ( ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) diff --git a/sources/tech/20191017 Using multitail on Linux.md b/sources/tech/20191017 Using multitail on Linux.md index 3b6fc7ca78..b89ef375d2 100644 --- a/sources/tech/20191017 Using multitail on Linux.md +++ b/sources/tech/20191017 Using multitail on Linux.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: (wenwensnow) +[#]: translator: ( ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) diff --git a/sources/tech/20191028 Enterprise JavaBeans, infrastructure predictions, and more industry trends.md b/sources/tech/20191028 Enterprise JavaBeans, infrastructure predictions, and more industry trends.md index f1d2b48d0d..e915fe74d9 100644 --- a/sources/tech/20191028 Enterprise JavaBeans, infrastructure predictions, and more industry trends.md +++ b/sources/tech/20191028 Enterprise JavaBeans, infrastructure predictions, and more industry trends.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: (warmfrog) +[#]: translator: ( ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) diff --git a/sources/tech/20191125 How to use loops in awk.md b/sources/tech/20191125 How to use loops in awk.md index cf7abb6f62..099444b10f 100644 --- a/sources/tech/20191125 How to use loops in awk.md +++ b/sources/tech/20191125 How to use loops in awk.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (lxbwolf) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) diff --git a/translated/talk/20191028 6 signs you might be a Linux user.md b/translated/talk/20191028 6 signs you might be a Linux user.md new file mode 100644 index 0000000000..ef6b782ce1 --- /dev/null +++ b/translated/talk/20191028 6 signs you might be a Linux user.md @@ -0,0 +1,153 @@ +[#]: collector: (lujun9972) +[#]: translator: (wxy) +[#]: reviewer: (wxy) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (6 signs you might be a Linux user) +[#]: via: (https://opensource.com/article/19/10/signs-linux-user) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) + +Linux 资深用户的 6 大特征 +====== + +> 如果你是 Linux 资深用户,则可能会有这些共同倾向。 + +![Tux with binary code background][1] + +Linux 用户千差万别,但是我们许多人都有一些相同的习惯。你可能没有本文列出的任何特征,而且如果你是个 Linux 新用户,你可能还不能理解这些特征…… + +下面是你可能是 Linux 用户的六个特征。 + +### 1、理所当然,纪元始于 1970 年 1 月 1 日 + +关于 Unix 计算机时钟为何在重置时总是将其设置回 1970-01-01 的传闻有很多。但有点令人感到乏味的事实是,Unix “纪元”是用于同步的通用且简单的参考点。例如,万圣节在儒略历中是今年的 304 日,但我们通常将该节日称为 “31 日”。我们知道指的是哪个月 31 日,因为我们有个共同的参考点:我们知道万圣节在 10 月庆祝,而 10 月是一年中的第十个月,并且我们知道前面每一个月包含多少天。没有这些值,虽然我们可以使用传统的计时方法(如月相)来跟踪特殊的季节性事件,但是计算机显然不具备这种能力。 + +计算机需要确定且明确定义的值,因此将值 `1970-01-01T00:00:00Z` 选择为 Unix 纪元的开始。每当 [POSIX][2] 计算机的时间不准确时,诸如网络时间协议(NTP)之类的服务就可以向其提供自 `1970-01-01T00:00:00Z` 以来的秒数,计算机可以将其转换为人类易于识别的日期。 + +日期和时间是在计算中要追踪的著名的复杂事物,主要是因为几乎所有标准都有例外。一个月并不总是有 30 天,一年也不总是有 365 天,甚至每年有多少秒钟也往往会有所不同。如果你正在寻找一个有趣而令人沮丧的编程练习,请尝试编程一个可靠的日历应用程序! + +### 2、输入超过两个字母你就会觉得麻烦 + +众所周知,最常见的 Unix 命令都超简短。除了 `cd`、`ls` 和 `mv` 之类的命令外,还有一个命令简直不能再短了:`w`(它根据 `/var/run/utmp` 文件显示谁当前登录了)。 + +一方面,极短的命令似乎很不直观。新用户可能不会猜测到键入 `ls` 会列出list目录。但是,一旦学习命令,它们肯定是越短越好。如果你整天都在终端上度过,那么你键入的击键次数越少就意味着你可以花更多的时间来完成工作。 + +幸运的是,单字母命令并不太多,因此你可以使用大多数字母作为别名。例如,我经常使用 Emacs,以至于我觉得 `emacs` 的输入时间太长,因此通过将下面这行添加到 `.bashrc` 文件中,将其别名为 `e`: + +``` +alias e='emacs' +``` + +你也可以临时为命令添加别名。例如,如果你在解决网络问题时发现自己反复运行 [firewall-cmd][3],则可以为当前会话创建别名: + +``` +$ alias f='firewall-cmd' +$ f +usage: see firewall-cmd man page +No option specified. +``` + +只要你打开着终端,你的别名就会一直存在。当终端一旦关闭,它便会被遗忘。 + +### 3、做任何事都不应该单击两次以上 + +Linux 用户喜欢效率。尽管并非每个 Linux 用户都总是急于完成工作,但 Linux 桌面中有一些旨在减少完成任务所需的操作数量的惯例。这里有些例子。 + +* 在 KDE 文件管理器 Dolphin 中,单击即可打开文件或目录。假定如果要选择一个文件,则可以单击并拖动,也可以 `Ctrl + 点击`。这可能会使习惯于双击所有内容的用户感到困惑,但是一旦你尝试了单击操作,通常就无法返回费力的双击操作。 +* 在大多数 Linux 桌面上,单击鼠标中键可粘贴剪贴板的最新内容。 +* 在许多 Linux 桌面上,可以通过按 `Alt`、`Ctrl` 或 `Shift` 键来修改拖动动作。例如,`Alt + 拖动` 在 KDE 中移动窗口,而 GNOME 中的 `Ctrl + 拖动` 会复制文件而不是移动。 + +### 4、任何操作你都不会执行三次以上,因为第三次时你已经将它自动化了 + +请原谅我有点夸张,但是许多 Linux 用户期望他们的计算机比他们更努力地工作。虽然学习如何自动执行常见任务需要花费时间,但在 Linux 上它往往比在其它平台上更容易,因为 Linux 终端和 Linux 操作系统是如此紧密地集成在一起。最容易自动化的是你在终端中已经执行的操作,因为命令只是你在解释器中键入的字符串,而该解释器(终端)不会在乎你是手动键入字符串还是将其指向一个脚本。 + +例如,如果你发现自己经常将一组文件从一个位置移动到另一个位置,则或许可以将相同的指令序列用作一个脚本,你可以使用单个命令来触发该脚本。假设你每天早上手动执行此操作: + +``` +$ cd Documents +$ trash reports-latest.txt +$ wget myserver.local/reports/daily/report-latest.txt +$ cp report-latest.txt reports_daily/2019-31-10.log +``` + +这是一个简单的序列,但是每天重复一次并不是消磨时间的最有效方法。做一点点抽象,你可以使用一个简单的脚本将其自动化: + +``` +#!/bin/sh + +trash $HOME/Documents/reports-latest.txt + +wget myserver.local/reports/daily/report-latest.txt \ +-P $HOME/Documents/udpates_daily/`date --iso-8601`.log + +cp $HOME/Documents/udpates_daily/`date --iso-8601`.log \ +$HOME/Documents/reports-latest.txt +``` + +你可以把你的脚本叫做 `get-reports.sh` 并在每天早晨手动启动它,或者甚至可以将其输入到 crontab 中,以便计算机可以执行此任务而无需你进行任何干预。 + +对于新用户来说,这可能会有点困扰,因为什么和什么是一体的并不总是很明显。例如,如果你经常发现自己打开图像并将其按比例缩小 50%,那么你可能习惯于执行以下操作: + +1. 打开你的照片查看器或编辑器 +2. 缩放图像 +3. 将图像导出为修改后的文件 +4. 关闭应用程序 + +如果你一天要做几次,你可能会对这种重复感到厌倦。但是,由于你是在图形用户界面(GUI)中执行这些操作的,因此你需要知道如何编写 GUI 脚本以使其自动化。某些应用程序,例如 [GIMP][4],具有丰富的脚本接口,但是其过程显然不同于仅修改一堆命令并将其存储到文件中那么简单。 + +再说一次,有时在命令行中有与你在 GUI 中所做的等效的操作。将文档从一种文本格式转换为另一种格式可以使用 [Pandoc][5],处理图像可以使用 [Image Magick][6],音乐和视频也可以通过命令行进行编辑和转换,等等。最大的问题是你需要知道要查找什么,通常是学习新的(有时是复杂的)命令。但是,在终端中按比例缩小图像比在 GUI 中显然更简单: + +``` +#!/bin/sh + +convert "${1}" -scale 50% `basename "${1}" .jpg`_50.jpg +``` + +这些麻烦、重复的任务值得研究。你永远不知道你的工作让计算机做起来是有多么的简单和快捷! + +### 5、发行版之间跳来跳去 + +我在家里是一个热情的 Slackware 用户,而在工作时是一个 RHEL 用户。实际上,这不是事实,我现在在工作时是 Fedora 用户。除了有时候我使用 CentOS,有时候我还会运行 [Mageia][7]。 + +![Debian on a PowerPC64 box, image CC BY SA Claudio Miranda][8] + +*运行在 PowerPC64 机器上的 Debian* + +发行版好不好无关紧要,成为 Linux 用户的极致乐趣之一是可以自由决定运行哪个发行版。乍一看,它们基本相同,令人耳目一新。但是根据你的心情,你可能更喜欢 CentOS 的稳定性而不是 Fedora 的不断更新,或者你可能有一天会真正享受 Mageia 的集中控制中心,然后又对原始的 [Debian][9] 配置文件进行模块化乐在其中,而有时你又会完全转向其他操作系统。 + +![OpenBSD, image CC BY SA Claudio Miranda][10] + +*OpenBSD,不是 Linux 发行版* + +关键是,Linux 发行版是激情项目,成为其他人的开源激情的一部分很有趣。 + +### 6、你对开源充满热情 + +无论你的经验如何,如果你是 Linux 用户,那么你无疑会对开源充满热情。无论你是每天通过[共创艺术品] [11]还是代码来表达你的热情,还是将其升华到只在自由而自在环境中完成工作,你都生活并构筑于开源之上。因为有了千千万万个你,所以有了开源社区,社区因你而变得更加丰富。 + +有太多的东西我没有提到。作为 Linux 用户,还有什么可以出卖你的身份?让我们在评论中知道! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/19/10/signs-linux-user + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/tux_linux_penguin_code_binary.jpg?itok=TxGxW0KY (Tux with binary code background) +[2]: https://opensource.com/article/19/7/what-posix-richard-stallman-explains +[3]: https://opensource.com/article/19/7/make-linux-stronger-firewalls +[4]: https://www.gimp.org/ +[5]: https://opensource.com/article/19/5/convert-markdown-to-word-pandoc +[6]: https://opensource.com/article/17/8/imagemagick +[7]: http://mageia.org +[8]: https://opensource.com/sites/default/files/uploads/debian.png (Debian on a PowerPC64 box) +[9]: http://debian.org +[10]: https://opensource.com/sites/default/files/uploads/openbsd.jpg (OpenBSD) +[11]: http://freesvg.org diff --git a/translated/tech/20191107 Demystifying Kubernetes.md b/translated/tech/20191107 Demystifying Kubernetes.md deleted file mode 100644 index 396fac1f8e..0000000000 --- a/translated/tech/20191107 Demystifying Kubernetes.md +++ /dev/null @@ -1,231 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (Morisun029) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Demystifying Kubernetes) -[#]: via: (https://opensourceforu.com/2019/11/demystifying-kubernetes/) -[#]: author: (Abhinav Nath Gupta https://opensourceforu.com/author/abhinav-gupta/) - -揭开 Kubernetes 的神秘面纱 -====== - -[![][1]][2] - -_Kubernetes 是一款生产级的开源系统,用于容器化应用程序的自动部署,扩展和管理。本文关于使用 Kubernetes 来管理容器。_ - - - “容器”已成为最新的流行语之一。 但是,这个词到底意味着什么呢? 说起“容器”,人们通常会把它和 Docker 联系起来,Docker 是一个被定义为软件的标准化单元容器。 该容器将软件和运行软件所需的环境封装到一个易于交付的单元中。 容器是一个软件的标准单元,用它来打包代码及其所有依赖项,这样应用程序就可以从一个计算环境快速可靠地运行到另一个计算环境。 容器通过创建类似于ISO 映像的方式来实现此目的。 容器镜像是一个轻量级的,独立的,可执行的软件包,其中包含运行应用程序所需的所有信息,包括代码,运行时,系统工具,系统库和设置。 - -容器镜像在运行时变成容器,对于Docker 容器,映像在 Docker 引擎上运行时变成容器。 容器将软件与环境隔离开来,确保不同环境下的实例,都可以正常运行。 - -**什么是容器管理?** -容器管理是组织,添加或替换大量软件容器的过程。 容器管理使用软件来自动化创建,部署和扩展容器。 这一过程就需要容器编排。容器编排是一个基于应用程序进行自动部署,管理,扩展,联网的可用容器。 - -**Kubernetes** -Kubernetes 是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,它有助于配置和自动化。 它最初由 Google 开发, 拥有一个庞大且快速增长的生态系统。 Kubernetes 的服务,技术支持和工具得到广泛应用。 - -Google 在2014年将 Kubernetes 项目开源化。Kubernetes 建立在 Google 十五年大规模运行生产工作负载的经验基础上并结合了社区中最好的想法和实践以及声明式句法的使用。 -下面列出了与Kubernetes生态系统相关的一些常用术语。 - -_**Pods:**_ pod 是 Kubernetes 应用程序的基本执行单元,是你创建或部署的 Kubernetes 对象模型中的最小和最简单的单元。pod 代表在 Kubernetes 集群上运行的进程。 -Pod 将运行中的容器,存储,网络IP(唯一)和控制容器应如何运行的命令封装起来。它代表 Kubernetes 生态系统内的单个部署单元,代表一个应用程序的单个实例,该程序可能包含一个或多个紧密耦合并共享资源的容器。 - -Kubernetes 集群中的Pod有两种主要的使用方式。 第一种是运行单个容器。 即“一个容器一个pod”,这种方式是最常见的。 第二种是运行多个需要一起工作的容器。 -Pod 可能封装一个应用程序,该应用程序由紧密关联且需要共享资源的多个同位容器组成。 - -_**ReplicaSet:**_ ReplicaSet 的目的是维护在任何给定时间运行的一组稳定的副本容器集。 ReplicaSet 包含有关一个特定 Pod 应该运行多少个副本的信息。 为了创建多个Pod 以匹配 ReplicaSet 条件,Kubernetes 使用 Pod 模板。 ReplicaSet 与其 pod 的链接是通过后者的 metas.ownerReferences 字段实现,该字段指定哪个资源拥有当前对象。 - -_**Services:**_ 服务是公开一组 Pod 功能的抽象。 使用 Kubernetes,你无需修改应用程序即可使用陌生的服务发现机制。 Kubernetes 为 Pod 提供了自己的IP地址和一组Pod 的单个DNS 名称,并且可以在它们之间负载平衡。 - -服务解决的一个主要问题是Web应用程序前端和后端的集成。 由于 Kubernetes 将幕后 IP 地址提供给 Pod,因此当 Pod 被杀死并复活时,IP 地址会更改。 这给给定的后端 IP 地址连接到相应的前端 IP 地址带来一个大问题。 服务通过在 Pod 上提供抽象来解决此问题,类似于负载均衡器。 - -_**Volumes:**_ Kubernetes Volumes 具有明确的生命周期-与包围它的 Pod 相同。 因此,Volumes 超过了pod 中运行的任何容器的寿命,并且在容器重新启动后保留了数据。 当然,当 pod 不存在时,该体积也将不再存在。 也许比这更重要的是 Kubernetes 支持多种类型的 Volumes,并且 Pod 可以同时使用任意数量的 Volumes。 - -Volumes 的核心只是一个目录,其中可能包含一些数据,pod 中的容器可以访问该目录。 该目录是如何产生的, 它后端基于什么存储介质,其中的数据内容是什么,这些都由使用的特定 volumes 类型来决定的。 - -**为什么选择 Kubernetes?** -容器是捆绑和运行应用程序的好方法。 在生产环境中,你需要管理运行应用程序的容器,并确保没有停机时间。 例如,如果一个容器发生故障,则需要启动另一个容器。 如果由系统自动实现这一操作,岂不是更好? Kubernetes 就是来解决这个问题的! Kubernetes 提供了一个框架来弹性运行分布式系统。 该框架负责扩展需求,故障转移,部署模式等。 例如,Kubernetes 可以轻松管理系统的 Canary 部署。 - -Kubernetes 为用户提供了: -1\. 服务发现和负载平衡 -2\. 存储编排 -3\. 自动退出和回退 -4\. 自动打包 -5\. 自我修复 -6\. 秘密配置管理 - -**Kubernetes 可以做什么?** - -在本文中,我们将会看到一些从头构建 Web 应用程序时如何使用 Kubernetes 的代码示例。我们将在 Python 中使用 Flask 创建一个简单的后端服务器。 -对于那些想从头开始构建 Web 应用程序的人,有一些前提条件,即: - -1\. 对 Docker,Docker 容器和 Docker 映像的基本了解。可以访问该网站 - __快速了解。 -2\. 系统中应该安装Docker。 -3\. 系统中应该安装Kubernetes,有关如何在本地计算机上安装的说明,请访问网站 __. - -现在,创建一个目录,如下代码片段所示: -``` -mkdir flask-kubernetes/app && cd flask-kubernetes/app -``` - -接下来,在 _flask-kubernetes/app_ 目录中,创建一个名为 main.py 的文件,如下面的代码片段所示: -``` -touch main.py -``` - -在新创建的 _main.py,_ 文件中,粘贴下面代码: - -``` -from flask import Flask -app = Flask(__name__) - -@app.route("/") -def hello(): -return "Hello from Kubernetes!" - -if __name__ == "__main__": -app.run(host='0.0.0.0') -``` - -使用下面命令在本地安装 Flask: - -``` -pip install Flask==0.10.1 -``` - -Flask 安装后,执行下面的命令: -``` -python app.py -``` - - -应该在本地运行Flask服务器,Flask应用程序的默认端口是5000,并且你可以在 * 上看到输出‘Hello from Kubernetes!’。 一旦服务器在本地运行,我们就创建一个供 Kubernetes 使用的 Docker 映像。 创建一个名为 Dockerfile 的文件,并将以下代码片段粘贴到其中: - - -``` -FROM python:3.7 - -RUN mkdir /app -WORKDIR /app -ADD . /app/ -RUN pip install -r requirements.txt - -EXPOSE 5000 -CMD ["python", "/app/main.py"] -``` - -_Dockerfile_文件的说明如下: - -1\. Docker 将从 Docker 集线器获取 Python 3.7 映像。 -2\. 将在映像中创建一个应用程序目录。 -3\. 它将一个应用程序设置为工作目录。 -4\. 将内容从主机中的应用程序目录复制到映像应用程序目录。 -5\. 暴露端口5000。 -6\. 最后,它运行命令,启动 Flask 服务器。 -接下来,我们将使用以下命令创建 Docker 映像: - -``` -docker build -f Dockerfile -t flask-kubernetes:latest . -``` - -创建Docker映像后,我们可以使用以下命令在本地运行该映像进行测试: - -``` -docker run -p 5001:5000 flask-kubernetes -``` - -通过运行容器在本地完成测试之后,我们需要在 Kubernetes 中部署它。 我们将首先使用 kubectl 命令验证 Kubernetes 是否正在运行。 如果没有报错,则说明它正在工作。 如果有报错,请参考该网站信息: __. - -接下来, 我们创建一个部署文件。 这是一个Yaml文件,其中包含有关 Kubernetes 的说明,该说明涉及如何以声明性的方式创建 pod 和服务。 因为我们有 Flask Web 应用程序,我们将在其中包含 pod 和 services 声明的情况下创建一个deployment.yaml文件。 -创建一个名为 deployment.yaml 的文件并向其中添加以下内容,然后保存: - -``` -apiVersion: v1 -kind: Service -metadata: -name: flask-kubernetes -service -spec: -selector: -app: flask-kubernetes -ports: -- protocol: "TCP" -port: 6000 -targetPort: 5000 -type: LoadBalancer - - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: -name: flask-kubernetes -spec: -replicas: 4 -template: -metadata: -labels: -app: flask-kubernetes -spec: -containers: -- name: flask-kubernetes -image: flask-kubernetes:latest -imagePullPolicy: Never -ports: -- containerPort: 5000 -``` - -使用以下命令将 yaml 文件发送到 Kubernete: - -``` -kubectl apply -f deployment.yaml -``` - -如果执行以下命令,你会看到 pods 正在运行: - -``` -kubectl get pods -``` - - -现在,导航至__,你应该会看到‘Hello from Kubernetes!’消息。 成功了! 该应用程序现在正在 Kubernetes 中运行! - -**Kubernetes 做不了什么 ** -Kubernetes 不是一个传统的,包罗万象的 PaaS(平台即服务)系统。 由于 Kubernetes 运行在容器级别而非硬件级别,因此它提供了 PaaS 产品共有的一些普遍适用功能,如部署,扩展,负载平衡,日志记录和监控。 Kubernetes 为开发人员平台提供了构建块,但在重要的地方保留了用户的选择和灵活性。 - - * Kubernetes 不限制所支持的应用程序的类型。 如果应用程序可以在容器中运行,那么它应该可以在 Kubernetes 上更好地运行。 - * 它不部署和构建源代码。 - * 它不决定日志记录,监视或警报解决方案。 - * 它不提供或不要求配置语言/系统。 它提供了一个声明的API供所有人使用。 - * 它不提供或不采用任何全面的机器配置,维护,管理或自我修复系统。 - - -![Avatar][3] - -[Abhinav Nath Gupta][4] - -本文作者 Abhinav 是班加罗尔 Cleo 软件公司的一名软件开发工程师。他对密码学、数据安全、虚拟货币及云计算方面很感兴趣,可以通过 [abhi.aec89@gmail.com][5] 与他联系。. - -[![][6]][7] - --------------------------------------------------------------------------------- - -via: https://opensourceforu.com/2019/11/demystifying-kubernetes/ - -作者:[Abhinav Nath Gupta][a] -选题:[lujun9972][b] -译者:[Morisun029](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensourceforu.com/author/abhinav-gupta/ -[b]: https://github.com/lujun9972 -[1]: https://i2.wp.com/opensourceforu.com/wp-content/uploads/2019/11/Gear-kubernetes.jpg?resize=696%2C457&ssl=1 (Gear kubernetes) -[2]: https://i2.wp.com/opensourceforu.com/wp-content/uploads/2019/11/Gear-kubernetes.jpg?fit=800%2C525&ssl=1 -[3]: https://secure.gravatar.com/avatar/f65917facf5f28936663731fedf545c4?s=100&r=g -[4]: https://opensourceforu.com/author/abhinav-gupta/ -[5]: mailto:abhi.aec89@gmail.com -[6]: http://opensourceforu.com/wp-content/uploads/2013/10/assoc.png -[7]: https://feedburner.google.com/fb/a/mailverify?uri=LinuxForYou&loc=en_US