我有一个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) 我有三个 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)
为了更快地滚动分段,因为可能分段尚未滚动并且无法标记为删除 - 然而,相同的配置在其他集群中运行良好,尽管没有收到那么多流量。
我刚刚使用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)