123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- #cloud-config
- write_files:
- - path: /etc/systemd/system/kube-node-installation.service
- permissions: 0644
- owner: root
- content: |
- [Unit]
- Description=Download and install k8s binaries and configurations
- After=network-online.target
- [Service]
- Type=oneshot
- RemainAfterExit=yes
- ExecStartPre=/bin/mkdir -p /home/kubernetes/bin
- ExecStartPre=/bin/mount --bind /home/kubernetes/bin /home/kubernetes/bin
- ExecStartPre=/bin/mount -o remount,exec /home/kubernetes/bin
- # Use --retry-connrefused opt only if it's supported by curl.
- ExecStartPre=/bin/bash -c 'OPT=""; if curl --help | grep -q -- "--retry-connrefused"; then OPT="--retry-connrefused"; fi; /usr/bin/curl --fail --retry 5 --retry-delay 3 $OPT --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'
- ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/configure.sh
- ExecStart=/home/kubernetes/bin/configure.sh
- [Install]
- WantedBy=kubernetes.target
- - path: /etc/systemd/system/kube-node-configuration.service
- permissions: 0644
- owner: root
- content: |
- [Unit]
- Description=Configure kubernetes node
- After=kube-node-installation.service
- [Service]
- Type=oneshot
- RemainAfterExit=yes
- ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/configure-helper.sh
- ExecStart=/home/kubernetes/bin/configure-helper.sh
- [Install]
- WantedBy=kubernetes.target
- - path: /etc/systemd/system/kube-container-runtime-monitor.service
- permissions: 0644
- owner: root
- content: |
- [Unit]
- Description=Kubernetes health monitoring for container runtime
- After=kube-node-configuration.service
- [Service]
- Restart=always
- RestartSec=10
- RemainAfterExit=yes
- RemainAfterExit=yes
- ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/health-monitor.sh
- ExecStart=/home/kubernetes/bin/health-monitor.sh container-runtime
- [Install]
- WantedBy=kubernetes.target
- - path: /etc/systemd/system/kubelet-monitor.service
- permissions: 0644
- owner: root
- content: |
- [Unit]
- Description=Kubernetes health monitoring for kubelet
- After=kube-node-configuration.service
- [Service]
- Restart=always
- RestartSec=10
- RemainAfterExit=yes
- RemainAfterExit=yes
- ExecStartPre=/bin/chmod 544 /home/kubernetes/bin/health-monitor.sh
- ExecStart=/home/kubernetes/bin/health-monitor.sh kubelet
- [Install]
- WantedBy=kubernetes.target
- - path: /etc/systemd/system/kube-logrotate.timer
- permissions: 0644
- owner: root
- content: |
- [Unit]
- Description=Hourly kube-logrotate invocation
- [Timer]
- OnCalendar=hourly
- [Install]
- WantedBy=kubernetes.target
- - path: /etc/systemd/system/kube-logrotate.service
- permissions: 0644
- owner: root
- content: |
- [Unit]
- Description=Kubernetes log rotation
- After=kube-node-configuration.service
- [Service]
- Type=oneshot
- ExecStart=-/usr/sbin/logrotate /etc/logrotate.conf
- [Install]
- WantedBy=kubernetes.target
- - path: /etc/systemd/system/kubernetes.target
- permissions: 0644
- owner: root
- content: |
- [Unit]
- Description=Kubernetes
- [Install]
- WantedBy=multi-user.target
- runcmd:
- - systemctl daemon-reload
- - systemctl enable kube-node-installation.service
- - systemctl enable kube-node-configuration.service
- - systemctl enable kube-container-runtime-monitor.service
- - systemctl enable kubelet-monitor.service
- - systemctl enable kube-logrotate.timer
- - systemctl enable kube-logrotate.service
- - systemctl enable kubernetes.target
- - systemctl start kubernetes.target
|