整体流程如下表所示:
| 步骤 | 操作 |
|------|--------------------------------------|
| 1 | 安装Logtail组件 |
| 2 | 配置Logtail组件 |
| 3 | 创建Logstore和Logstore Index配置文件 |
| 4 | 部署DaemonSet到K8s集群中 |
接下来我们逐步进行详细的介绍和操作。
### 步骤一:安装Logtail组件
首先,在K8s集群中,我们需要安装Logtail组件以收集容器的日志信息。可以使用以下命令来安装Logtail:
```shell
curl -sSL https://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/aliyun_log_plugin/installer/install_logtail.sh | sh
```
### 步骤二:配置Logtail组件
配置Logtail组件主要包括设置阿里云AccessKey和AccessKeySecret,以及Log Service的Project和Logstore名称等信息。可以通过以下命令来进行配置:
```shell
touch /etc/ilogtail/ilogtail.conf
vi /etc/ilogtail/ilogtail.conf
```
在`ilogtail.conf`文件中添加如下配置信息:
```yaml
[endpoint]
endpoint = https://cn-hangzhou.log.aliyuncs.com
accessid =
accesskey =
[plugin_k8s]
cluster_name =
namespace =
pod_name_patterns = ["*"]
container_name_patterns = ["*"]
log_max_line = 100
```
### 步骤三:创建Logstore和Logstore Index配置文件
在阿里云Log Service中,Logstore是用来存储日志的容器,Logstore Index可以加速检索日志。我们需要创建一个Logstore和一个Logstore Index配置文件,可以通过如下命令操作:
```shell
touch /etc/ilogtail/plugin_k8s_config.yaml
touch /etc/ilogtail/plugin_k8s_index.json
vi /etc/ilogtail/plugin_k8s_config.yaml
vi /etc/ilogtail/plugin_k8s_index.json
```
在`plugin_k8s_config.yaml`中添加Logstore配置信息,例如:
```yaml
projectId:
logstore:
name:
ttl: 30
```
在`plugin_k8s_index.json`中添加Logstore Index配置信息,例如:
```json
{
"time": {
"token": ["\t", ":", "[", "]", "/", "?", "&", "\""],
"format": "%Y-%m-%d %H:%M:%S,%f"
}
}
```
### 步骤四:部署DaemonSet到K8s集群中
最后,我们需要在K8s集群中部署一个DaemonSet来运行Logtail组件。可以通过以下示例的DaemonSet配置文件来部署:
```yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: logtail-daemonset
spec:
selector:
matchLabels:
name: logtail-daemonset
template:
metadata:
labels:
name: logtail-daemonset
spec:
containers:
- name: logtail
image: registry.cn-hangzhou.aliyuncs.com/logtail/logtail:0.16
volumeMounts:
- name: log-dir
mountPath: /var/log/pods
- name: config-dir
mountPath: /etc/ilogtail
- name: logtail-dir
mountPath: /usr/local/ilogtail
volumes:
- name: log-dir
hostPath:
path: /var/log/pods
- name: config-dir
hostPath:
path: /etc/ilogtail
- name: logtail-dir
emptyDir: {}
```
通过以上步骤,我们就成功实现了在K8s集群中使用阿里云Log Service来收集和分析容器的日志信息。希望这篇文章能够帮助你快速入门“K8s 阿里云log-point”。如有疑问,欢迎留言讨论。