本文主要介绍如何为运行在Virtual Node上的Pod配置NTP服务。当您在部署应用时,如果需要Pod内的容器能与NTP服务进行时间同步,您可以参考本文进行配置。
前提条件
已将Virtual Node升级到最新版本。具体操作,请参见升级Virtual Node。
背景信息
对于不同的Kubernetes集群,Virtual Node的升级支持情况如下:
阿里云ASK集群:自动升级Virtual Node。
阿里云ACK集群:分为托管版和专有版。托管版自动升级Virtual Node,专有版需要您手动升级Virtual Node。
自建集群:在ECS上或者线下自建的集群,需要您手动升级Virtual Node。
操作步骤
您需要在Pod的Annotations中增加k8s.aliyun.com/eci-ntp-server
注解,设置需要配置的NTP服务的IP地址。
创建配置NTP服务的YAML文件。
vim set-ntp-pod.yaml
以下为YAML文件的内容示例:
apiVersion: v1 kind: Pod metadata: annotations: k8s.aliyun.com/eci-ntp-server: 10.10.5.1 # 设置您的NTP服务的IP地址 name: set-custom-ntp spec: nodeName: virtual-kubelet containers: - image: centos:latest command: - sleep - "3600" imagePullPolicy: IfNotPresent name: centos
将YAML文件中的配置应用到Pod。
kubectl apply -f set-ntp-pod.yaml
验证结果
登录到容器,验证NTP服务是否设置成功。
获取Pod信息。
kubectl get pod/set-custom-ntp
返回示例如下:
NAME READY STATUS RESTARTS AGE set-custom-ntp 1/1 Running 0 7m20s
进入容器。
kubectl exec set-custom-ntp -it -- bash
查询容器的时间来源。
chronyc sources
如果返回了NTP服务的IP地址,则表示设置成功。返回示例如下:
210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 10.10.5.1 2 6 377 35 +40us[ +135us] +/- 14ms