Kubernetes集群入门教程

89 阅读3分钟

Kubernetes集群的入门知识

Kubernetes集群管理着由许多节点组成的容器,这些节点一起工作来执行一个特定的操作。一些基于云的服务提供商允许我们使用几个命令来创建Kubernetes集群。

如果一个人开始使用Kubernetes,建议使用这个选项,因为它允许我们更快地启动和运行。此外,minikube工具只能创建一个单节点集群。单节点集群不具备Kubernetes集群的所有功能,因此云供应商是更好的选择。

在公共云提供商中安装

在本节中,我们将看看如何在这些云提供商中安装Kubernetes。

  • 谷歌云平台。
  • 微软Azure
  1. 谷歌云平台

要使用它,需要注册平台账户并安装gcloud工具

注意:我们必须启用计费,才能使用这个平台。

一旦一切就绪,我们设置我们的默认区域。

     $ gcloud config set compute/zone <timezone>

并创建我们的集群。

     $ gcloud container clusters create <cluster>

这可能需要几分钟的时间

我们可以使用这个命令获得集群的凭证。

     $ gcloud auth application-default login
  1. 微软Azure

为了开始工作,我们点击工具栏中的shell图标来访问已经提供的shell。

Shell icon

一旦shell启动并运行,我们可以使用这个命令创建一个资源组。

     $ az group create --name=<group-name> --location=<location>

然后我们用以下命令创建一个集群。

       --resource-group=<group-name> --name=<cluster-name>

集群创建后,我们可以用这个命令获得集群的证书。

    $ az acs Kubernetes get-credentials --resource-group=<group-name> --name=<cluster-name>
  1. 本地安装Kubernetes

为了使用minikube,我们需要在我们的机器上安装[管理程序]。

在同一个链接中,可以找到自己选择的操作系统的二进制文件的链接。

安装后,创建一个集群,用这个命令启动它。

     $ minikube start

我们可以用这个命令暂停它。

     $ minikube pause

当它完成后,我们可以用: 停止。

     $ minikube stop

要删除集群,请运行。

$ minikube delete

Kubernetes客户端

Kubernetes客户端被称为kubectl ,它用于管理和控制我们的集群。它还可以帮助我们检查集群的健康状况。

我们可以用检查集群的版本。

$ kubectl version

我们可以用:来检查集群的健康状况。

$ kubectl get componentstatuses

要列出一个集群中的所有节点,我们运行这个命令。

$ kubectl get nodes

我们将得到所有的节点名称,它们的健康状态和年龄。

运行这个命令可以获得关于某个节点的更多信息。

$ kubectl describe nodes <node-name>

常见的集群组件

我们要看一下组成Kubernetes集群的几个组件,即。

  • Kubernetes Proxy
  • Kubernetes DNS
  • Kubernetes UI
  1. Kubernetes代理 (kube-proxy) 这使得不在集群中的服务可以通过网络和一套规则与集群中的服务进行通信。Kubernetes使用一个叫做DaemonSet 的对象来实现这一点,它使代理在集群中的每个节点上运行。

为了看到代理,我们使用这个。

$ kubectl get daemonSets --namespace=kube-system kube-proxy

我们可以在三种模式下实现kube-proxy

  • 用户空间--在这里,代理进程不在内核网络中运行,而是在用户进程级别,因此它的名字是用户空间。不推荐使用这种方式,因为它是一种缓慢的方法。
  • iptables- 与用户空间模式不同,这种模式在内核中运行,它在集群中以轮流的方式调度服务。当有许多服务时,它不被使用,因为它的调度方式可能导致性能缓慢。
  • IPVS--(IP虚拟服务器)以与iptables相同的方式运行。它使用更有效的调度算法,减少延迟时间。用于有许多服务的地方。
  1. Kubernetes DNS Kubernetes运行一个DNS服务器,为集群中的服务提供方便的识别。它通过为它们分配名称,使我们能够访问它们的功能,而不必知道它们的IP地址。

我们可以通过这个命令来查看运行的DNS服务器。

$ kubectl get deployments --namespace=kube-system kube-dns
  1. Kubernetes UI 这是一个基于网络的图形用户界面,要看到它,我们使用这个命令。
$ kubectl get deployments --namespace=kube-system Kubernetes-dashboard

然后我们可以使用kubectl proxy ,访问http://localhost:8001/api/v1/namespaces/Kubernetes-dashboard/services/https:Kubernetes-dashboard:/proxy/ 上的服务器。

$ kubectl proxy

总结

我们已经经历了一个关于Kubernetes集群的初级介绍。查看所附链接的内容,以获得更多的见解。