小编Gar*_*eth的帖子

如何在yaml文件中使用json变量(Helm)

我有一个HELM值文件,如下所示:

service:
  environment: dev
  spring_application_json: >-
    {
      "spring" : {
        "boot" : {
          "admin" : {
            "client" : {
              "enabled" : "false",
              "url" : "http://website1",
              "instance" : {
                "service-base-url" : "http://website2",
                "management-base-url" : "http://website3"
              }
            }
          }
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

以及一个相应的模板文件,它抓取此值并将其作为环境变量插入到容器中.

spec:
  replicas: {{ .Values.replicaCount }}
  template:
    spec:
      imagePullSecrets:
        - name: {{ .Values.image.pullSecret }}
      containers:
        - name: {{ .Chart.Name }}
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          env:
            - name: ENVIRONMENT
              value: "{{ .Values.service.environment }}"
            - name: …
Run Code Online (Sandbox Code Playgroud)

json yaml docker kubernetes kubernetes-helm

5
推荐指数
1
解决办法
3738
查看次数

MSK 不删除旧消息

我有三个 MSK 集群;开发、非产品和产品。它们都具有以下集群配置 - 没有主题级别配置。

auto.create.topics.enable=false
default.replication.factor=3
min.insync.replicas=2
num.io.threads=8
num.network.threads=5
num.partitions=1
num.replica.fetchers=2
log.retention.hours=100
replica.lag.time.max.ms=30000
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
socket.send.buffer.bytes=102400
unclean.leader.election.enable=true
zookeeper.session.timeout.ms=18000
Run Code Online (Sandbox Code Playgroud)

Dev 和 Nonprod 正在清除log.retention.hours=100设置中定义的超过 100 小时的消息。

我们的生产集群有更多的流量,并且旧消息没有被删除。集群上仍有数十万条超过 400 小时的消息。我考虑过添加进一步的配置设置,例如

segment.bytes
segment.ms
Run Code Online (Sandbox Code Playgroud)

为了更快地滚动分段,因为可能分段尚未滚动并且无法标记为删除 - 然而,相同的配置在其他集群中运行良好,尽管没有收到那么多流量。

apache-kafka aws-msk

5
推荐指数
1
解决办法
4447
查看次数

如何在 Kubernetes 中为 Kibana 设置入口

我刚刚使用https://medium.com/@timfpark/efk-logging-on-kubernetes-on-azure-4c54402459c4上的指南在我的 Kubernetes 集群上安装了一个 EFK 堆栈

我在通过代理访问它时让它工作,如指南中所述

http://localhost:8001/api/v1/namespaces/kube-system/services/kibana-logging/proxy

但是,我希望它通过我现有的入口控制器工作,所以我使用下面的 yaml 创建了一个新的入口规则:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
  generation: 2
  labels:
    app: kibana
  name: kibana
  namespace: kube-system
spec:
  rules:
  - host: kibana.dev.example1.com
    http:
      paths:
      - backend:
          serviceName: kibana-logging
          servicePort: 5601
        path: /
status:
  loadBalancer:
    ingress:
    - {}
Run Code Online (Sandbox Code Playgroud)

对于我的服务,它运行为:

apiVersion: v1
kind: Service
metadata:
  labels:
    addonmanager.kubernetes.io/mode: Reconcile
    k8s-app: kibana-logging
    kubernetes.io/cluster-service: "true"
    kubernetes.io/name: Kibana
  name: kibana-logging
  namespace: kube-system
spec:
  clusterIP: X.X.195.49
  ports:
  - port: 5601
    protocol: TCP
    targetPort: ui
  selector: …
Run Code Online (Sandbox Code Playgroud)

kibana kubernetes kubernetes-ingress

3
推荐指数
1
解决办法
6071
查看次数