Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3e78a92

Browse files
GSokolSkarlso
authored andcommitted
FIX#126 : helm charts (#127)
*FIX#126 : helm charts*FIX#126 : remove .swp file*FIX#126 : rename make target*FIX#126 : Add setup for Ingress load balancer*FIX#126 : final code review fixes*FIX#126 : ingress to kube dns
1 parent926f72f commit3e78a92

File tree

13 files changed

+288
-0
lines changed

13 files changed

+288
-0
lines changed

‎Makefile‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
NAME=gaia
22
GO_LDFLAGS_STATIC=-ldflags "-s -w -extldflags -static"
3+
NAMESPACE=${NAME}
4+
RELEASE_NAME=${NAME}
5+
HELM_DIR=$(shell pwd)/helm
36

47
default: dev
58

@@ -29,3 +32,9 @@ test-cover:
2932
gotest -v ./... --coverprofile=cover.out
3033

3134
release: compile_frontend static_assets compile_backend
35+
36+
deploy-kube:
37+
helm upgrade --install${RELEASE_NAME}${HELM_DIR} --namespace${NAMESPACE}
38+
39+
kube-ingress-lb:
40+
kubectl apply -R -f${HELM_DIR}/_system

‎README.rst‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,27 @@ Installation
6161

6262
The installation of gaia is simple and often takes a few minutes.
6363

64+
Using helm
65+
~~~~~~~~~~
66+
67+
If you haven't got an ingress controller pod yet, make sure that you have `kube-dns` or `coredns` enabled, run this command to set it up.
68+
69+
..code::sh
70+
71+
make kube-ingress
72+
73+
To init helm:
74+
75+
..code::sh
76+
77+
helm init
78+
79+
To deploy gaia:
80+
81+
..code::sh
82+
83+
make deploy-kube
84+
6485
Using docker
6586
~~~~~~~~~~~~
6687

‎helm/.helmignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_system/

‎helm/Chart.yaml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
apiVersion:v1
2+
name:gaiapipeline/gaia
3+
version:latest
4+
description:Build powerful pipelines in any programming language.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
apiVersion:extensions/v1beta1
2+
kind:Deployment
3+
metadata:
4+
name:default-http-backend
5+
namespace:kube-system
6+
labels:
7+
k8s-app:default-http-backend
8+
spec:
9+
replicas:2
10+
selector:
11+
matchLabels:
12+
k8s-app:default-http-backend
13+
template:
14+
metadata:
15+
labels:
16+
k8s-app:default-http-backend
17+
annotations:
18+
scheduler.alpha.kubernetes.io/tolerations:'[{"key":"dedicated", "value":"master"}]'
19+
spec:
20+
terminationGracePeriodSeconds:60
21+
containers:
22+
-name:default-http-backend
23+
# Any image is permissable as long as:
24+
# 1. It serves a 404 page at /
25+
# 2. It serves 200 on a /healthz endpoint
26+
image:gcr.io/google_containers/defaultbackend:1.2
27+
livenessProbe:
28+
httpGet:
29+
path:/healthz
30+
port:8080
31+
scheme:HTTP
32+
initialDelaySeconds:30
33+
timeoutSeconds:5
34+
ports:
35+
-containerPort:8080
36+
resources:
37+
limits:
38+
cpu:10m
39+
memory:20Mi
40+
requests:
41+
cpu:10m
42+
memory:20Mi
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion:v1
2+
kind:Service
3+
metadata:
4+
labels:
5+
k8s-app:default-http-backend
6+
name:default-http-backend
7+
namespace:kube-system
8+
spec:
9+
ports:
10+
-name:http
11+
port:80
12+
targetPort:8080
13+
protocol:TCP
14+
selector:
15+
k8s-app:default-http-backend
16+
sessionAffinity:None
17+
type:ClusterIP
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
kind:ConfigMap
2+
apiVersion:v1
3+
metadata:
4+
name:nginx-ingress-lb
5+
namespace:kube-system
6+
creationTimestamp:null
7+
data:
8+
enable-vts-status:"true"
9+
worker-processes:"4"
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
apiVersion:v1
2+
kind:ConfigMap
3+
metadata:
4+
name:nginx-ingress-tcp
5+
namespace:kube-system
6+
data:
7+
# 53: "kube-system/kube-dns:53"
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
apiVersion:extensions/v1beta1
2+
kind:DaemonSet
3+
metadata:
4+
labels:
5+
name:nginx-ingress-lb
6+
name:nginx-ingress-lb
7+
namespace:kube-system
8+
spec:
9+
selector:
10+
matchLabels:
11+
name:nginx-ingress-lb
12+
template:
13+
metadata:
14+
labels:
15+
name:nginx-ingress-lb
16+
annotations:
17+
pod.beta.kubernetes.io/init-containers:'[
18+
{
19+
"name": "sysctl",
20+
"image": "busybox",
21+
"imagePullPolicy": "IfNotPresent",
22+
"command": ["sh", "-c", "sysctl -w net.core.somaxconn=32768; sysctl -w net.ipv4.ip_local_port_range=\"1024 65535\""],
23+
"securityContext": {
24+
"privileged": true
25+
}
26+
}
27+
]'
28+
spec:
29+
hostNetwork:true
30+
containers:
31+
-args:
32+
-/nginx-ingress-controller
33+
---ingress-class=service
34+
---default-backend-service=$(POD_NAMESPACE)/default-http-backend
35+
---configmap=$(POD_NAMESPACE)/nginx-ingress-lb
36+
---tcp-services-configmap=$(POD_NAMESPACE)/nginx-ingress-tcp
37+
env:
38+
-name:POD_NAME
39+
valueFrom:
40+
fieldRef:
41+
apiVersion:v1
42+
fieldPath:metadata.name
43+
-name:POD_NAMESPACE
44+
valueFrom:
45+
fieldRef:
46+
apiVersion:v1
47+
fieldPath:metadata.namespace
48+
image:quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.9.0
49+
imagePullPolicy:Always
50+
name:nginx-ingress-lb
51+
ports:
52+
-name:web
53+
containerPort:80
54+
protocol:TCP
55+
readinessProbe:
56+
failureThreshold:3
57+
httpGet:
58+
path:/healthz
59+
port:10254
60+
scheme:HTTP
61+
periodSeconds:10
62+
successThreshold:1
63+
timeoutSeconds:1
64+

