2024-10-23 myluzh Kubernetes
0x01 部署yaml apiVersion: apps/v1 kind: Deployment metadata: name: nexus3 namespace: base-ops spec: replicas: 1 selector: matchLabels: workload.user.cattle.io/workloadselector: deployment-base-ops-nexus3 strategy: type: Recreate template: metadata: labels: workload.user.cattle.io/workloadselector: deployment-base-ops-nexus3 spec: containers: - name: nexus3 image: sonatype/nexus3:3.37.3 imagePullPolicy: IfNotPresent ...2023-12-4 myluzh Kubernetes
1、滚动更新之健康检查重要性 spec: containers: - name: my-container readinessProbe: tcpSocket: port: 9999 initialDelaySeconds: 60 periodSeconds: 10 livenessProbe: tcpSocket: port: 9999 initialDelaySeconds: 60 periodSeconds: 10 2、滚动更新之流量丢失解决方法(pod优雅退出) 这个操作的目的可能是为了在容器终止之前进行一些清理或收尾工作,例如保存临时数据或发送终止信号给其他进程。 spec: containers: - name: my-container lifecycle: preStop: exec: command: ...2023-11-7 myluzh Kubernetes
在JDK 1.8之前的版本中,Java本身并不了解Kubernetes中的资源限制,因此如果Java应用程序申请的资源超出了Pod的限制,Kubernetes将直接kill该Pod。 所以需要在Dockerfile中打包镜像时传递环境变量并将其传递给Java命令,可以按照以下步骤进行操作: 第一步:在Dockerfile中设置环境变量 ENV JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08" CMD java -jar $JAVA_OPTS xxx.jar 上述代码将环境变量JAVA_OPTS设置为$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08,并将其传递给Java命令。 第二步:在Kubernetes的YAML文件中设置环境变量和资源限制 apiVersion: v1 kind: Pod metadata: name: your-pod spec: containers: - name: your-container ...