Initial release

This commit is contained in:
Adrien Reslinger 2018-10-05 16:37:45 +02:00
commit 9427cb9e05
No known key found for this signature in database
GPG key ID: C50A5B63F3B2B639
12 changed files with 327 additions and 0 deletions

1
README.md Normal file
View file

@ -0,0 +1 @@
This repo is deploy weave scope with ansible.

4
defaults/main.yml Normal file
View file

@ -0,0 +1,4 @@
my_context: minikube
ingress_domain: "local.dataminem.net"
scope_version: 1.9.1

7
meta/main.yml Normal file
View file

@ -0,0 +1,7 @@
galaxy_info:
author: Adrien Reslinger
description: Install weave scope to a cluster
company: Flaminem
min_ansible_version: 2.6
galaxy_tags: []

28
tasks/main.yml Normal file
View file

@ -0,0 +1,28 @@
- debug: var=my_context
tags: prom
- name: Weave setup
block:
- name: namespace
k8s:
state: present
name: weave
api_version: v1
kind: Namespace
- name: Weave Scope files
k8s:
state: present
context: "{{ my_context }}"
resource_definition: "{{ lookup('template', item) | from_yaml }}"
with_items:
- scope-clusterrolebinding.yaml.j2
- scope-clusterrole.yaml.j2
- scope-sa.yaml.j2
- scope-svc.yaml.j2
- scope-ds.yaml.j2
- scope.yaml.j2
- weave_ingress.yaml.j2
tags: weave

View file

@ -0,0 +1,79 @@
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: weave-scope
annotations:
cloud.weave.works/launcher-info: |-
{
"original-request": {
"url": "/k8s/v1.10/scope.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxMSIsIEdpdFZlcnNpb246InYxLjExLjIiLCBHaXRDb21taXQ6ImJiOWZmYjE2NTRkNGE3MjliYjRjZWMxOGZmMDg4ZWFjYzE1M2MyMzkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE4LTA4LTA3VDIzOjE3OjI4WiIsIEdvVmVyc2lvbjoiZ28xLjEwLjMiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjExIiwgR2l0VmVyc2lvbjoidjEuMTEuMSIsIEdpdENvbW1pdDoiYjFiMjk5NzgyNzBkYzIyZmVjYzU5MmFjNTVkOTAzMzUwNDU0MzEwYSIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTgtMDctMTdUMTg6NDM6MjZaIiwgR29WZXJzaW9uOiJnbzEuMTAuMyIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==",
"date": "Tue Sep 18 2018 08:36:39 GMT+0000 (UTC)"
},
"email-address": "support@weave.works"
}
labels:
name: weave-scope
rules:
- apiGroups:
- ''
resources:
- pods
verbs:
- get
- list
- watch
- delete
- apiGroups:
- ''
resources:
- pods/log
- services
- nodes
- namespaces
- persistentvolumes
- persistentvolumeclaims
verbs:
- get
- list
- watch
- apiGroups:
- apps
resources:
- statefulsets
verbs:
- get
- list
- watch
- apiGroups:
- batch
resources:
- cronjobs
- jobs
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- deployments
- daemonsets
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- deployments/scale
verbs:
- get
- update
- apiGroups:
- storage.k8s.io
resources:
- storageclasses
verbs:
- get
- list
- watch

View file

@ -0,0 +1,23 @@
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: weave-scope
annotations:
cloud.weave.works/launcher-info: |-
{
"original-request": {
"url": "/k8s/v1.10/scope.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxMSIsIEdpdFZlcnNpb246InYxLjExLjIiLCBHaXRDb21taXQ6ImJiOWZmYjE2NTRkNGE3MjliYjRjZWMxOGZmMDg4ZWFjYzE1M2MyMzkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE4LTA4LTA3VDIzOjE3OjI4WiIsIEdvVmVyc2lvbjoiZ28xLjEwLjMiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjExIiwgR2l0VmVyc2lvbjoidjEuMTEuMSIsIEdpdENvbW1pdDoiYjFiMjk5NzgyNzBkYzIyZmVjYzU5MmFjNTVkOTAzMzUwNDU0MzEwYSIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTgtMDctMTdUMTg6NDM6MjZaIiwgR29WZXJzaW9uOiJnbzEuMTAuMyIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==",
"date": "Tue Sep 18 2018 08:36:39 GMT+0000 (UTC)"
},
"email-address": "support@weave.works"
}
labels:
name: weave-scope
roleRef:
kind: ClusterRole
name: weave-scope
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
name: weave-scope
namespace: weave

