Merge pull request #6 from tcpcloud/add_fixes
add fixes
diff --git a/README.rst b/README.rst
index 303e739..3d4a016 100644
--- a/README.rst
+++ b/README.rst
@@ -154,6 +154,15 @@
master:
network:
engine: flannel
+If you don't register master as node:
+ etcd:
+ members:
+ - host: 10.0.175.101
+ port: 4001
+ - host: 10.0.175.102
+ port: 4001
+ - host: 10.0.175.103
+ port: 4001
common:
network:
engine: flannel
@@ -166,6 +175,14 @@
pool:
network:
engine: flannel
+ etcd:
+ members:
+ - host: 10.0.175.101
+ port: 4001
+ - host: 10.0.175.102
+ port: 4001
+ - host: 10.0.175.103
+ port: 4001
common:
network:
engine: flannel
@@ -181,6 +198,15 @@
master:
network:
engine: calico
+If you don't register master as node:
+ etcd:
+ members:
+ - host: 10.0.175.101
+ port: 4001
+ - host: 10.0.175.102
+ port: 4001
+ - host: 10.0.175.103
+ port: 4001
On pools:
@@ -190,6 +216,14 @@
pool:
network:
engine: calico
+ etcd:
+ members:
+ - host: 10.0.175.101
+ port: 4001
+ - host: 10.0.175.102
+ port: 4001
+ - host: 10.0.175.103
+ port: 4001
Kubernetes with GlusterFS for storage
---------------------------------------------
diff --git a/kubernetes/files/calico/calico.conf b/kubernetes/files/calico/calico.conf
index c6cb273..dcd0c85 100644
--- a/kubernetes/files/calico/calico.conf
+++ b/kubernetes/files/calico/calico.conf
@@ -2,7 +2,7 @@
{
"name": "calico-k8s-network",
"type": "calico",
- "etcd_authority": "{{ pool.master.host }}:6666",
+ "etcd_endpoints": "{% for member in pool.network.etcd.members %}http://{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{% endfor %}",
"log_level": "info",
"ipam": {
"type": "calico-ipam"
diff --git a/kubernetes/files/calico/network-environment.master b/kubernetes/files/calico/network-environment.master
index 64e55dc..71d17c5 100644
--- a/kubernetes/files/calico/network-environment.master
+++ b/kubernetes/files/calico/network-environment.master
@@ -4,4 +4,4 @@
DEFAULT_IPV4={{ master.apiserver.address }}
# IP and port of etcd instance used by Calico
-ETCD_AUTHORITY={{ master.apiserver.address }}:6666
\ No newline at end of file
+ETCD_ENDPOINTS={% for member in master.network.etcd.members %}http://{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{% endfor %}
\ No newline at end of file
diff --git a/kubernetes/files/calico/network-environment.pool b/kubernetes/files/calico/network-environment.pool
index aa0126e..f01980e 100644
--- a/kubernetes/files/calico/network-environment.pool
+++ b/kubernetes/files/calico/network-environment.pool
@@ -7,4 +7,4 @@
KUBERNETES_MASTER={{ pool.master.host }}
# IP and port of etcd instance used by Calico
-ETCD_AUTHORITY={{ pool.master.host }}:6666
\ No newline at end of file
+ETCD_ENDPOINTS={% for member in pool.network.etcd.members %}http://{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{% endfor %}
\ No newline at end of file
diff --git a/kubernetes/files/flannel/default.master b/kubernetes/files/flannel/default.master
index 61fbc6d..2a8b881 100644
--- a/kubernetes/files/flannel/default.master
+++ b/kubernetes/files/flannel/default.master
@@ -1,3 +1,3 @@
{%- from "kubernetes/map.jinja" import master with context %}
-DAEMON_ARGS="--etcd-endpoints={% for member in master.etcd.members %}http://{{ member.host }}:4001{% if not loop.last %},{% endif %}{% endfor %} --ip-masq --etcd-prefix=/kubernetes.io/network"
\ No newline at end of file
+DAEMON_ARGS="--etcd-endpoints={% for member in master.network.etcd.members %}http://{{ member.host }}:4001{% if not loop.last %},{% endif %}{% endfor %} --ip-masq --etcd-prefix=/kubernetes.io/network"
\ No newline at end of file
diff --git a/kubernetes/files/flannel/default.pool b/kubernetes/files/flannel/default.pool
index bd1a506..9bf8bfb 100644
--- a/kubernetes/files/flannel/default.pool
+++ b/kubernetes/files/flannel/default.pool
@@ -1,3 +1,3 @@
{%- from "kubernetes/map.jinja" import pool with context %}
-DAEMON_ARGS="--etcd-endpoints={% for member in pool.master.etcd.members %}http://{{ member.host }}:4001{% if not loop.last %},{% endif %}{% endfor %} --ip-masq --etcd-prefix=/kubernetes.io/network"
\ No newline at end of file
+DAEMON_ARGS="--etcd-endpoints={% for member in pool.network.etcd.members %}http://{{ member.host }}:4001{% if not loop.last %},{% endif %}{% endfor %} --ip-masq --etcd-prefix=/kubernetes.io/network"
\ No newline at end of file
diff --git a/kubernetes/files/known_tokens.csv b/kubernetes/files/known_tokens.csv
index 3bc3198..c17d03e 100644
--- a/kubernetes/files/known_tokens.csv
+++ b/kubernetes/files/known_tokens.csv
@@ -4,6 +4,10 @@
{{ master.token.kube_proxy }},kube_proxy,kube_proxy
{{ master.token.scheduler }},system:scheduler,system:scheduler
{{ master.token.controller_manager }},system:controller_manager,system:controller_manager
+{%- if master.addons.logging is defined %}
{{ master.token.logging }},system:logging,system:logging
+{%- endif %}
+{%- if master.addons.monitoring is defined %}
{{ master.token.monitoring }},system:monitoring,system:monitoring
+{%- endif %}
{{ master.token.dns }},system:dns,system:dns
\ No newline at end of file
diff --git a/kubernetes/files/manifest/calico-etcd.manifest b/kubernetes/files/manifest/calico-etcd.manifest
deleted file mode 100644
index a5a7b4c..0000000
--- a/kubernetes/files/manifest/calico-etcd.manifest
+++ /dev/null
@@ -1,31 +0,0 @@
-{%- from "kubernetes/map.jinja" import master with context %}
-apiVersion: v1
-kind: Pod
-metadata:
- name: calico-etcd
- namespace: calico-system
-spec:
- hostNetwork: true
- containers:
- - name: calico-etcd-container
- image: gcr.io/google_containers/etcd:2.2.1
- command:
- - "/usr/local/bin/etcd"
- - "--name=calico-etcd"
- - "--data-dir=/var/etcd/calico-data"
- - "--advertise-client-urls=http://{{ master.apiserver.address }}:6666"
- - "--listen-client-urls=http://0.0.0.0:6666"
- - "--listen-peer-urls=http://0.0.0.0:6660"
- securityContext:
- privileged: true
- ports:
- - name: clientport
- containerPort: 6666
- hostPort: 6666
- volumeMounts:
- - mountPath: /var/etcd
- name: varetcd
- volumes:
- - name: "varetcd"
- hostPath:
- path: "/mnt/master-pd/var/etcd"
\ No newline at end of file
diff --git a/kubernetes/files/manifest/flannel-server.manifest b/kubernetes/files/manifest/flannel-server.manifest
index ac2b1e3..532a0ba 100644
--- a/kubernetes/files/manifest/flannel-server.manifest
+++ b/kubernetes/files/manifest/flannel-server.manifest
@@ -52,7 +52,7 @@
"command": [
"/bin/sh",
"-c",
- "/opt/bin/flanneld -listen 0.0.0.0:10253 -etcd-endpoints {% for member in master.etcd.members %}http://{{ member.host }}:4001{% if not loop.last %},{% endif %}{% endfor %} -etcd-prefix /kubernetes.io/network 2>&1 | tee -a /var/log/flannel-server.log"
+ "/opt/bin/flanneld -listen 0.0.0.0:10253 -etcd-endpoints {% for member in master.network.etcd.members %}http://{{ member.host }}:4001{% if not loop.last %},{% endif %}{% endfor %} -etcd-prefix /kubernetes.io/network 2>&1 | tee -a /var/log/flannel-server.log"
],
"ports": [
{
diff --git a/kubernetes/master/calico.sls b/kubernetes/master/calico.sls
index 36df8c4..e2833b4 100644
--- a/kubernetes/master/calico.sls
+++ b/kubernetes/master/calico.sls
@@ -1,18 +1,6 @@
{%- from "kubernetes/map.jinja" import master with context %}
{%- if master.enabled %}
-/etc/kubernetes/manifests/calico-etcd.manifest:
- file.managed:
- - source: salt://kubernetes/files/manifest/calico-etcd.manifest
- - user: root
- - group: root
- - mode: 644
- - makedirs: true
- - dir_mode: 755
- - template: jinja
-
-{%- if not pillar.kubernetes.pool is defined %}
-
/etc/calico/network-environment:
file.managed:
- source: salt://kubernetes/files/calico/network-environment.master
@@ -23,7 +11,7 @@
- dir_mode: 755
- template: jinja
-/etc/systemd/calico-node.service:
+/etc/systemd/system/calico-node.service:
file.managed:
- source: salt://kubernetes/files/calico/calico-node.service
- user: root
@@ -42,8 +30,6 @@
- name: calico-node
- enable: True
- watch:
- - file: /etc/systemd/calico-node.service
-
-{%- endif %}
+ - file: /etc/systemd/system/calico-node.service
{%- endif %}
\ No newline at end of file
diff --git a/kubernetes/master/init.sls b/kubernetes/master/init.sls
index 3c28c89..51a365d 100644
--- a/kubernetes/master/init.sls
+++ b/kubernetes/master/init.sls
@@ -13,8 +13,10 @@
- kubernetes.master.flannel
{%- endif %}
{%- if master.network.engine == "calico" %}
+{%- if not pillar.kubernetes.pool is defined %}
- kubernetes.master.calico
{%- endif %}
+{%- endif %}
{%- if master.storage.get('engine', 'none') == 'glusterfs' %}
- kubernetes.master.glusterfs
{%- endif %}
diff --git a/kubernetes/pool/calico.sls b/kubernetes/pool/calico.sls
index f962e5c..adcfb4d 100644
--- a/kubernetes/pool/calico.sls
+++ b/kubernetes/pool/calico.sls
@@ -11,8 +11,8 @@
/opt/cni/bin/calico:
file.managed:
- - source: https://github.com/projectcalico/calico-cni/releases/download/v1.0.0/calico
- - source_hash: md5=c829450f7e9d7abe81b3a8b37fc787a4
+ - source: https://github.com/projectcalico/calico-cni/releases/download/{{ pool.network.cni.version }}/calico
+ - source_hash: md5={{ pool.network.cni.hash }}
- mode: 751
- makedirs: true
- user: root
@@ -20,8 +20,8 @@
/opt/cni/bin/calico-ipam:
file.managed:
- - source: https://github.com/projectcalico/calico-cni/releases/download/v1.0.0/calico-ipam
- - source_hash: md5=a40d4db5b3acbb6dc93330b84d25d936
+ - source: https://github.com/projectcalico/calico-cni/releases/download/{{ pool.network.ipam.version }}/calico-ipam
+ - source_hash: md5={{ pool.network.ipam.hash }}
- mode: 751
- makedirs: true
- user: root
@@ -47,7 +47,7 @@
- dir_mode: 755
- template: jinja
-/etc/systemd/calico-node.service:
+/etc/systemd/system/calico-node.service:
file.managed:
- source: salt://kubernetes/files/calico/calico-node.service
- user: root
@@ -58,6 +58,6 @@
- name: calico-node
- enable: True
- watch:
- - file: /etc/systemd/calico-node.service
+ - file: /etc/systemd/system/calico-node.service
{%- endif %}
\ No newline at end of file
diff --git a/kubernetes/pool/kubelet.sls b/kubernetes/pool/kubelet.sls
index 4667e40..f79dfa5 100644
--- a/kubernetes/pool/kubelet.sls
+++ b/kubernetes/pool/kubelet.sls
@@ -21,7 +21,7 @@
/etc/kubernetes/config:
file.absent
-{%- if pool.host.labels is defined %}
+{%- if pool.host.label is defined %}
{%- for name,label in pool.host.label.iteritems() %}
diff --git a/metadata/service/master/cluster.yml b/metadata/service/master/cluster.yml
index 6359e40..f68e5ff 100644
--- a/metadata/service/master/cluster.yml
+++ b/metadata/service/master/cluster.yml
@@ -49,4 +49,13 @@
engine: none
namespace:
kube-system:
- enabled: True
\ No newline at end of file
+ enabled: True
+ network:
+ etcd:
+ members:
+ - host: ${_param:cluster_node01_address}
+ port: 4001
+ - host: ${_param:cluster_node02_address}
+ port: 4001
+ - host: ${_param:cluster_node03_address}
+ port: 4001
\ No newline at end of file
diff --git a/metadata/service/master/single.yml b/metadata/service/master/single.yml
index c145469..2f76e7d 100644
--- a/metadata/service/master/single.yml
+++ b/metadata/service/master/single.yml
@@ -45,4 +45,9 @@
engine: none
namespace:
kube-system:
- enabled: True
\ No newline at end of file
+ enabled: True
+ network:
+ etcd:
+ members:
+ - host: ${_param:single_address}
+ port: 4001
\ No newline at end of file
diff --git a/metadata/service/pool/cluster.yml b/metadata/service/pool/cluster.yml
index dc87cbb..e79a104 100644
--- a/metadata/service/pool/cluster.yml
+++ b/metadata/service/pool/cluster.yml
@@ -18,12 +18,7 @@
- host: ${_param:cluster_node01_address}
- host: ${_param:cluster_node02_address}
- host: ${_param:cluster_node03_address}
- etcd:
- members:
- - host: ${_param:cluster_node01_address}
- - host: ${_param:cluster_node02_address}
- - host: ${_param:cluster_node03_address}
- address: 0.0.0.0
+ address: ${_param:cluster_local_address}
cluster_dns: 10.254.0.10
cluster_domain: cluster.local
kubelet:
@@ -33,4 +28,13 @@
token:
kubelet: ${_param:kubernetes_kubelet_token}
kube_proxy: ${_param:kubernetes_kube-proxy_token}
- ca: kubernetes
\ No newline at end of file
+ ca: kubernetes
+ network:
+ etcd:
+ members:
+ - host: ${_param:cluster_node01_address}
+ port: 4001
+ - host: ${_param:cluster_node02_address}
+ port: 4001
+ - host: ${_param:cluster_node03_address}
+ port: 4001
\ No newline at end of file
diff --git a/metadata/service/pool/single.yml b/metadata/service/pool/single.yml
index ac4254e..68ec845 100644
--- a/metadata/service/pool/single.yml
+++ b/metadata/service/pool/single.yml
@@ -30,4 +30,9 @@
token:
kubelet: ${_param:kubernetes_kubelet_token}
kube_proxy: ${_param:kubernetes_kube-proxy_token}
- ca: kubernetes
\ No newline at end of file
+ ca: kubernetes
+ network:
+ etcd:
+ members:
+ - host: ${_param:master_address}
+ port: 4001
\ No newline at end of file