blob: c71b7f6a2068e0af0500e7db630b6056b3beec35 [file] [log] [blame]
marcoacdae7e2015-12-02 15:35:37 +01001
2==================
3Kubernetes Formula
4==================
5
6
7Based on official Kubernetes salt
8https://github.com/kubernetes/kubernetes/tree/master/cluster/saltbase
9
10Extended on Contrail contribution https://github.com/Juniper/kubernetes/blob/opencontrail-integration/docs/getting-started-guides/opencontrail.md
11
12
13Sample pillars
14==============
15
16.. code-block:: yaml
17
18 kubernetes:
19 master:
20
21 kubernetes:
22 pool:
23
24
25Kubernetes with OpenContrail
26----------------------------
27
28On Master:
29
30.. code-block:: yaml
31
32 kubernetes:
33 master:
34 network:
35 engine: opencontrail
36 host: 10.0.170.70
37 port: 8082
38 default_domain: default-domain
39 default_project: default-domain:default-project
40 public_network: default-domain:default-project:Public
41 public_ip_range: 185.22.97.128/26
42 private_ip_range: 10.150.0.0/16
43 service_cluster_ip_range: 10.254.0.0/16
44 network_label: name
45 service_label: uses
46 cluster_service: kube-system/default
47 network_manager:
48 image: pupapaik/opencontrail-kube-network-manager
49 tag: release-1.1-jpa-final-1
50
51On pools:
52
53.. code-block:: yaml
54
55 kubernetes:
56 pool:
57 network:
58 engine: opencontrail
59
60Kubernetes with Flannel
61-----------------------
62
63On Master:
64
65.. code-block:: yaml
66
67 kubernetes:
68 master:
69 network:
70 engine: flannel
71 common:
72 network:
73 engine: flannel
74
75On pools:
76
77.. code-block:: yaml
78
79 kubernetes:
80 pool:
81 network:
82 engine: flannel
83 common:
84 network:
85 engine: flannel
86
87Kubernetes with Calico
88-----------------------
89
90On Master:
91
92.. code-block:: yaml
93
94 kubernetes:
95 master:
96 network:
97 engine: calico
98
99On pools:
100
101.. code-block:: yaml
102
103 kubernetes:
104 pool:
105 network:
106 engine: calico
107
108Kubernetes Service Definitions
109------------------------------
110
111.. code-block:: yaml
112
113 salt:
114 control:
115 enabled: True
116 hostNetwork: True
117 service:
118 memcached:
119 privileged: True
120 service: memcached
121 role: server
122 type: LoadBalancer
123 replicas: 3
124 kind: Deployment
125 apiVersion: extensions/v1beta1
126 ports:
127 - port: 8774
128 name: nova-api
129 - port: 8775
130 name: nova-metadata
131 volume:
132 volume_name:
133 type: hostPath
134 mount: /certs
135 path: /etc/certs
136 container:
137 memcached:
138 image: memcached
139 tag:2
140 ports:
141 - port: 8774
142 name: nova-api
143 - port: 8775
144 name: nova-metadata
145 variables:
146 - name: HTTP_TLS_CERTIFICATE:
147 value: /certs/domain.crt
148 - name: HTTP_TLS_KEY
149 value: /certs/domain.key
150 volumes:
151 - name: /etc/certs
152 type: hostPath
153 mount: /certs
154 path: /etc/certs
155
156Volumes
157-------
158
159hostPath
160===========
161
162.. code-block:: yaml
163
164 container:
165 memcached:
166 ...
167 volumes:
168 - name: /etc/certs
169 mount: /certs
170 type: hostPath
171 path: /etc/certs
172
173emptyDir
174===========
175
176.. code-block:: yaml
177
178 container:
179 memcached:
180 ...
181 volumes:
182 - name: /etc/certs
183 mount: /certs
184 type: emptyDir