View file

@ -0,0 +1,76 @@
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: weave-scope-agent
annotations:
cloud.weave.works/launcher-info: |-
{
"original-request": {
"url": "/k8s/v1.10/scope.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxMSIsIEdpdFZlcnNpb246InYxLjExLjIiLCBHaXRDb21taXQ6ImJiOWZmYjE2NTRkNGE3MjliYjRjZWMxOGZmMDg4ZWFjYzE1M2MyMzkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE4LTA4LTA3VDIzOjE3OjI4WiIsIEdvVmVyc2lvbjoiZ28xLjEwLjMiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjExIiwgR2l0VmVyc2lvbjoidjEuMTEuMSIsIEdpdENvbW1pdDoiYjFiMjk5NzgyNzBkYzIyZmVjYzU5MmFjNTVkOTAzMzUwNDU0MzEwYSIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTgtMDctMTdUMTg6NDM6MjZaIiwgR29WZXJzaW9uOiJnbzEuMTAuMyIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==",
"date": "Tue Sep 18 2018 08:36:39 GMT+0000 (UTC)"
},
"email-address": "support@weave.works"
}
labels:
name: weave-scope-agent
app: weave-scope
weave-cloud-component: scope
weave-scope-component: agent
namespace: weave
spec:
minReadySeconds: 5
template:
metadata:
labels:
name: weave-scope-agent
app: weave-scope
weave-cloud-component: scope
weave-scope-component: agent
spec:
containers:
- name: scope-agent
args:
- '--mode=probe'
- '--probe-only'
- '--probe.kubernetes=true'
- '--probe.docker.bridge=docker0'
- '--probe.docker=true'
- 'weave-scope-app.weave.svc.cluster.local:80'
command:
- /home/weave/scope
env:
- name: KUBERNETES_NODENAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
image: 'docker.io/weaveworks/scope:{{ scope_version }}'
imagePullPolicy: IfNotPresent
securityContext:
privileged: true
volumeMounts:
- name: scope-plugins
mountPath: /var/run/scope/plugins
- name: sys-kernel-debug
mountPath: /sys/kernel/debug
- name: docker-socket
mountPath: /var/run/docker.sock
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
hostPID: true
serviceAccountName: weave-scope
tolerations:
- effect: NoSchedule
operator: Exists
volumes:
- name: scope-plugins
hostPath:
path: /var/run/scope/plugins
- name: sys-kernel-debug
hostPath:
path: /sys/kernel/debug
- name: docker-socket
hostPath:
path: /var/run/docker.sock
updateStrategy:
type: RollingUpdate

View file

@ -0,0 +1,16 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: weave-scope
annotations:
cloud.weave.works/launcher-info: |-
{
"original-request": {
"url": "/k8s/v1.10/scope.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxMSIsIEdpdFZlcnNpb246InYxLjExLjIiLCBHaXRDb21taXQ6ImJiOWZmYjE2NTRkNGE3MjliYjRjZWMxOGZmMDg4ZWFjYzE1M2MyMzkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE4LTA4LTA3VDIzOjE3OjI4WiIsIEdvVmVyc2lvbjoiZ28xLjEwLjMiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjExIiwgR2l0VmVyc2lvbjoidjEuMTEuMSIsIEdpdENvbW1pdDoiYjFiMjk5NzgyNzBkYzIyZmVjYzU5MmFjNTVkOTAzMzUwNDU0MzEwYSIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTgtMDctMTdUMTg6NDM6MjZaIiwgR29WZXJzaW9uOiJnbzEuMTAuMyIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==",
"date": "Tue Sep 18 2018 08:36:39 GMT+0000 (UTC)"
},
"email-address": "support@weave.works"
}
labels:
name: weave-scope
namespace: weave

