匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

Kubernetes 基础教程:快速搭建集群

Kubernetes 基础教程:快速搭建集群

Kubernetes (K8s) 是一个开源的容器编排平台,可以大幅简化容器化应用程序的部署、管理和自动化操作。K8s 可以利用集群来管理容器化应用程序,包括容器的自动部署、伸缩、应用程序的负载均衡、应用程序的版本管理等等。在本篇文章中,我们将介绍如何快速搭建一个 K8s 集群,并对其中的一些重要技术点进行详细解释。

一、安装 Docker 和 Kubernetes

在开始之前,您需要在每台服务器上安装 Docker 和 Kubernetes。您可以在以下页面中获得详细的安装说明: 

- Docker: https://docs.docker.com/install/
- Kubernetes: https://kubernetes.io/docs/setup/

在安装 Docker 和 Kubernetes 之后,您可以使用命令行工具来检查安装是否成功。比如,您可以执行以下命令来检查 Docker 是否已正确安装:

```shell
docker run hello-world
```

这应该会输出一个短语,说明 Docker 已正确安装并在运行。

二、创建 Kubernetes 集群

我们将在本地机器上创建一个 Kubernetes 集群。 Kubernetes 集群包含一个主节点和若干个工作节点。在本示例中,我们将仅创建一个工作节点:

1. 使用 kubeadm 创建集群

在主节点上运行以下命令,使用 kubeadm 工具来创建 Kubernetes 集群:

```shell
kubeadm init --pod-network-cidr=10.244.0.0/16
```

这将安装 Kubernetes 控制平面组件,并在节点上配置一些网络设置。在成功完成后,它将输出一些信息,您应该记录这些信息,以便稍后使用。例如,

```shell
kubeadm join 192.168.0.150:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
```

2. 加入工作节点

在工作节点上运行上面的 kubeadm join 命令,以加入 Kubernetes 集群:

```shell
kubeadm join 192.168.0.150:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
```

这将将工作节点添加到 Kubernetes 集群中。您可以使用以下命令来检查节点是否已成功加入:

```shell
kubectl get nodes
```

您应该看到两个节点:主节点和工作节点。

三、使用 Kubernetes 部署应用程序

现在,您已经成功创建了 Kubernetes 集群,可以使用 Kubernetes 来部署应用程序。例如,您可以部署一个 Nginx 网页服务器,在 Kubernetes 上运行:

1. 创建一个 deployment

使用以下命令创建一个 deployment,以在 Kubernetes 集群上运行一个 Nginx 网页服务器:

```shell
kubectl create deployment nginx --image=nginx
```

使用以下命令检查 deployment 是否已成功创建:

```shell
kubectl get deployments
```

应该输出一个包含一个 Nginx deployment 的列表。

2. 创建一个 service

使用以下命令创建一个 service,以将 Nginx 网页服务器暴露出来:

```shell
kubectl expose deployment nginx --port 80 --type=NodePort
```

使用以下命令检查 service 是否已成功创建:

```shell
kubectl get services
```

应该输出一个包含一个 Nginx service 的列表,其中端口为 80。

3. 访问 Nginx 服务器

您可以使用以下命令获取 Nginx 服务器的 IP 地址和端口号:

```shell
kubectl describe service nginx
```

输出应该包含一个节点端口,例如,NodePort: 32123。

现在,您可以在 Web 浏览器中输入所有节点的 IP 地址和节点端口号,以访问 Nginx 服务器。

结论

Kubernetes 是一个非常强大的容器编排平台,可以帮助您轻松地管理、部署和操作容器化应用程序。通过本文您已经学会了如何快速搭建一个 Kubernetes 集群,并使用 Kubernetes 部署一个应用程序。希望本文可以对您有所帮助。