OpenShift4 节点TimeZone修改
# TimeZone修改
## 1. 新建一个修改TimeZone的脚本
**cat change_timezone_to_shanghai.sh**
```
#!/bin/sh
set -eux
MD5_DST=$(md5sum /usr/share/zoneinfo/Asia/Shanghai | awk '{print $1}')
MD5_SRC=$(md5sum /etc/localtime | awk '{print $1}')
if [[ "${MD5_DST}" != "${MD5_SRC}" ]]; then
rm -rf /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
fi
```
## 2.将该脚本编码为base64格式
**cat change_timezone_to_shanghai.sh | base64 -w0**
`IyEvYmluL3NoCnNldCAtZXV4CgpNRDVfRFNUPSQobWQ1c3VtIC91c3Ivc2hhcmUvem9uZWluZm8vQXNpYS9TaGFuZ2hhaSB8IGF3ayAne3ByaW50ICQxfScpCk1ENV9TUkM9JChtZDVzdW0gL2V0Yy9sb2NhbHRpbWUgfCBhd2sgJ3twcmludCAkMX0nKQoKaWYgW1sgIiR7TUQ1X0RTVH0iICE9ICIke01ENV9TUkN9IiBdXTsgdGhlbgogICAgcm0gLXJmIC9ldGMvbG9jYWx0aW1lCiAgICBjcCAvdXNyL3NoYXJlL3pvbmVpbmZvL0FzaWEvU2hhbmdoYWkgL2V0Yy9sb2NhbHRpbWUKZmkK`
## 3.在`10-worker.yaml`中添加timezone-99bill.service服务和/usr/local/sbin/timezone.sh文件
**cat 10-worker.yaml**
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
annotations:
labels:
machineconfiguration.openshift.io/role: worker
name: 10-worker
spec:
config:
ignition:
version: 2.2.0
storage:
files:
- contents:
source: data:text/plain;charset=utf-8;base64,IyEvYmluL3NoCnNldCAtZXV4CgpNRDVfRFNUPSQobWQ1c3VtIC91c3Ivc2hhcmUvem9uZWluZm8vQXNpYS9TaGFuZ2hhaSB8IGF3ayAne3ByaW50ICQxfScpCk1ENV9TUkM9JChtZDVzdW0gL2V0Yy9sb2NhbHRpbWUgfCBhd2sgJ3twcmludCAkMX0nKQoKaWYgW1sgIiR7TUQ1X0RTVH0iICE9ICIke01ENV9TUkN9IiBdXTsgdGhlbgogICAgcm0gLXJmIC9ldGMvbG9jYWx0aW1lCiAgICBjcCAvdXNyL3NoYXJlL3pvbmVpbmZvL0FzaWEvU2hhbmdoYWkgL2V0Yy9sb2NhbHRpbWUKZmkK
filesystem: root
mode: 493
path: /usr/local/sbin/timezone.sh
systemd:
units:
- contents: |
[Unit]
Description=Modify Timezone to Asia/Shanghai
After=NetworkManager.service
[Service]
Type=oneshot
RemainAfterExit=yes
User=root
# SystemD prevents direct execution of the script in /usr/local/sbin,
# so it is sourced. See the script for functionality.
ExecStart=/usr/local/sbin/timezone.sh
# Wait up to 5min for the node to get a real hostname.
TimeoutSec=300
[Install]
WantedBy=multi-user.target
enabled: true
name: timezone.service
## 4. 部署该MC
```
oc apply -f 10-worker.yaml
```
这样,worker节点的时区就会改成Shanghai,如果要修改master节点的时区,可以按照上述方法新增master节点的相关mc对象即可。