View file

@ -0,0 +1,30 @@
apiVersion: v1
kind: Service
metadata:
name: weave-scope-app
annotations:
cloud.weave.works/launcher-info: |-
{
"original-request": {
"url": "/k8s/v1.10/scope.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxMSIsIEdpdFZlcnNpb246InYxLjExLjIiLCBHaXRDb21taXQ6ImJiOWZmYjE2NTRkNGE3MjliYjRjZWMxOGZmMDg4ZWFjYzE1M2MyMzkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE4LTA4LTA3VDIzOjE3OjI4WiIsIEdvVmVyc2lvbjoiZ28xLjEwLjMiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjExIiwgR2l0VmVyc2lvbjoidjEuMTEuMSIsIEdpdENvbW1pdDoiYjFiMjk5NzgyNzBkYzIyZmVjYzU5MmFjNTVkOTAzMzUwNDU0MzEwYSIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTgtMDctMTdUMTg6NDM6MjZaIiwgR29WZXJzaW9uOiJnbzEuMTAuMyIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==",
"date": "Tue Sep 18 2018 08:36:39 GMT+0000 (UTC)"
},
"email-address": "support@weave.works"
}
labels:
name: weave-scope-app
app: weave-scope
weave-cloud-component: scope
weave-scope-component: app
namespace: weave
spec:
ports:
- name: app
port: 80
protocol: TCP
targetPort: 4040
selector:
name: weave-scope-app
app: weave-scope
weave-cloud-component: scope
weave-scope-component: app

42
templates/scope.yaml.j2 Normal file
View file

@ -0,0 +1,42 @@
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: weave-scope-app
annotations:
cloud.weave.works/launcher-info: |-
{
"original-request": {
"url": "/k8s/v1.10/scope.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxMSIsIEdpdFZlcnNpb246InYxLjExLjIiLCBHaXRDb21taXQ6ImJiOWZmYjE2NTRkNGE3MjliYjRjZWMxOGZmMDg4ZWFjYzE1M2MyMzkiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE4LTA4LTA3VDIzOjE3OjI4WiIsIEdvVmVyc2lvbjoiZ28xLjEwLjMiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjExIiwgR2l0VmVyc2lvbjoidjEuMTEuMSIsIEdpdENvbW1pdDoiYjFiMjk5NzgyNzBkYzIyZmVjYzU5MmFjNTVkOTAzMzUwNDU0MzEwYSIsIEdpdFRyZWVTdGF0ZToiY2xlYW4iLCBCdWlsZERhdGU6IjIwMTgtMDctMTdUMTg6NDM6MjZaIiwgR29WZXJzaW9uOiJnbzEuMTAuMyIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==",
"date": "Tue Sep 18 2018 08:36:39 GMT+0000 (UTC)"
},
"email-address": "support@weave.works"
}
labels:
name: weave-scope-app
app: weave-scope
weave-cloud-component: scope
weave-scope-component: app
namespace: weave
spec:
replicas: 1
revisionHistoryLimit: 2
template:
metadata:
labels:
name: weave-scope-app
app: weave-scope
weave-cloud-component: scope
weave-scope-component: app
spec:
containers:
- name: app
args:
- '--mode=app'
command:
- /home/weave/scope
env: []
image: 'docker.io/weaveworks/scope:{{ scope_version }}'
imagePullPolicy: IfNotPresent
ports:
- containerPort: 4040
protocol: TCP

View file

@ -0,0 +1,20 @@
---
#will not work: weave hate https...
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: weave
namespace: weave
annotations:
# ingress.kubernetes.io/whitelist-source-range: "10.96.0.0/12, 10.244.0.0/16, 192.168.18.0/24"
traefik.frontend.priority: "10"
spec:
rules:
- host: weave.{{ ingress_domain }}
http:
paths:
- path: /
backend:
serviceName: weave-scope-app
servicePort: 80

1
vars/main.yml Normal file
View file

@ -0,0 +1 @@
user: "{{ ansible_user_id }}"