MaaS Integration Changes (#20)
* update controller-manager image to support ceph * install ceph-common on all nodes * add upstream-dns to cleanup * pull promenade images to ensure they're up to date * force upstream dns configuration to be a string * make armada-loader use host networking This lets the pod come up right away regardless of network status. This just results in a cleaner startup, since kubelet tries to start it even if network isn't ready if it sees the manifest. * try to drain the node before exiting This is slow, but safer when ceph is running. * fix dnsmasq upstream configuration
This commit is contained in:
parent
bea2b14eeb
commit
b071b33a91
|
@ -2,17 +2,21 @@
|
||||||
|
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
|
export KUBECONFIG=/etc/kubernetes/admin/kubeconfig.yaml
|
||||||
|
kubectl drain --force $(hostname)
|
||||||
|
|
||||||
systemctl stop kubelet
|
systemctl stop kubelet
|
||||||
docker rm -fv $(docker ps -aq)
|
docker rm -fv $(docker ps -aq)
|
||||||
|
|
||||||
systemctl stop docker
|
systemctl stop docker
|
||||||
|
|
||||||
apt-get remove -qq -y dnsmasq
|
apt-get remove -qq -y dnsmasq ceph-common
|
||||||
|
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
|
|
||||||
rm -rf \
|
rm -rf \
|
||||||
/etc/dnsmasq.d/kubernetes-masters \
|
/etc/dnsmasq.d/kubernetes-masters \
|
||||||
|
/etc/dnsmasq.d/upstream-dns \
|
||||||
/etc/docker \
|
/etc/docker \
|
||||||
/etc/kubernetes \
|
/etc/kubernetes \
|
||||||
/etc/systemd/system/docker.service.d \
|
/etc/systemd/system/docker.service.d \
|
||||||
|
|
|
@ -62,6 +62,7 @@ if [ -f "${PROMENADE_LOAD_IMAGE}" ]; then
|
||||||
docker load -i "${PROMENADE_LOAD_IMAGE}"
|
docker load -i "${PROMENADE_LOAD_IMAGE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
docker pull quay.io/attcomdev/promenade:experimental
|
||||||
docker run -t --rm \
|
docker run -t --rm \
|
||||||
--net host \
|
--net host \
|
||||||
-v /:/target \
|
-v /:/target \
|
||||||
|
|
1
join.sh
1
join.sh
|
@ -62,6 +62,7 @@ if [ -f "${PROMENADE_LOAD_IMAGE}" ]; then
|
||||||
docker load -i "${PROMENADE_LOAD_IMAGE}"
|
docker load -i "${PROMENADE_LOAD_IMAGE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
docker pull quay.io/attcomdev/promenade:experimental
|
||||||
docker run -t --rm \
|
docker run -t --rm \
|
||||||
-v /:/target \
|
-v /:/target \
|
||||||
quay.io/attcomdev/promenade:experimental \
|
quay.io/attcomdev/promenade:experimental \
|
||||||
|
|
|
@ -1,9 +1 @@
|
||||||
no-hosts
|
server=/{{ config['Network']['cluster_domain'] }}/{{ config['Network']['cluster_dns'] }}
|
||||||
no-resolv
|
|
||||||
|
|
||||||
strict-order
|
|
||||||
|
|
||||||
server={{ config['Network']['cluster_dns'] }}
|
|
||||||
{%- for dns_server in config['Network']['dns_servers'] %}
|
|
||||||
server={{ dns_server }}
|
|
||||||
{%- endfor %}
|
|
||||||
|
|
|
@ -4,7 +4,10 @@ set -ex
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
apt-get install -y -qq --no-install-recommends dnsmasq socat
|
apt-get install -y --no-install-recommends \
|
||||||
|
ceph-common \
|
||||||
|
dnsmasq \
|
||||||
|
socat
|
||||||
|
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable kubelet
|
systemctl enable kubelet
|
||||||
|
|
|
@ -7,7 +7,8 @@ metadata:
|
||||||
labels:
|
labels:
|
||||||
addonmanager.kubernetes.io/mode: EnsureExists
|
addonmanager.kubernetes.io/mode: EnsureExists
|
||||||
data:
|
data:
|
||||||
upstreamNameservers: {{ config['Network']['dns_servers'] | tojson }}
|
upstreamNameservers: |-
|
||||||
|
{{ config['Network']['dns_servers'] | tojson }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
|
|
@ -8,6 +8,7 @@ metadata:
|
||||||
app: promenade
|
app: promenade
|
||||||
component: armada-loader
|
component: armada-loader
|
||||||
spec:
|
spec:
|
||||||
|
hostNetwork: true
|
||||||
containers:
|
containers:
|
||||||
- name: loader
|
- name: loader
|
||||||
image: quay.io/attcomdev/armada:master
|
image: quay.io/attcomdev/armada:master
|
||||||
|
|
|
@ -11,13 +11,11 @@ metadata:
|
||||||
scheduler.alpha.kubernetes.io/critical-pod: ''
|
scheduler.alpha.kubernetes.io/critical-pod: ''
|
||||||
spec:
|
spec:
|
||||||
hostNetwork: true
|
hostNetwork: true
|
||||||
dnsPolicy: Default # Don't use cluster DNS.
|
|
||||||
containers:
|
containers:
|
||||||
- name: kube-controller-manager
|
- name: kube-controller-manager
|
||||||
image: gcr.io/google_containers/hyperkube-amd64:v1.6.4
|
image: quay.io/attcomdev/kube-controller-manager:v1.6.4
|
||||||
command:
|
command:
|
||||||
- ./hyperkube
|
- kube-controller-manager
|
||||||
- controller-manager
|
|
||||||
- --allocate-node-cidrs=true
|
- --allocate-node-cidrs=true
|
||||||
- --cluster-cidr={{ config['Network']['pod_ip_cidr'] }}
|
- --cluster-cidr={{ config['Network']['pod_ip_cidr'] }}
|
||||||
- --cluster-signing-cert-file=/etc/kubernetes/controller-manager/pki/cluster-ca.pem
|
- --cluster-signing-cert-file=/etc/kubernetes/controller-manager/pki/cluster-ca.pem
|
||||||
|
|
Loading…
Reference in New Issue