Before January the 11th 2018, we installed our Weave Cloud agents — flux, scope and prometheus — in the kube-system namespace. Mixing Weave Cloud agents with system components is arguably not something that should be done and we decided it was time to tidy things up and move them into their own dedicated weave namespace.

Since January the 11th 2018, our setup instructions will download Kubernetes manifests that only create objects in the weave namespace.

Unfortunately, the upgrade to the new manifests needs some manual steps:

  1. Remove deprecated objects from the kube-system namespace with:
kubectl delete deployments,pods,services,daemonsets,serviceaccounts,configmaps,clusterroles,clusterrolebindings,secrets --namespace kube-system -l 'app in (weave-flux, weave-cortex, weave-scope)' && \
kubectl delete deployments,pods,services,daemonsets,serviceaccounts,configmaps,clusterroles,clusterrolebindings,secrets --namespace kube-system -l 'name in (weave-flux, weave-cortex, weave-scope)' && \
kubectl delete secret --namespace kube-system flux-git-deploy
  1. Head to your instance in Weave Cloud, click on the cog icon, select “Agent status”, copy the Service token on the right hand side and run the following command:
    curl -Ls https://get.weave.works | sh -s -- --token=<SERVICE_TOKEN>
    

    (Be sure to replace SERVICE_TOKEN with the one you copied from the website.)

  2. Reconfigure Deploy with the git repository holding your Kubernetes manifests and a new key.