本文主要介绍如何为ECI Pod配置NTP服务。当您在部署应用时,如果需要Pod内的容器能与NTP服务进行时间同步,您可以参考本文进行配置。
配置说明
创建ECI Pod时,可以为Pod添加k8s.aliyun.com/eci-ntp-server
的Annotation来指定NTP服务器的地址,使得Pod内的容器能与NTP服务进行时间同步。
重要
Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。
仅支持在创建ECI Pod时添加ECI相关Annotation来生效ECI功能,更新ECI Pod时添加或者修改ECI相关Annotation均不会生效。
配置示例
创建配置NTP服务的应用。
kubectl create -f set-ntp.yaml
set-ntp.yaml的内容示例如下:
apiVersion: apps/v1 kind: Deployment metadata: name: test-ntp labels: app: test spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: name: test-ntp labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-ntp-server: 100.100.XX.XX # 设置您的NTP服务器的IP地址 spec: containers: - name: nginx image: registry.cn-shanghai.aliyuncs.com/eci_open/centos:7 ports: - containerPort: 80 command: ["/bin/sh","-c","sleep 3600" ]
登录到容器,验证NTP服务是否设置成功。
获取Pod信息。
kubectl get pod
预期返回:
NAME READY STATUS RESTARTS AGE test-ntp-599d5ff9f5-9kb56 1/1 Running 0 3m59s
进入容器。
kubectl exec -it test-ntp-599d5ff9f5-9kb56 -- bash
查询容器的时间来源。
chronyc sources
说明如果没有安装chrony,可执行
yum -y install chrony
进行安装。如果返回了NTP服务器的IP地址,则表示设置成功。返回示例如下:
210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 100.100.XX.XX 2 6 377 35 +40us[ +135us] +/- 14ms