Kubernetes(简称K8s)是一个开源的容器编排平台,用于自动化应用程序的部署、扩展和操作。它提供了一个强大灵活的平台,能够管理多个主机上的容器化应用程序,并实现高可用性和扩展性。在开始之前,我们先来了解一下K8s集群的基本架构。

K8s集群的基本架构由Master节点和多个Worker节点组成。Master节点负责集群的管理和控制,而Worker节点负责运行容器化的应用程序。

下面是一个基本的K8s集群架构图,展示了Master节点和多个Worker节点之间的关系:


```mermaid
graph LR
A[Master节点]-->B((Worker节点))
A[Master节点]-->B
A[Master节点]-->B
A[Master节点]-->B
```

接下来,我们来详细了解每一步的具体操作。

**步骤1:设置Master节点**

在搭建K8s集群之前,首先需要设置Master节点。Master节点是K8s集群的控制中心,负责管理和控制整个集群。

使用以下命令设置Master节点:

```
kubeadm init
```

这个命令将初始化Master节点并生成一个唯一的token,用于添加Worker节点。

**步骤2:加入Worker节点**

接下来,我们需要将Worker节点加入到集群中。

使用以下命令将Worker节点加入到集群中:

```
kubeadm join : --token --discovery-token-ca-cert-hash
```

这个命令将把Worker节点加入到集群中,并与Master节点建立连接。

**步骤3:部署应用程序**

现在,我们已经搭建好了K8s集群,接下来可以部署我们的应用程序。

首先,我们需要创建一个Deployment对象,描述我们想要部署的应用程序。

使用以下命令创建一个Deployment对象:

```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app:latest
ports:
- containerPort: 8080
```

这个文件描述了一个名为my-app的Deployment对象,它包含3个副本,并使用名为my-app的容器镜像。容器监听8080端口。

然后,使用以下命令创建Deployment对象:

```
kubectl create -f deployment.yaml
```

这个命令将创建一个名为my-app的Deployment对象。

**步骤4:扩展应用程序**

如果我们想要扩展应用程序,只需修改Deployment对象中的replicas字段。

使用以下命令扩展应用程序的副本数量:

```
kubectl scale deployment my-app --replicas=5
```

这个命令将把my-app的副本数量扩展到5个。

**步骤5:更新应用程序**

如果我们想要更新已部署的应用程序,只需修改Deployment对象中的image字段。

使用以下命令更新应用程序的镜像:

```
kubectl set image deployment/my-app my-app=my-app:new
```

这个命令将把my-app的镜像更新为新的镜像。

**步骤6:删除应用程序**

如果我们不再需要某个应用程序,可以删除它。

使用以下命令删除应用程序:

```
kubectl delete deployment my-app
```

这个命令将删除名为my-app的Deployment对象。

到此,我们已经完成了K8s集群的搭建、应用程序的部署、扩展和更新。希望对你理解K8s的关键词有所帮助!

关注微信公众号【K8s科技】,了解更多K8s相关知识。