From 3674b3617a770bd71d09e23137ff96f90eb1241a Mon Sep 17 00:00:00 2001 From: Spyros Trigazis Date: Mon, 30 Sep 2019 15:47:31 +0000 Subject: [PATCH] k8s_atomic: Run all syscontainer with podman Using the atomic cli to install kubelet breaks mount propagation of secrets, configmaps and so on. Using podman in a systemd unit works. Additionally, with this change all atomic commands are dropped, containers are pulled from gcr.io (ofiicial kubernetes containers). Finally, after this patch only by starting the heat-agent with ignition, we can use fedora coreos as a drop-in replacement. * Drop del of docker0 This command to remove docker0 is carried from earlier versions of docker. This is not an issue anymore. story: 2006459 task: 36871 Change-Id: I2ed8e02f5295e48d371ac9e1aff2ad5d30d0c2bd Signed-off-by: Spyros Trigazis --- .../kubernetes/fragments/configure-etcd.sh | 111 +++++++--- .../fragments/configure-kubernetes-master.sh | 206 ++++++++++++++++-- .../fragments/configure-kubernetes-minion.sh | 108 +++++++-- .../fragments/enable-services-master.sh | 2 +- .../fragments/enable-services-minion.sh | 3 +- .../fragments/start-container-agent.sh | 45 +++- .../fragments/upgrade-kubernetes.sh | 43 ++-- .../templates/kubecluster.yaml | 2 +- 8 files changed, 417 insertions(+), 103 deletions(-) diff --git a/magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh b/magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh index a0f9b0d066..7ef2a8156a 100644 --- a/magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh +++ b/magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh @@ -50,12 +50,30 @@ if [ -n "$ETCD_VOLUME_SIZE" ] && [ "$ETCD_VOLUME_SIZE" -gt 0 ]; then fi -_prefix=${CONTAINER_INFRA_PREFIX:-docker.io/openstackmagnum/} -$ssh_cmd atomic install \ ---system-package no \ ---system \ ---storage ostree \ ---name=etcd ${_prefix}etcd:${ETCD_TAG} +cat > /etc/systemd/system/etcd.service < /etc/etcd/etcd.conf < /etc/etcd/etcd.conf.yaml <> /etc/etcd/etcd.conf <> /etc/etcd/etcd.conf.yaml <> /etc/etcd/etcd.conf +if [ "$TLS_DISABLED" = "False" ]; then + + cat >> /etc/etcd/etcd.conf.yaml <> /etc/sysctl.conf @@ -49,16 +46,193 @@ fi mkdir -p /srv/magnum/kubernetes/ -cat > /srv/magnum/kubernetes/install-kubernetes.sh < /etc/kubernetes/config < /etc/kubernetes/kubelet < /etc/kubernetes/apiserver < /etc/kubernetes/controller-manager < /etc/kubernetes/scheduler< /etc/kubernetes/proxy < /etc/systemd/system/kube-apiserver.service < /etc/systemd/system/kube-controller-manager.service < /etc/systemd/system/kube-scheduler.service < /etc/systemd/system/kubelet.service < /etc/systemd/system/kube-proxy.service < /srv/magnum/kubernetes/install-kubernetes.sh < /etc/kubernetes/config < /etc/kubernetes/kubelet < /etc/kubernetes/proxy < /etc/systemd/system/kubelet.service < /etc/systemd/system/kube-proxy.service < /etc/kubernetes/get_require_kubeconfig.sh < /etc/systemd/system/heat-container-agent.service <> /etc/sysconfig/heat-params for service in ${SERVICE_LIST}; do - systemctl restart ${service} + ${ssh_cmd} systemctl start ${service} done - ${ssh_cmd} /var/lib/containers/atomic/heat-container-agent.0/rootfs/usr/bin/kubectl --kubeconfig /etc/kubernetes/kubelet-config.yaml uncordon ${INSTANCE_NAME} - - for service in ${SERVICE_LIST}; do - ${ssh_cmd} atomic --assumeyes images "delete docker.io/openstackmagnum/${service_image_mapping[${service}]}:${KUBE_TAG}" + i=0 + until kubectl uncordon ${INSTANCE_NAME} + do + ((i++)) + [ $i -lt 30 ] || break; + echo "Trying to uncordon node..." + sleep 5s done - - ${ssh_cmd} atomic images prune - - # Appending the new KUBE_TAG into the heat-parms to log and indicate the current k8s version - echo "KUBE_TAG=$new_kube_tag" >> /etc/sysconfig/heat-params fi diff --git a/magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml b/magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml index dc1703ce45..e5c086ce62 100644 --- a/magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml +++ b/magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml @@ -434,7 +434,7 @@ parameters: etcd_tag: type: string description: tag of the etcd system container - default: v3.2.7 + default: 3.2.26 coredns_tag: type: string