云原生 | Kubernetes篇自建高可用k8s集群优化
Posted Lansonli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生 | Kubernetes篇自建高可用k8s集群优化相关的知识,希望对你有一定的参考价值。
文末有惊喜
文章目录
自建高可用k8s集群优化
一、Docker配置优化
# 所有节点执行
// max-concurrent-downloads: 最大并发下载
// "max-concurrent-uploads": 最大并发上传
// log-opts: 日志设置,单文件最大,最大几个文件
// 容器的日志都在 /var/lib/docker/containers/容器名/xxx.log
// "live-restore": 停机保活
vi /etc/docker/daemon.json
"registry-mirrors": [
"https://82m6ar63.mirror.aliyuncs.com"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"max-concurrent-downloads": 10,
"max-concurrent-uploads": 5,
"log-opts":
"max-size": "300m",
"max-file": "2"
,
"live-restore": true
systemctl daemon-reload && systemctl restart docker
二、优化kubelet
可参照官方文档: Kubelet 配置 (v1beta1) | Kubernetes
vi /etc/kubernetes/kubelet-conf.yml
# kubeReserved: kubelet预留资源
kubeReserved:
cpu: "500m"
memory: 300m
ephemeral-storage: 3Gi
systemReserved:
cpu: "200m"
memory: 500m
ephemeral-storage: 3Gi
验证集群kube-proxy使用ipvs模式工作; 10249是每个节点kube-proxy的metrics信息端口,可以访问/proxyMode或者/metrics等
curl 127.0.0.1:10249/proxyMode
三、时区问题
很多应用镜像时区都是UTC,而不是本机时间(当然,前提是本机时间是对的,云服务器不存在这个问题)
我们不用每一个Pod都设置挂载本地时间
apiVersion: settings.k8s.io/v1alpha1
kind: PodPreset
metadata:
name: allow-localtime
namespace: spinnaker
spec:
selector:
matchLabels:
volumeMounts:
- mountPath: /etc/localtime
name: localtime
volumes:
- name: localtime
hostPath:
path: etc/localtime
kubectl apply -f xxx.yaml
docker hub下载来的几乎所有Pod都是UTC时间。
java -- Pod -- UTC
这个需要开启特性门控
vi /usr/lib/systemd/system/kube-apiserver.service
# 1、添加 --runtime-config=settings.k8s.io/v1alpha1=true
# 2、添加 --enable-admission-plugins中加入 PodPreset
systemctl daemon-reload && systemctl restart kube-apiserver
可惜此特性在 1.20以后废弃了。
PodPreset(Pod 预设置)的功能从
v1.11
版本开始出现,但是又在v1.20
版本取消。
所以以后,使用Pod标准模板。挂载时区
volumeMounts:
- name: localtime
mountPath: /etc/localtime
volumes:
- name: localtime
hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai
文末惊喜
开发云特价优惠
- 📢博客主页:https://lansonli.blog.csdn.net
- 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
- 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
- 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
以上是关于云原生 | Kubernetes篇自建高可用k8s集群优化的主要内容,如果未能解决你的问题,请参考以下文章
云原生 | Kubernetes篇自建高可用k8s集群前置概念与操作
Kubernetes云原生实战03 搭建高可用负载均衡器(Keepalived 和 HAproxy)
Kubernetes云原生实战03 搭建高可用负载均衡器(Keepalived 和 HAproxy)