部署项目以后日志打印和当前咱们所在的时间差8个小时,应该是国外的标准时区,只能改成咱们自己的时区,我的解决方式是这样的

默认k8s是没有开启PodPreset的,需要开启,命令如下


vim /etc/kubernetes/manifests/kube-apiserver.yaml


在末尾添加以下内容

- --runtime-config=settings.k8s.io/v1alpha1=true

再在enable-admission-plugins=NodeRestriction下加一个PodPreset

- --enable-admission-plugins=NodeRestriction,PodPreset

不用重启,默认改完自动加载了,我的k8s版本是1.18.14

解决k8s容器时区(差8小时)不一致问题_命名空间

重启kubelet

[root@ysc-k8s-m1 ~]# systemctl daemon-reload 
[root@ysc-k8s-m1 ~]# systemctl restart kubelet

然后我们写一个yaml文件,内容如下

vim time.yaml
apiVersion: settings.k8s.io/v1alpha1
kind: PodPreset
metadata:
name: allow-localtime
namespace: kuboard
spec:
selector:
matchLabels:
volumeMounts:
- mountPath: /etc/localtime
name: localtime
volumes:
- name: localtime
hostPath:
path: /etc/localtime

namespace之所以写​​kuboard​​​是因为我项目都是在​​kuboard​​命名空间下,那么这个命名空间都是可以支持当前这个时区的。

创建完以后就提交到K8s里

kubectl apply -f time.yaml

这样配置就大公告成了,然后k8s的项目需要重新重启。