在Kubernetes(简称K8S)中,常用组件是一些核心功能模块,它们帮助我们管理和部署容器化应用程序。本文将介绍几个常用组件,并给出相关的代码示例。

首先,让我们来看一下整个实现“k8s常用组件介绍”的流程:

| 步骤 | 操作 |
| ---- | ---- |
| 1 | 创建一个 Kubernetes 集群 |
| 2 | 部署一个示例应用程序 |
| 3 | 使用常用组件来管理和监控应用程序 |

接下来,我们逐步介绍每个步骤的具体操作及相应的代码示例。

### 步骤一:创建一个 Kubernetes 集群

在本地环境或云服务商上创建一个 Kubernetes 集群。

### 步骤二:部署一个示例应用程序

这里我们以一个简单的 NGINX 应用程序作为示例,部署一个 ReplicaSet。

```yaml
# nginx-deployment.yaml

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

使用以下命令创建部署:

```bash
kubectl apply -f nginx-deployment.yaml
```

### 步骤三:使用常用组件来管理和监控应用程序

#### 1. Kubernetes Dashboard

Kubernetes Dashboard 是一个管理 Kubernetes 集群的 Web UI 工具。部署 Dashboard:

```bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml
```

通过以下命令创建 Dashboard 用户:

```bash
kubectl apply -f dashboard-adminuser.yaml
```

获取登录 Token:

```bash
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user-token | awk '{print $1}')
```

启动 Dashboard 代理:

```bash
kubectl proxy
```

访问 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 登录 Dashboard。

#### 2. Prometheus

Prometheus 是一个开源的监控和警报工具。部署 Prometheus:

```bash
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/kube-prometheus/main/manifests/setup
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/kube-prometheus/main/manifests
```

访问 Prometheus Dashboard:

```bash
kubectl --namespace monitoring port-forward svc/prometheus-k8s 9090
```

访问 http://localhost:9090/ 查看监控指标。

通过以上步骤,我们成功地介绍了如何使用常用组件来管理和监控 Kubernetes 应用程序。希望这篇文章可以帮助到正在学习 Kubernetes 的小白们!