linux怎么查看本机内存大小
363
2022-09-09
#云原生征文#自建高可用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": [ " ], "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: 3GisystemReserved: 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/v1alpha1kind: PodPresetmetadata: name: allow-localtime namespace: spinnakerspec: 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中加入 PodPresetsystemctl 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://ost./posts/12598
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~