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

     1  #cloud-config
     2  
     3  users:
     4  - name: etcd
     5    homedir: /var/etcd
     6    lock_passwd: true
     7    ssh_redirect_user: true
     8  
     9  - name: kube-bootstrap-logs-forwarder
    10    gecos: User the kube-bootstrap-logs-forwarder.service runs as.
    11    system: true
    12  
    13  write_files:
    14    - path: /etc/systemd/system/kube-bootstrap-logs-forwarder.service
    15      permissions: 0644
    16      owner: root
    17      content: |
    18        [Unit]
    19        Description=Forwards Kubernetes bootstrap logs to serial port.
    20        Before=kube-master-installation.service
    21  
    22        [Service]
    23        User=kube-bootstrap-logs-forwarder
    24        Group=systemd-journal
    25        SupplementaryGroups=serial
    26        ExecStart=journalctl --no-tail --no-pager --follow --utc --output short-iso --unit kube-master-installation --unit kube-master-configuration --unit kubelet
    27        StandardOutput=tty
    28        TTYPath=/dev/ttyS2
    29  
    30        [Install]
    31        WantedBy=kubernetes.target
    32  
    33    - path: /etc/systemd/system/kube-master-installation.service
    34      permissions: 0644
    35      owner: root
    36      content: |
    37        [Unit]
    38        Description=Download and install k8s binaries and configurations
    39        Requires=network-online.target
    40        After=network-online.target
    41  
    42        [Service]
    43        Type=oneshot
    44        RemainAfterExit=yes
    45        ExecStartPre=/bin/mkdir -p /home/kubernetes/bin
    46        ExecStartPre=/bin/mount --bind /home/kubernetes/bin /home/kubernetes/bin
    47        ExecStartPre=/bin/mount -o remount,exec /home/kubernetes/bin
    48        ExecStartPre=/usr/bin/curl --fail --retry 600 --retry-delay 3 --retry-connrefused --connect-timeout 10 --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
    49        ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/configure.sh
    50        ExecStart=/home/kubernetes/bin/configure.sh
    51  
    52        [Install]
    53        WantedBy=kubernetes.target
    54  
    55    - path: /etc/systemd/system/kube-master-internal-route.service
    56      permissions: 0644
    57      owner: root
    58      content: |
    59        [Unit]
    60        Description=Configure kube internal route
    61        Requires=kube-master-installation.service
    62        After=kube-master-installation.service
    63  
    64        [Service]
    65        Type=oneshot
    66        RemainAfterExit=yes
    67        ExecStartPre=/usr/bin/curl --fail --retry 5 --retry-delay 3 --retry-connrefused --connect-timeout 10 --silent --show-error -H "X-Google-Metadata-Request: True" -o /home/kubernetes/bin/kube-master-internal-route.sh http://metadata.google.internal/computeMetadata/v1/instance/attributes/kube-master-internal-route
    68        ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/kube-master-internal-route.sh
    69        ExecStart=/home/kubernetes/bin/kube-master-internal-route.sh
    70  
    71        [Install]
    72        WantedBy=kubernetes.target
    73  
    74    - path: /etc/systemd/system/kube-master-configuration.service
    75      permissions: 0644
    76      owner: root
    77      content: |
    78        [Unit]
    79        Description=Configure kubernetes master
    80        Requires=kube-master-installation.service
    81        After=kube-master-installation.service
    82  
    83        [Service]
    84        Type=oneshot
    85        RemainAfterExit=yes
    86        ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/configure-helper.sh
    87        ExecStart=/home/kubernetes/bin/configure-helper.sh
    88        ExecStartPost=systemctl stop kube-bootstrap-logs-forwarder.service
    89  
    90        [Install]
    91        WantedBy=kubernetes.target
    92  
    93    - path: /etc/systemd/system/kube-container-runtime-monitor.service
    94      permissions: 0644
    95      owner: root
    96      content: |
    97        [Unit]
    98        Description=Kubernetes health monitoring for container runtime
    99        After=kube-master-configuration.service
   100  
   101        [Service]
   102        Restart=always
   103        RestartSec=10
   104        RemainAfterExit=yes
   105        ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/health-monitor.sh
   106        ExecStart=/home/kubernetes/bin/health-monitor.sh container-runtime
   107  
   108        [Install]
   109        WantedBy=kubernetes.target
   110  
   111    - path: /etc/systemd/system/kubelet-monitor.service
   112      permissions: 0644
   113      owner: root
   114      content: |
   115        [Unit]
   116        Description=Kubernetes health monitoring for kubelet
   117        After=kube-master-configuration.service
   118  
   119        [Service]
   120        Restart=always
   121        RestartSec=10
   122        RemainAfterExit=yes
   123        ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/health-monitor.sh
   124        ExecStart=/home/kubernetes/bin/health-monitor.sh kubelet
   125  
   126        [Install]
   127        WantedBy=kubernetes.target
   128  
   129    - path: /etc/systemd/system/kube-logrotate.timer
   130      permissions: 0644
   131      owner: root
   132      content: |
   133        [Unit]
   134        Description=kube-logrotate invocation
   135  
   136        [Timer]
   137        OnCalendar=*-*-* *:00/5:00
   138  
   139        [Install]
   140        WantedBy=kubernetes.target
   141  
   142    - path: /etc/systemd/system/kube-logrotate.service
   143      permissions: 0644
   144      owner: root
   145      content: |
   146        [Unit]
   147        Description=Kubernetes log rotation
   148        After=kube-master-configuration.service
   149  
   150        [Service]
   151        Type=oneshot
   152        ExecStart=-/usr/sbin/logrotate /etc/logrotate.conf
   153  
   154        [Install]
   155        WantedBy=kubernetes.target
   156  
   157    - path: /etc/systemd/system/kubernetes.target
   158      permissions: 0644
   159      owner: root
   160      content: |
   161        [Unit]
   162        Description=Kubernetes
   163  
   164        [Install]
   165        WantedBy=multi-user.target
   166  
   167  runcmd:
   168   - systemctl daemon-reload
   169   - systemctl enable kube-bootstrap-logs-forwarder.service
   170   - systemctl enable kube-master-installation.service
   171   - systemctl enable kube-master-internal-route.service
   172   - systemctl enable kube-master-configuration.service
   173   - systemctl enable kube-container-runtime-monitor.service
   174   - systemctl enable kubelet-monitor.service
   175   - systemctl enable kube-logrotate.timer
   176   - systemctl enable kube-logrotate.service
   177   - systemctl enable kubernetes.target
   178   - systemctl start kubernetes.target