diff --git a/Makefile b/Makefile index 9ce8df0052..1bd31e936f 100644 --- a/Makefile +++ b/Makefile @@ -135,6 +135,8 @@ ci-build-images: @./build/build-image.sh images/fluentd fluentd @./build/build-image.sh images/nginx-controller nginx-controller @./build/build-image.sh images/nginx-backend nginx-backend + @./build/build-image.sh images/weave-kube weave-kube + @./build/build-image.sh images/weave-npc weave-npc @./build/build-image.sh images/python-packager python-packager @./build/build-image.sh images/cluster-autoscaler cluster-autoscaler @./build/build-image.sh images/nvidia nvidia @@ -155,6 +157,8 @@ ci-push-images: @./build/push-image.sh fluentd @./build/push-image.sh nginx-controller @./build/push-image.sh nginx-backend + @./build/push-image.sh weave-kube + @./build/push-image.sh weave-npc @./build/push-image.sh python-packager @./build/push-image.sh cluster-autoscaler @./build/push-image.sh nvidia diff --git a/cortex.sh b/cortex.sh index d6d868e27d..7508102bed 100755 --- a/cortex.sh +++ b/cortex.sh @@ -120,6 +120,8 @@ export CORTEX_IMAGE_MANAGER="${CORTEX_IMAGE_MANAGER:-cortexlabs/manager:$CORTEX_ export CORTEX_IMAGE_FLUENTD="${CORTEX_IMAGE_FLUENTD:-cortexlabs/fluentd:$CORTEX_VERSION_STABLE}" export CORTEX_IMAGE_NGINX_BACKEND="${CORTEX_IMAGE_NGINX_BACKEND:-cortexlabs/nginx-backend:$CORTEX_VERSION_STABLE}" export CORTEX_IMAGE_NGINX_CONTROLLER="${CORTEX_IMAGE_NGINX_CONTROLLER:-cortexlabs/nginx-controller:$CORTEX_VERSION_STABLE}" +export CORTEX_IMAGE_WEAVE_KUBE="${CORTEX_IMAGE_WEAVE_KUBE:-cortexlabs/weave-kube:$CORTEX_VERSION_STABLE}" +export CORTEX_IMAGE_WEAVE_NPC="${CORTEX_IMAGE_WEAVE_NPC:-cortexlabs/weave-npc:$CORTEX_VERSION_STABLE}" export CORTEX_IMAGE_OPERATOR="${CORTEX_IMAGE_OPERATOR:-cortexlabs/operator:$CORTEX_VERSION_STABLE}" export CORTEX_IMAGE_SPARK="${CORTEX_IMAGE_SPARK:-cortexlabs/spark:$CORTEX_VERSION_STABLE}" export CORTEX_IMAGE_SPARK_OPERATOR="${CORTEX_IMAGE_SPARK_OPERATOR:-cortexlabs/spark-operator:$CORTEX_VERSION_STABLE}" @@ -151,6 +153,8 @@ function install_eks() { -e CORTEX_NODE_TYPE=$CORTEX_NODE_TYPE \ -e CORTEX_NODES_MIN=$CORTEX_NODES_MIN \ -e CORTEX_NODES_MAX=$CORTEX_NODES_MAX \ + -e CORTEX_IMAGE_WEAVE_KUBE=$CORTEX_IMAGE_WEAVE_KUBE \ + -e CORTEX_IMAGE_WEAVE_NPC=$CORTEX_IMAGE_WEAVE_NPC \ $CORTEX_IMAGE_MANAGER } diff --git a/dev/registry.sh b/dev/registry.sh index 068012f352..7b7af73bc6 100755 --- a/dev/registry.sh +++ b/dev/registry.sh @@ -39,6 +39,8 @@ function create_registry() { aws ecr create-repository --repository-name=cortexlabs/fluentd --region=$REGISTRY_REGION || true aws ecr create-repository --repository-name=cortexlabs/nginx-backend --region=$REGISTRY_REGION || true aws ecr create-repository --repository-name=cortexlabs/nginx-controller --region=$REGISTRY_REGION || true + aws ecr create-repository --repository-name=cortexlabs/weave-kube --region=$REGISTRY_REGION || true + aws ecr create-repository --repository-name=cortexlabs/weave-npc --region=$REGISTRY_REGION || true aws ecr create-repository --repository-name=cortexlabs/operator --region=$REGISTRY_REGION || true aws ecr create-repository --repository-name=cortexlabs/spark --region=$REGISTRY_REGION || true aws ecr create-repository --repository-name=cortexlabs/spark-operator --region=$REGISTRY_REGION || true @@ -134,6 +136,8 @@ elif [ "$cmd" = "update" ]; then build_and_push $ROOT/images/tf-train tf-train latest build_and_push $ROOT/images/tf-train-gpu tf-train-gpu latest build_and_push $ROOT/images/nginx-controller nginx-controller latest + build_and_push $ROOT/images/weave-kube weave-kube latest + build_and_push $ROOT/images/weave-npc weave-npc latest build_and_push $ROOT/images/nginx-backend nginx-backend latest build_and_push $ROOT/images/fluentd fluentd latest build_and_push $ROOT/images/tf-serve tf-serve latest diff --git a/docs/cluster/config.md b/docs/cluster/config.md index 5858023cf1..d92fd630c0 100644 --- a/docs/cluster/config.md +++ b/docs/cluster/config.md @@ -43,6 +43,8 @@ export CORTEX_IMAGE_MANAGER="cortexlabs/manager:master" export CORTEX_IMAGE_FLUENTD="cortexlabs/fluentd:master" export CORTEX_IMAGE_NGINX_BACKEND="cortexlabs/nginx-backend:master" export CORTEX_IMAGE_NGINX_CONTROLLER="cortexlabs/nginx-controller:master" +export CORTEX_IMAGE_WEAVE_KUBE="cortexlabs/weave-kube:master" +export CORTEX_IMAGE_WEAVE_NPC="cortexlabs/weave-npc:master" export CORTEX_IMAGE_OPERATOR="cortexlabs/operator:master" export CORTEX_IMAGE_SPARK="cortexlabs/spark:master" export CORTEX_IMAGE_SPARK_OPERATOR="cortexlabs/spark-operator:master" diff --git a/docs/cluster/development.md b/docs/cluster/development.md index 5f95801977..79aa53d6be 100644 --- a/docs/cluster/development.md +++ b/docs/cluster/development.md @@ -59,6 +59,8 @@ export CORTEX_IMAGE_MANAGER="XXXXXXXX.dkr.ecr.us-west-2.amazonaws.com/cortexlabs export CORTEX_IMAGE_FLUENTD="XXXXXXXX.dkr.ecr.us-west-2.amazonaws.com/cortexlabs/fluentd:latest" export CORTEX_IMAGE_NGINX_BACKEND="XXXXXXXX.dkr.ecr.us-west-2.amazonaws.com/cortexlabs/nginx-backend:latest" export CORTEX_IMAGE_NGINX_CONTROLLER="XXXXXXXX.dkr.ecr.us-west-2.amazonaws.com/cortexlabs/nginx-controller:latest" +export CORTEX_IMAGE_WEAVE_KUBE="XXXXXXXX.dkr.ecr.us-west-2.amazonaws.com/cortexlabs/weave-kube:latest" +export CORTEX_IMAGE_WEAVE_NPC="XXXXXXXX.dkr.ecr.us-west-2.amazonaws.com/cortexlabs/weave-npc:latest" export CORTEX_IMAGE_ONNX_SERVE="XXXXXXXX.dkr.ecr.us-west-2.amazonaws.com/cortexlabs/onnx-serve:latest" export CORTEX_IMAGE_ONNX_SERVE_GPU="XXXXXXXX.dkr.ecr.us-west-2.amazonaws.com/cortexlabs/onnx-serve-gpu:latest" export CORTEX_IMAGE_OPERATOR="XXXXXXXX.dkr.ecr.us-west-2.amazonaws.com/cortexlabs/operator:latest" diff --git a/images/weave-kube/Dockerfile b/images/weave-kube/Dockerfile new file mode 100644 index 0000000000..1a5a8fe2cf --- /dev/null +++ b/images/weave-kube/Dockerfile @@ -0,0 +1 @@ +FROM docker.io/weaveworks/weave-kube:2.5.2 diff --git a/images/weave-npc/Dockerfile b/images/weave-npc/Dockerfile new file mode 100644 index 0000000000..e0ca31b7dc --- /dev/null +++ b/images/weave-npc/Dockerfile @@ -0,0 +1 @@ +FROM docker.io/weaveworks/weave-npc:2.5.2 diff --git a/manager/install_eks.sh b/manager/install_eks.sh index bacec2e871..30aba33c2a 100755 --- a/manager/install_eks.sh +++ b/manager/install_eks.sh @@ -21,11 +21,19 @@ echo -e "\nSpinning up the cluster ... (this will take about 15 minutes)\n" eksctl create cluster --name=$CORTEX_CLUSTER \ --region=$CORTEX_REGION \ --zones=$CORTEX_ZONES \ - --node-type=$CORTEX_NODE_TYPE \ - --nodes-min=$CORTEX_NODES_MIN \ - --nodes-max=$CORTEX_NODES_MAX \ - --node-ami=auto \ - --version=1.13 \ - --asg-access + --without-nodegroup \ + --version=1.13 + +# Replace AWS CNI with weave-net +kubectl delete daemonset aws-node -n kube-system >/dev/null +envsubst < manifests/weave-net.yaml | kubectl apply -f - >/dev/null + +eksctl create nodegroup --cluster=$CORTEX_CLUSTER \ + --node-type=$CORTEX_NODE_TYPE \ + --nodes-min=$CORTEX_NODES_MIN \ + --nodes-max=$CORTEX_NODES_MAX \ + --node-ami=auto \ + --max-pods-per-node=1000 \ + --asg-access echo -e "\n✓ Spun up the cluster" diff --git a/manager/manifests/weave-net.yaml b/manager/manifests/weave-net.yaml new file mode 100644 index 0000000000..3a52c11726 --- /dev/null +++ b/manager/manifests/weave-net.yaml @@ -0,0 +1,270 @@ +# Copyright 2019 Cortex Labs, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Source: https://cloud.weave.works/k8s/net?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxNSIsIEdpdFZlcnNpb246InYxLjE1LjAiLCBHaXRDb21taXQ6ImU4NDYyYjViNWRjMjU4NGZkY2QxOGU2YmNmZTlmMWU0ZDk3MGE1MjkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE5LTA2LTE5VDE2OjQwOjE2WiIsIEdvVmVyc2lvbjoiZ28xLjEyLjUiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjEzKyIsIEdpdFZlcnNpb246InYxLjEzLjctZWtzLWM1N2ZmOCIsIEdpdENvbW1pdDoiYzU3ZmY4ZTM1NTkwOTMyYzY1MjQzM2ZhYjA3OTg4ZGE3OTI2NWQ1YiIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTktMDYtMDdUMjA6NDM6MDNaIiwgR29WZXJzaW9uOiJnbzEuMTEuNSIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg== + +# To update: +# 1. Get shell in the manager, e.g. by modifying cortex.sh to run this command: docker run -it --entrypoint /bin/bash -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -e CORTEX_CLUSTER=$CORTEX_CLUSTER -e CORTEX_REGION=$CORTEX_REGION $CORTEX_IMAGE_MANAGER; exit 0 +# 2. eksctl utils write-kubeconfig --name=$CORTEX_CLUSTER --region=$CORTEX_REGION +# 3. curl -L "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" +# 4. Update the weave Dockerfile mirrors to the appropriate base image versions, and replace the image URLs in this file with the appropriate environment variables + +apiVersion: v1 +kind: List +items: + - apiVersion: v1 + kind: ServiceAccount + metadata: + name: weave-net + annotations: + cloud.weave.works/launcher-info: |- + { + "original-request": { + "url": "/k8s/v1.10/net.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxNSIsIEdpdFZlcnNpb246InYxLjE1LjAiLCBHaXRDb21taXQ6ImU4NDYyYjViNWRjMjU4NGZkY2QxOGU2YmNmZTlmMWU0ZDk3MGE1MjkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE5LTA2LTE5VDE2OjQwOjE2WiIsIEdvVmVyc2lvbjoiZ28xLjEyLjUiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjEzKyIsIEdpdFZlcnNpb246InYxLjEzLjctZWtzLWM1N2ZmOCIsIEdpdENvbW1pdDoiYzU3ZmY4ZTM1NTkwOTMyYzY1MjQzM2ZhYjA3OTg4ZGE3OTI2NWQ1YiIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTktMDYtMDdUMjA6NDM6MDNaIiwgR29WZXJzaW9uOiJnbzEuMTEuNSIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==", + "date": "Thu Jul 25 2019 19:38:22 GMT+0000 (UTC)" + }, + "email-address": "support@weave.works" + } + labels: + name: weave-net + namespace: kube-system + - apiVersion: rbac.authorization.k8s.io/v1beta1 + kind: ClusterRole + metadata: + name: weave-net + annotations: + cloud.weave.works/launcher-info: |- + { + "original-request": { + "url": "/k8s/v1.10/net.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxNSIsIEdpdFZlcnNpb246InYxLjE1LjAiLCBHaXRDb21taXQ6ImU4NDYyYjViNWRjMjU4NGZkY2QxOGU2YmNmZTlmMWU0ZDk3MGE1MjkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE5LTA2LTE5VDE2OjQwOjE2WiIsIEdvVmVyc2lvbjoiZ28xLjEyLjUiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjEzKyIsIEdpdFZlcnNpb246InYxLjEzLjctZWtzLWM1N2ZmOCIsIEdpdENvbW1pdDoiYzU3ZmY4ZTM1NTkwOTMyYzY1MjQzM2ZhYjA3OTg4ZGE3OTI2NWQ1YiIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTktMDYtMDdUMjA6NDM6MDNaIiwgR29WZXJzaW9uOiJnbzEuMTEuNSIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==", + "date": "Thu Jul 25 2019 19:38:22 GMT+0000 (UTC)" + }, + "email-address": "support@weave.works" + } + labels: + name: weave-net + rules: + - apiGroups: + - '' + resources: + - pods + - namespaces + - nodes + verbs: + - get + - list + - watch + - apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - get + - list + - watch + - apiGroups: + - '' + resources: + - nodes/status + verbs: + - patch + - update + - apiVersion: rbac.authorization.k8s.io/v1beta1 + kind: ClusterRoleBinding + metadata: + name: weave-net + annotations: + cloud.weave.works/launcher-info: |- + { + "original-request": { + "url": "/k8s/v1.10/net.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxNSIsIEdpdFZlcnNpb246InYxLjE1LjAiLCBHaXRDb21taXQ6ImU4NDYyYjViNWRjMjU4NGZkY2QxOGU2YmNmZTlmMWU0ZDk3MGE1MjkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE5LTA2LTE5VDE2OjQwOjE2WiIsIEdvVmVyc2lvbjoiZ28xLjEyLjUiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjEzKyIsIEdpdFZlcnNpb246InYxLjEzLjctZWtzLWM1N2ZmOCIsIEdpdENvbW1pdDoiYzU3ZmY4ZTM1NTkwOTMyYzY1MjQzM2ZhYjA3OTg4ZGE3OTI2NWQ1YiIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTktMDYtMDdUMjA6NDM6MDNaIiwgR29WZXJzaW9uOiJnbzEuMTEuNSIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==", + "date": "Thu Jul 25 2019 19:38:22 GMT+0000 (UTC)" + }, + "email-address": "support@weave.works" + } + labels: + name: weave-net + roleRef: + kind: ClusterRole + name: weave-net + apiGroup: rbac.authorization.k8s.io + subjects: + - kind: ServiceAccount + name: weave-net + namespace: kube-system + - apiVersion: rbac.authorization.k8s.io/v1beta1 + kind: Role + metadata: + name: weave-net + annotations: + cloud.weave.works/launcher-info: |- + { + "original-request": { + "url": "/k8s/v1.10/net.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxNSIsIEdpdFZlcnNpb246InYxLjE1LjAiLCBHaXRDb21taXQ6ImU4NDYyYjViNWRjMjU4NGZkY2QxOGU2YmNmZTlmMWU0ZDk3MGE1MjkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE5LTA2LTE5VDE2OjQwOjE2WiIsIEdvVmVyc2lvbjoiZ28xLjEyLjUiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjEzKyIsIEdpdFZlcnNpb246InYxLjEzLjctZWtzLWM1N2ZmOCIsIEdpdENvbW1pdDoiYzU3ZmY4ZTM1NTkwOTMyYzY1MjQzM2ZhYjA3OTg4ZGE3OTI2NWQ1YiIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTktMDYtMDdUMjA6NDM6MDNaIiwgR29WZXJzaW9uOiJnbzEuMTEuNSIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==", + "date": "Thu Jul 25 2019 19:38:22 GMT+0000 (UTC)" + }, + "email-address": "support@weave.works" + } + labels: + name: weave-net + namespace: kube-system + rules: + - apiGroups: + - '' + resourceNames: + - weave-net + resources: + - configmaps + verbs: + - get + - update + - apiGroups: + - '' + resources: + - configmaps + verbs: + - create + - apiVersion: rbac.authorization.k8s.io/v1beta1 + kind: RoleBinding + metadata: + name: weave-net + annotations: + cloud.weave.works/launcher-info: |- + { + "original-request": { + "url": "/k8s/v1.10/net.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxNSIsIEdpdFZlcnNpb246InYxLjE1LjAiLCBHaXRDb21taXQ6ImU4NDYyYjViNWRjMjU4NGZkY2QxOGU2YmNmZTlmMWU0ZDk3MGE1MjkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE5LTA2LTE5VDE2OjQwOjE2WiIsIEdvVmVyc2lvbjoiZ28xLjEyLjUiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjEzKyIsIEdpdFZlcnNpb246InYxLjEzLjctZWtzLWM1N2ZmOCIsIEdpdENvbW1pdDoiYzU3ZmY4ZTM1NTkwOTMyYzY1MjQzM2ZhYjA3OTg4ZGE3OTI2NWQ1YiIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTktMDYtMDdUMjA6NDM6MDNaIiwgR29WZXJzaW9uOiJnbzEuMTEuNSIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==", + "date": "Thu Jul 25 2019 19:38:22 GMT+0000 (UTC)" + }, + "email-address": "support@weave.works" + } + labels: + name: weave-net + namespace: kube-system + roleRef: + kind: Role + name: weave-net + apiGroup: rbac.authorization.k8s.io + subjects: + - kind: ServiceAccount + name: weave-net + namespace: kube-system + - apiVersion: extensions/v1beta1 + kind: DaemonSet + metadata: + name: weave-net + annotations: + cloud.weave.works/launcher-info: |- + { + "original-request": { + "url": "/k8s/v1.10/net.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxNSIsIEdpdFZlcnNpb246InYxLjE1LjAiLCBHaXRDb21taXQ6ImU4NDYyYjViNWRjMjU4NGZkY2QxOGU2YmNmZTlmMWU0ZDk3MGE1MjkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE5LTA2LTE5VDE2OjQwOjE2WiIsIEdvVmVyc2lvbjoiZ28xLjEyLjUiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjEzKyIsIEdpdFZlcnNpb246InYxLjEzLjctZWtzLWM1N2ZmOCIsIEdpdENvbW1pdDoiYzU3ZmY4ZTM1NTkwOTMyYzY1MjQzM2ZhYjA3OTg4ZGE3OTI2NWQ1YiIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTktMDYtMDdUMjA6NDM6MDNaIiwgR29WZXJzaW9uOiJnbzEuMTEuNSIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==", + "date": "Thu Jul 25 2019 19:38:22 GMT+0000 (UTC)" + }, + "email-address": "support@weave.works" + } + labels: + name: weave-net + namespace: kube-system + spec: + minReadySeconds: 5 + template: + metadata: + labels: + name: weave-net + spec: + containers: + - name: weave + command: + - /home/weave/launch.sh + env: + - name: HOSTNAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + image: $CORTEX_IMAGE_WEAVE_KUBE + readinessProbe: + httpGet: + host: 127.0.0.1 + path: /status + port: 6784 + resources: + requests: + cpu: 10m + securityContext: + privileged: true + volumeMounts: + - name: weavedb + mountPath: /weavedb + - name: cni-bin + mountPath: /host/opt + - name: cni-bin2 + mountPath: /host/home + - name: cni-conf + mountPath: /host/etc + - name: dbus + mountPath: /host/var/lib/dbus + - name: lib-modules + mountPath: /lib/modules + - name: xtables-lock + mountPath: /run/xtables.lock + - name: weave-npc + env: + - name: HOSTNAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + image: $CORTEX_IMAGE_WEAVE_NPC + resources: + requests: + cpu: 10m + securityContext: + privileged: true + volumeMounts: + - name: xtables-lock + mountPath: /run/xtables.lock + hostNetwork: true + hostPID: true + restartPolicy: Always + securityContext: + seLinuxOptions: {} + serviceAccountName: weave-net + tolerations: + - effect: NoSchedule + operator: Exists + volumes: + - name: weavedb + hostPath: + path: /var/lib/weave + - name: cni-bin + hostPath: + path: /opt + - name: cni-bin2 + hostPath: + path: /home + - name: cni-conf + hostPath: + path: /etc + - name: dbus + hostPath: + path: /var/lib/dbus + - name: lib-modules + hostPath: + path: /lib/modules + - name: xtables-lock + hostPath: + path: /run/xtables.lock + type: FileOrCreate + updateStrategy: + type: RollingUpdate