个性化阅读
专注于IT技术分析

Kubernetes使用教程完整详细图解

本文概述

Kubernetes教程

什么是Kubernetes?

Kubernetes也被称为” k8s”。这个词来自希腊语, 意思是飞行员或舵手。

Kubernetes是Google在2014年设计的可扩展, 可移植的开源平台。它主要用于在节点集群中自动执行基于容器的应用程序的部署, 扩展和操作。它还旨在使用不同的方法来管理容器化应用程序的服务, 这些方法可提供可伸缩性, 可预测性和高可用性。

它实际上是” Borg”的增强版本, 用于管理长时间运行的流程和批处理作业。如今, 许多云服务都提供了基于Kubernetes的基础架构, 可以将其部署为平台提供的服务。此技术或概念可与许多容器工具(例如docker)一起使用, 并遵循客户端-服务器体系结构。

Kubernetes的主要对象

以下是Kubernetes中存在的关键对象:

它是Kubernetes应用程序中最小, 最简单的基本单元。该节点标识集群中正在运行的进程。

节点

节点不过是一个主机, 用于运行虚拟机或物理机。 Kubernetes集群中的一个节点也称为奴才。

服务

Kubernetes中的服务是Pod的逻辑集合, 可以协同工作。借助服务, 用户可以轻松管理负载平衡配置。

复制集

Kubernetes中的ReplicaSet用于标识在给定时间正在运行的Pod副本的特定数量。它取代了复制控制器, 因为它功能更强大, 并允许用户使用”基于集合”的标签选择器。

命名空间

Kubernetes支持各种虚拟集群, 称为名称空间。这是在两个或多个用户之间分配群集资源的一种方法。

Kubernetes的特征

以下是Kubernetes的基本功能:

Kubernetes教程
  1. Pod:它是Kubernetes中的一个部署单元, 具有单个Internet协议地址。
  2. 水平缩放:这是Kubernetes中的重要功能。此功能使用Horizo​​ntalPodAutoscalar根据观察到的CPU利用率自动增加或减少部署, 复制控制器, 副本集或有状态集中的窗格数。
  3. 自动装箱:Kubernetes帮助用户声明其容器的计算机的最大和最小资源。
  4. 服务发现和负载平衡:Kubernetes为一组容器分配IP地址和DNS名称, 并在它们之间平衡负载。
  5. 自动部署和回滚:Kubernetes使用部署, 将更改和更新分发到应用程序或其配置。如果系统中发生任何问题, 则此技术会立即为你回滚这些更改。
  6. 持久存储:Kubernetes提供了一项称为“持久存储”的基本功能来存储数据, 在吊舱被终止或重新安排之后不会丢失。 Kubernetes支持各种存储系统来存储数据, 例如Google Compute Engine的永久磁盘(GCE PD)或Amazon Elastic Block Storage(EBS)。它还提供了分布式文件系统:NFS或GFS。
  7. 自我修复:此功能在Kubernetes的概念中起着重要的作用。在执行过程中失败的那些容器, Kubernetes会自动重新启动它们。并且, 那些不回复用户定义的运行状况检查的容器将阻止它们自动运行。

Kubernetes体系结构

Kubernetes教程

Kubernetes的架构实际上遵循客户端-服务器架构。它由以下两个主要组件组成:

  1. 主节点(控制平面)
  2. 从属/工人节点

主节点或Kubernetes控制平面

Kubernetes体系结构中的主节点用于管理集群的状态。实际上, 它是所有类型的管理任务的切入点。在Kubernetes集群中, 存在多个用于检查容错性的主节点。

以下是主节点或Kubernetes控制平面中存在的四个不同组件:

  1. 服务器API
  2. 排程器
  3. 财务经理
  4. 经济合作发展组织

服务器API

Kubernetes API服务器接收用户发送的REST命令。接收后, 它将验证REST请求, 进行处理, 然后执行它们。执行REST命令后, 集群的结果状态将作为分布式键值存储存储在” etcd”中。

排程器

主节点中的调度程序将任务调度到工作节点。并且, 对于每个工作节点, 它用于存储资源使用信息。

换句话说, 它是负责将吊舱分配给可用工作节点的过程。

财务经理

控制器管理器也称为控制器。它是一个在非终止控制循环中执行的守护程序。主节点中的控制器执行任务并管理集群的状态。在Kubernetes中, 控制器管理器执行各种类型的控制器来处理节点, 端点等。

经济合作发展组织