‎helm/templates/deployment.yaml‎

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
apiVersion:extensions/v1beta1
2+
kind:Deployment
3+
metadata:
4+
name:{{ .Release.Name }}
5+
labels:
6+
service:{{ .Release.Name }}
7+
app:service
8+
spec:
9+
replicas:{{ .Values.replicas }}
10+
strategy:
11+
type:RollingUpdate
12+
rollingUpdate:
13+
maxSurge:{{ .Values.rollingUpdate.maxSurge }}
14+
maxUnavailable:{{ .Values.rollingUpdate.maxUnavailable }}
15+
minReadySeconds:{{ .Values.minReadySeconds }}
16+
revisionHistoryLimit:{{ .Values.revisionHistoryLimit }}
17+
template:
18+
metadata:
19+
labels:
20+
service:{{ .Release.Name }}
21+
app:service
22+
spec:
23+
containers:
24+
-name:service
25+
image:gaiapipeline/gaia:{{ .Values.imageTag }}
26+
imagePullPolicy:{{ .Values.imagePullPolicy }}
27+
lifecycle:
28+
# @see https://github.com/kubernetes/contrib/issues/1140
29+
preStop:
30+
exec:
31+
command:["sleep", "{{ .Values.preStop.sleep }}"]
32+
env:
33+
-name:GAIA_PORT
34+
value:"8080"
35+
-name:GAIA_HOSTNAME
36+
value:http:0.0.0.0
37+
ports:
38+
-containerPort:8080
39+
resources:
40+
{{ toYaml .Values.resources | indent 10 }}
41+
readinessProbe:
42+
httpGet:
43+
path:/
44+
port:8080
45+
initialDelaySeconds:{{ .Values.readinessProbe.initialDelaySeconds }}
46+
timeoutSeconds:{{ .Values.readinessProbe.timeoutSeconds }}
47+
successThreshold:{{ .Values.readinessProbe.successThreshold }}
48+
failureThreshold:{{ .Values.readinessProbe.failureThreshold }}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp