#cloud-config write_files: - path: /etc/systemd/system/enable-kube-apiserver.service owner: "root:root" permissions: "0644" content: | [Unit] Description=Configure Kubernetes API Server [Service] Type=oneshot EnvironmentFile=/etc/sysconfig/heat-params ExecStart=/etc/sysconfig/enable-kube-apiserver.sh [Install] WantedBy=multi-user.target - path: /etc/sysconfig/enable-kube-apiserver.sh owner: "root:root" permissions: "0755" content: | #!/bin/sh myip=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4) TLS_CERT_FILE=${KUBE_CERTS_PATH}/apiserver.pem TLS_PRIVATE_KEY_FILE=${KUBE_CERTS_PATH}/apiserver-key.pem CLIENT_CA_FILE=${KUBE_CERTS_PATH}/ca.pem INSECURE_PORT=8080 SECURE_PORT=${KUBE_API_PORT} BIND_ADDRESS_CMD="--bind-address=0.0.0.0" if [ "${TLS_DISABLED}" == "True" ]; then TLS_CERT_FILE= TLS_PRIVATE_KEY_FILE= CLIENT_CA_FILE= INSECURE_PORT=${KUBE_API_PORT} SECURE_PORT=0 BIND_ADDRESS_CMD="--insecure-bind-address=0.0.0.0" fi TEMPLATE=/etc/kubernetes/manifests/kube-apiserver.yaml mkdir -p $(dirname ${TEMPLATE}) cat > $TEMPLATE <