k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/cluster/gce/gci/node.yaml (about)

     1  #cloud-config
     2  
     3  write_files:
     4    - path: /etc/systemd/system/kube-node-installation.service
     5      permissions: 0644
     6      owner: root
     7      content: |
     8        [Unit]
     9        Description=Download and install k8s binaries and configurations
    10        After=network-online.target
    11  
    12        [Service]
    13        Type=oneshot
    14        RemainAfterExit=yes
    15        ExecStartPre=/bin/mkdir -p /home/kubernetes/bin
    16        ExecStartPre=/bin/mount --bind /home/kubernetes/bin /home/kubernetes/bin
    17        ExecStartPre=/bin/mount -o remount,exec /home/kubernetes/bin
    18        ExecStartPre=/usr/bin/curl --fail --retry 5 --retry-delay 3 --silent --show-error -H "X-Google-Metadata-Request: True" -o /home/kubernetes/bin/configure.sh http://metadata.google.internal/computeMetadata/v1/instance/attributes/configure-sh
    19        ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/configure.sh
    20        ExecStart=/home/kubernetes/bin/configure.sh
    21        StandardOutput=journal+console
    22  
    23        [Install]
    24        WantedBy=kubernetes.target
    25  
    26    - path: /etc/systemd/system/kube-node-configuration.service
    27      permissions: 0644
    28      owner: root
    29      content: |
    30        [Unit]
    31        Description=Configure kubernetes node
    32        After=kube-node-installation.service
    33  
    34        [Service]
    35        Type=oneshot
    36        RemainAfterExit=yes
    37        ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/configure-helper.sh
    38        ExecStart=/home/kubernetes/bin/configure-helper.sh
    39        StandardOutput=journal+console
    40  
    41        [Install]
    42        WantedBy=kubernetes.target
    43  
    44    - path: /etc/systemd/system/kube-container-runtime-monitor.service
    45      permissions: 0644
    46      owner: root
    47      content: |
    48        [Unit]
    49        Description=Kubernetes health monitoring for container runtime
    50        After=kube-node-configuration.service
    51  
    52        [Service]
    53        Restart=always
    54        RestartSec=10
    55        RemainAfterExit=yes
    56        RemainAfterExit=yes
    57        ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/health-monitor.sh
    58        ExecStart=/home/kubernetes/bin/health-monitor.sh container-runtime
    59  
    60        [Install]
    61        WantedBy=kubernetes.target
    62  
    63    - path: /etc/systemd/system/kubelet-monitor.service
    64      permissions: 0644
    65      owner: root
    66      content: |
    67        [Unit]
    68        Description=Kubernetes health monitoring for kubelet
    69        After=kube-node-configuration.service
    70  
    71        [Service]
    72        Restart=always
    73        RestartSec=10
    74        RemainAfterExit=yes
    75        RemainAfterExit=yes
    76        ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/health-monitor.sh
    77        ExecStart=/home/kubernetes/bin/health-monitor.sh kubelet
    78  
    79        [Install]
    80        WantedBy=kubernetes.target
    81  
    82    - path: /etc/systemd/system/kube-logrotate.timer
    83      permissions: 0644
    84      owner: root
    85      content: |
    86        [Unit]
    87        Description=Hourly kube-logrotate invocation
    88  
    89        [Timer]
    90        OnCalendar=hourly
    91  
    92        [Install]
    93        WantedBy=kubernetes.target
    94  
    95    - path: /etc/systemd/system/kube-logrotate.service
    96      permissions: 0644
    97      owner: root
    98      content: |
    99        [Unit]
   100        Description=Kubernetes log rotation
   101        After=kube-node-configuration.service
   102  
   103        [Service]
   104        Type=oneshot
   105        ExecStart=-/usr/sbin/logrotate /etc/logrotate.conf
   106  
   107        [Install]
   108        WantedBy=kubernetes.target
   109  
   110    - path: /etc/systemd/system/kubernetes.target
   111      permissions: 0644
   112      owner: root
   113      content: |
   114        [Unit]
   115        Description=Kubernetes
   116  
   117        [Install]
   118        WantedBy=multi-user.target
   119  
   120    - path: /etc/modprobe.d/sunrpc.conf
   121      permissions: 0644
   122      owner: root
   123      # The GKE metadata server uses ports 987-989, so the sunrpc range should be restricted to be below.
   124      content: |
   125        options sunrpc max_resvport=986
   126  
   127  runcmd:
   128   - systemctl daemon-reload
   129   - systemctl enable kube-node-installation.service
   130   - systemctl enable kube-node-configuration.service
   131   - systemctl enable kube-container-runtime-monitor.service
   132   - systemctl enable kubelet-monitor.service
   133   - systemctl enable kube-logrotate.timer
   134   - systemctl enable kube-logrotate.service
   135   - systemctl enable kubernetes.target
   136   - systemctl start kubernetes.target