promenade/promenade/templates/genesis/etc/kubernetes/kubelet/manifests/asset-loader.yaml

61 lines
1.6 KiB
YAML

---
apiVersion: v1
kind: Pod
metadata:
name: asset-loader
namespace: kube-system
labels:
app: promenade
component: asset-loader
spec:
dnsPolicy: Default # Don't use cluster DNS.
hostNetwork: true
containers:
- name: loader
image: gcr.io/google_containers/hyperkube-amd64:v1.6.4
command:
- /bin/bash
- -c
- |-
set -x
export KUBECONFIG=/etc/kubernetes/asset-loader/kubeconfig.yaml
DELAY=20
while ! /kubectl apply -f /etc/kubernetes/asset-loader/cni; do
sleep $DELAY
done
while ! /kubectl get nodes | tail -n +2 | grep Ready; do
sleep $DELAY
done
while ! /kubectl apply -f /etc/kubernetes/asset-loader/dns; do
sleep $DELAY
done
while ! /kubectl -n kube-system get pods | grep dns | grep Running; do
sleep $DELAY
done
while ! /kubectl apply -f /etc/kubernetes/asset-loader/assets; do
sleep $DELAY
done
rm -rf /etc/kubernetes/kubelet/manifests/asset-loader.yaml
# Sleep so that kubelet doesn't restart this pod before it kills it
sleep 10000
volumeMounts:
- name: config
mountPath: /etc/kubernetes/asset-loader
readOnly: true
- name: manifests
mountPath: /etc/kubernetes/kubelet/manifests
volumes:
- name: config
hostPath:
path: /etc/kubernetes/asset-loader
- name: manifests
hostPath:
path: /etc/kubernetes/kubelet/manifests