Windows节点上使用logtail
环境要求
- 创建Linux托管集群,添加OS为Windows的节点池来使用Windows节点
- 集群已经部署了日志组件
添加Windows节点的logtail
- 在kube-system下的configmap
alibaba-log-configuration
中添加item
win-log-config-path: C:\Program Files (x86)\Alibaba\Logtail\conf\ap-southeast-1\ilogtail_config.json
- 部署Windows节点的daemonset
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
labels:
k8s-app: win-logtail-ds
name: win-logtail-ds
namespace: kube-system
spec:
selector:
matchLabels:
k8s-app: logtail-ds
kubernetes.io/cluster-service: "true"
version: v1.0
template:
metadata:
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ""
labels:
k8s-app: logtail-ds
kubernetes.io/cluster-service: "true"
version: v1.0
spec:
containers:
- env:
- name: ALIYUN_LOGTAIL_CONFIG
valueFrom:
configMapKeyRef:
key: win-log-config-path
name: alibaba-log-configuration
- name: ALIYUN_LOGTAIL_USER_ID
valueFrom:
configMapKeyRef:
key: log-ali-uid
name: alibaba-log-configuration
- name: ALIYUN_LOGTAIL_USER_DEFINED_ID
valueFrom:
configMapKeyRef:
key: log-machine-group
name: alibaba-log-configuration
- name: ALICLOUD_LOG_DOCKER_ENV_CONFIG
value: "true"
- name: ALICLOUD_LOG_ECS_FLAG
value: "true"
- name: ALICLOUD_LOG_DEFAULT_PROJECT
valueFrom:
configMapKeyRef:
key: log-project
name: alibaba-log-configuration
- name: ALICLOUD_LOG_ENDPOINT
valueFrom:
configMapKeyRef:
key: log-endpoint
name: alibaba-log-configuration
- name: ALICLOUD_LOG_DEFAULT_MACHINE_GROUP
valueFrom:
configMapKeyRef:
key: log-machine-group
name: alibaba-log-configuration
- name: ALIYUN_LOG_ENV_TAGS
value: _node_name_|_node_ip_
- name: _node_name_
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
- name: _node_ip_
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.hostIP
- name: cpu_usage_limit
value: "1.0"
- name: mem_usage_limit
value: "512"
- name: max_bytes_per_sec
value: "20971520"
- name: send_request_concurrency
value: "20"
image: registry.cn-hangzhou.aliyuncs.com/log-service/winlogtail:ltsc2019-1.0.0.10
imagePullPolicy: IfNotPresent
name: logtail
resources:
limits:
memory: 512Mi
requests:
cpu: 100m
memory: 256Mi
securityContext:
privileged: false
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: '\\\\.\pipe\docker_engine'
name: sock
- mountPath: 'c:\ProgramData\docker'
name: root
readOnly: true
- mountPath: 'c:\logtail_host'
name: root-c
readOnly: true
nodeSelector:
beta.kubernetes.io/os: windows
terminationGracePeriodSeconds: 30
tolerations:
- effect: NoSchedule
key: os
operator: Equal
value: windows
volumes:
- hostPath:
path: '\\\\.\pipe\docker_engine'
name: sock
- hostPath:
path: 'c:\ProgramData\docker'
name: root
- hostPath:
path: 'c:\'
name: root-c
目前logtail仅限于支持采集stdout的输出至日志服务,后续会支持对日志文件的采集
部署完成后可以使用如下应用去验证是否可用:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: logtail-test
name: logtail-test
spec:
replicas: 1
template:
metadata:
labels:
app: logtail-test
name: logtail-test
spec:
containers:
- name: nanoserver
image: mcr.microsoft.com/windows/servercore:1809
command: ["powershell.exe"]
args: ["ping -t 127.0.0.1 -w 10000"]
env:
######### 配置 环境变量 ###########
- name: aliyun_logs_logtail-stdout
value: stdout
- name: aliyun_logs_logttail-tags
value: tag1=v1
#################################
nodeSelector:
beta.kubernetes.io/os: windows
tolerations:
- effect: NoSchedule
key: os
operator: Equal
value: windows

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Redis 集群演进探讨和总结
Redis为什么需要集群? 首先Redis单实例主要有单点,容量有限,流量压力上限的问题。 Redis单点故障,可以通过主从复制replication,和自动故障转移sentinel哨兵机制。 但Redis单Master实例提供读写服务,仍然有容量和压力问题,因此需要数据分区,构建多个Master实例同时提供读写服务(不仅限于从replica节点提供读服务)。 那么就需要一定的机制保证数据分区。这样能充分把容量分摊到多台计算机,或能充分利用多核计算机的性能。 并且数据在各个主Master节点间不能混乱,当然最好还能支持在线数据热迁移的特性。 探讨数据分区方案 针对数据分区,一般来说,分为两个大类: 逻辑拆分: 逻辑上能拆分,比如 Redis 中的 M1 节点 存储 A服务需要的业务数据,而 Redis 中的 M2 节点存储 B服务需要的业务数据。 数据分区: 当逻辑上不能拆分,那么只能按数据来拆分,需要保证客户端读和写数据一致。 因此需要一个高效快速的数据结构来路由对应的Master节点。 最容易想到的就是类比 Java 中的 HashMap, 采用 哈希算法,快速找到,快速设置。 这...
-
下一篇
【最佳实践】阿里云Logstash JDBC实现Elasticsearch与关系型数据库保持数据同步
整体概述: 阿里云 logstash-input-jdbc 插件是实现阿里云 Elasticsearch 与 RDS 关系型数据库数据同步的关键,本质是通过 Logstash JDBC 输入插件,运行一个循环来定期对 RDS 进行轮询,从而找到在此次循环上次迭代后插入或更改的记录,如让其正确运行,必须满足如下条件: 1、 在将 RDS 中的文档写入 Elasticsearch 时,Elasticsearch 中的 "_id" 字段必须设置为 RDS 中的 "id" 字段。这可在 RDS 记录与 Elasticsearch 文档之间建立一个直接映射关系,如果在 RDS 中更新了某条记录,那么将会在 Elasticsearch 中覆盖整条相关记录。 注意,在 Elasticsearch 中覆盖文档的效率与更新操作的效率一样高,因为从内部原理
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- MySQL数据库在高并发下的优化方案
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker快速安装Oracle11G,搭建oracle11g学习环境