Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 如何将kubernetes中所有吊舱的日志存储在节点上的一个位置?_Logging_Kubernetes_Kubernetes Pod - Fatal编程技术网

Logging 如何将kubernetes中所有吊舱的日志存储在节点上的一个位置?

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: -

我想把豆荚的原木储存在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:
  - 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)的指南。

您应该考虑使用日志服务器。