本文主要为您介绍如何为运行在virtual-kubelet上的Pod配置NTP服务,当用户使用Pod部署应用时,希望Pod内运行容器使用用户自己的NTP做时间同步。您可以参考此文档。

前提条件

升级virtual-kubelet到最新版本,升级方式:

  • 阿里云 Serverless kubernetes集群:由管理员统一负责升级
  • 阿里云 托管 kubernetes集群:用户更新
  • 阿里云 专有 kubernetes集群:用户更新
  • 阿里云 自建 kubernetes集群:用户更新

Yaml示例

需要在Pod的Annotations中增加k8s.aliyun.com/eci-ntp-server注解,指明需要配置的NTP服务的IP地址。

$ cat set-ntp-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  annotations:
    k8s.aliyun.com/eci-ntp-server: 100.100.5.1  # 设置您的NTP服务器地址
  name: set-custom-ntp
spec:
  nodeName: virtual-kubelet
  containers:
    - image: centos:latest
      command:
        - sleep
        - "3600"
      imagePullPolicy: IfNotPresent
      name: centos

创建Pod:

$ kubectl apply -f set-ntp-pod.yaml

验证

登录到容器,验证NTP服务是否设置成功。

$ 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
[root@default-set-custom-ntp /]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last                            sample
===============================================================================
^* 100.100.5.1                    2           6     377     35       +40us[ +135us] +/-   14ms	

100.100.5.1已经在容器中设置成功。