Logging 如何将kubernetes中所有吊舱的日志存储在节点上的一个位置?
我想把豆荚的原木储存在kubernetes的一个地方。i、 ekubectl日志podname的输出 我提到了这个问题,它成功地为计数器提供了日志……如何在spec中修改这个args属性,以获得存储在文件中一个位置的kubectl logs podname的输出 这是我创建的pod.yaml,但在/tmp/logs/Logging 如何将kubernetes中所有吊舱的日志存储在节点上的一个位置?,logging,kubernetes,kubernetes-pod,Logging,Kubernetes,Kubernetes Pod,我想把豆荚的原木储存在kubernetes的一个地方。i、 ekubectl日志podname的输出 我提到了这个问题,它成功地为计数器提供了日志……如何在spec中修改这个args属性,以获得存储在文件中一个位置的kubectl logs podname的输出 这是我创建的pod.yaml,但在/tmp/logs/ apiVersion: v1 kind: Service metadata: name: spring-boot-demo-pricing spec: ports: -
apiVersion: v1
kind: Service
metadata:
name: spring-boot-demo-pricing
spec:
ports:
- name: spring-boot-pricing
port: 8084
targetPort: 8084
selector:
app: spring-boot-demo-pricing
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: spring-boot-demo-pricing
spec:
replicas: 1
template:
metadata:
labels:
app: spring-boot-demo-pricing
spec:
containers:
- name: spring-boot-demo-pricing
image: djtijare/a2ipricing12062019:v1
imagePullPolicy: IfNotPresent
# envFrom:
#- configMapRef:
# name: spring-boot-demo-config-map
resources:
requests:
cpu: 100m
memory: 1Gi
ports:
- containerPort: 8084
args: [/bin/sh, -c,
'i=0; while true; do echo "$i: $(date)" >> /u01/kubernetes_prac/logs/log_output.txt; i=$((i+1)); sleep 1; done']
volumeMounts:
- name: varlog
mountPath: /u01/kubernetes_prac/logs
volumes:
- name: varlog
hostPath:
path: /tmp/logs
正确的方法是将日志存储在集群之外,例如,如果您使用AWS,则会有类似将日志存储到cloudwatch、s3等的规定。例如,可能会写入许多源。原因是kubernetes集群在VPC(虚拟私有云)上运行,并提供对集群中节点的访问可能并非总是正确的。所以这就是我们所遵循的一种方法
<>这提供了将所有容器日志暴露给EFK(弹出搜索、FrULTD和Kibana)的指南。您应该考虑使用日志服务器。