K8S运维日常工作主要包括监控集群状态、维护节点健康、管理日志、部署应用程序等。下面我将详细介绍具体的步骤和代码示例。

### K8S运维日常工作流程

| 步骤 | 操作 |
| :--: | :--: |
| 1 | 部署K8S集群 |
| 2 | 监控集群状态 |
| 3 | 维护节点健康 |
| 4 | 管理日志 |
| 5 | 部署应用程序 |

### 1. 部署K8S集群
首先,我们需要部署一个Kubernetes集群来进行运维工作。可以使用kubeadm工具来快速部署一个单节点的K8S集群。

```bash
# 安装kubeadm
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubeadm

# 部署K8S集群
sudo kubeadm init
```

### 2. 监控集群状态
可以使用Kubernetes Dashboard来监控集群状态,并查看各个工作负载的运行情况。

```bash
# 部署Kubernetes Dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

# 创建Dashboard用户
kubectl apply -f dashboard-adminuser.yaml
```

### 3. 维护节点健康
使用kubectl命令来检查集群中各个节点的健康状态,如查看节点列表、节点详细信息、节点日志等。

```bash
# 查看节点列表
kubectl get nodes

# 查看节点详细信息
kubectl describe node

# 查看节点日志
kubectl logs
```

### 4. 管理日志
Kubernetes提供了日志收集的功能,可以安装Fluentd或EFK等工具来汇总和管理各个Pod的日志信息。

```bash
# 部署Fluentd
kubectl apply -f fluentd.yml

# 查看日志
kubectl logs -l app=
```

### 5. 部署应用程序
最常见的运维工作之一就是部署新的应用程序到Kubernetes集群中,可以使用kubectl apply命令来部署YAML文件。

```bash
# 部署应用程序
kubectl apply -f app-deployment.yaml
```

通过上述步骤和代码示例,可以帮助你快速入门K8S运维日常工作的流程和操作。希望对你有所帮助!