它是一种开放源代码, 简单的分布式键值存储, 用于存储集群数据。它是用GO编程语言编写的主节点的一部分。

现在, 我们已经了解了主节点的功能和组件。让我们看看从属节点/工作节点的功能是什么以及它的组成部分。

工/从节点

Kubernetes中的Worker节点也称为奴才。工作节点是使用Pod执行应用程序的物理计算机。它包含所有基本服务, 这些服务使用户可以将资源分配给计划的容器。

以下是工作节点或从节点中存在的不同组件:

是婴儿

此组件是在群集中每个工作节点上执行的代理服务。它可以确保Pods及其容器运行顺畅。每个工作程序节点中的每个kubelet与主节点通信。它还将启动, 停止和维护由主节点直接组织为pod的容器。

古巴代理

它是Kubernetes的代理服务, 仅在集群中的每个工作节点上执行。该组件的主要目的是请求转发。每个节点都通过Kube-proxy与Kubernetes服务进行交互。

Pods

Pods容器是逻辑上在节点上一起执行的一个或多个容器的组合。一个工作节点可以轻松执行多个Pod。

Linux安装Kubernetes

在Linux上安装Kubernetes是一个简单的过程。请按照以下步骤安装Kubernetes。在安装Kubernetes时, 每个步骤都是必需的。

步骤1:在这一步中, 我们必须使用两个命令来更新系统的必要依赖关系。

第一个命令用于获取所有更新。在终端中执行以下命令;它将要求输入系统密码。

sudo apt-get update

输出如下:

Kubernetes教程

成功执行第一个命令后, 键入以下第二个命令, 该命令用于创建存储库。

sudo apt-get install -y apt-transport-https

输出如下:

Kubernetes教程

步骤2:成功执行上述步骤后, 我们必须在此步骤中安装docker的依赖项。

输入以下命令以安装docker。在安装过程中, 我们必须选择Y来确认安装。

sudo apt install docker.io

输出如下:

Kubernetes教程

安装docker之后, 我们必须键入两个不同的命令来启动和启用docker。键入以下第一个命令, 以启动docker:

sudo systemctl start docker

现在, 键入以下第二条命令, 以启用docker:

sudo systemctl enable docker

输出如下:

Kubernetes教程

现在, 我们可以通过键入以下命令来检查docker的版本:

Docker -version

输出如下:

Kubernetes教程

步骤3:成功执行第二步的所有命令后, 我们必须安装curl命令。 curl用于使用URL语法发送数据。

现在, 使用以下命令安装curl。在安装中, 我们必须输入Y。

sudo apt-get install curl

输出如下:

Kubernetes教程

现在, 我们必须通过以下命令下载Kubernetes的添加包密钥:

sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add

输出如下:

Kubernetes教程

如果你从上述命令中得到错误, 则表明你的curl命令未成功安装, 因此请先安装curl命令, 然后再次运行上述命令。

现在, 我们必须通过以下命令添加Kubernetes存储库:

sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

输出如下:

Kubernetes教程

成功执行以上命令后, 我们必须通过执行以下命令来检查所有更新:

sudo apt-get update

输出如下:

Kubernetes教程

步骤4:在上述步骤中执行完上述命令后, 我们必须通过执行以下命令来安装Kubernetes的组件:

sudo apt-get install -y kubelet kubeadm kubectl kubernetes-cni

输出如下:

Kubernetes教程

步骤5:完成上述安装后, 我们必须通过执行以下命令来初始化kubeadm。以下命令在其他设备上禁用交换:

sudo swapoff -a

输出如下:

Kubernetes教程

现在, 我们必须通过执行以下命令来初始化kubeadm:

sudo kubeadm init

输出如下:

Kubernetes教程

步骤6:成功执行上述命令后, 我们必须运行以下命令, 这些命令在kubeadm的初始化中给出。这些命令显示在上面的屏幕截图中。以下命令用于启动集群:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Kubernetes教程
Kubernetes教程

输出如下:

步骤7:在这一步中, 我们必须使用以下命令来部署路径:

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

输出如下:

Kubernetes教程

步骤8:执行上述命令后, 我们必须运行以下命令来验证安装:

sudo kubectl get pods --all-namespaces

输出如下:

Kubernetes教程

如果输出如上面的屏幕截图所示。这意味着Kubernetes已成功安装在我们的系统上。


赞(0)
未经允许不得转载:srcmini » Kubernetes使用教程完整详细图解

评论 抢沙发

评论前必须登录!