部署项目以后日志打印和当前咱们所在的时间差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
重启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的项目需要重新重启。