Revert "update sources of k8s and calico installation"
This reverts commit 76ecb2d41fc078054259ba68a7ba9720dbf02968.
Change-Id: Idffc40a6deae187c70671a968dd059463c72e3f0
diff --git a/README.rst b/README.rst
index 4f7a3e3..deff35b 100644
--- a/README.rst
+++ b/README.rst
@@ -16,23 +16,6 @@
Sample pillars
==============
-**REQUIRED:** Define image to use for hyperkube, CNIs and calicoctl image
-
-.. code-block:: yaml
-
- parameters:
- kubernetes:
- common:
- hyperkube:
- image: gcr.io/google_containers/hyperkube:v1.4.6
- pool:
- network:
- calicoctl:
- image: calico/ctl
- cni:
- image: calico/cni
-
-
Containers on pool definitions in pool.service.local
.. code-block:: yaml
diff --git a/kubernetes/_common.sls b/kubernetes/_common.sls
index d6521bf..41adc6f 100644
--- a/kubernetes/_common.sls
+++ b/kubernetes/_common.sls
@@ -16,85 +16,4 @@
- source_hash: md5=972c717254775bef528f040af804f2cc
- archive_format: tar
- if_missing: /usr/local/src/flannel/flannel-0.5.5/
-{%- endif %}
-
-{%- if common.hyperkube %}
-/root/.bashrc:
- file.append:
- - text: alias kubectl="hyperkube kubectl"
- - makedirs: True
-
-/tmp/hyperkube:
- file.directory:
- - user: root
- - group: root
-
-hyperkube-copy:
- dockerng.running:
- - image: {{ common.hyperkube.image }}
- - command: cp -v /hyperkube /tmp/hyperkube
- - binds:
- - /tmp/hyperkube/:/tmp/hyperkube/
- - force: True
- - require:
- - file: /tmp/hyperkube
-
-/usr/bin/hyperkube:
- file.managed:
- - source: /tmp/hyperkube/hyperkube
- - mode: 751
- - makedirs: true
- - user: root
- - group: root
- - require:
- - dockerng: hyperkube-copy
-
-/etc/systemd/system/kubelet.service:
- file.managed:
- - source: salt://kubernetes/files/systemd/kubelet.service
- - template: jinja
- - user: root
- - group: root
- - mode: 644
-
-/etc/kubernetes/config:
- file.absent
-
-/etc/kubernetes/manifests:
- file.directory:
- - user: root
- - group: root
- - mode: 0751
-
-{%- if not pillar.kubernetes.pool is defined %}
-
-/etc/default/kubelet:
- file.managed:
- - source: salt://kubernetes/files/kubelet/default.master
- - template: jinja
- - user: root
- - group: root
- - mode: 644
-
-{%- else %}
-
-/etc/default/kubelet:
- file.managed:
- - source: salt://kubernetes/files/kubelet/default.pool
- - template: jinja
- - user: root
- - group: root
- - mode: 644
-
-{%- endif %}
-
-
-kubelet_service:
- service.running:
- - name: kubelet
- - enable: True
- - watch:
- - file: /etc/default/kubelet
- - file: /usr/bin/hyperkube
-
-{% endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/kubernetes/files/calico/calico-node.service.pool b/kubernetes/files/calico/calico-node.service.pool
index 08424a0..07801ec 100644
--- a/kubernetes/files/calico/calico-node.service.pool
+++ b/kubernetes/files/calico/calico-node.service.pool
@@ -35,7 +35,7 @@
-v {{ volume }} \
{%- endfor %}
{%- endif %}
- {{ pool.network.get('image', 'calico/node') }}
+ {{ pool.network.get('image', 'calico/node') }}:{{ pool.network.get('image', 'latest') }}
Restart=always
RestartSec=10s
@@ -43,4 +43,4 @@
ExecStop=-/usr/bin/docker stop calico-node
[Install]
-WantedBy=multi-user.target
+WantedBy=multi-user.target
\ No newline at end of file
diff --git a/kubernetes/master/controller.sls b/kubernetes/master/controller.sls
index fd8435b..2d54236 100644
--- a/kubernetes/master/controller.sls
+++ b/kubernetes/master/controller.sls
@@ -124,10 +124,47 @@
- file: /etc/default/kube-apiserver
- file: /etc/default/kube-scheduler
- file: /etc/default/kube-controller-manager
- - file: /usr/bin/hyperkube
{%- endif %}
+{%- if not pillar.kubernetes.pool is defined %}
+
+/usr/bin/hyperkube:
+ file.managed:
+ - source: {{ master.hyperkube.get('source', 'http://apt.tcpcloud.eu/kubernetes/bin/') }}{{ master.version }}/hyperkube
+ - source_hash: md5={{ master.hyperkube.hash }}
+ - mode: 751
+ - makedirs: true
+ - user: root
+ - group: root
+
+/etc/systemd/system/kubelet.service:
+ file.managed:
+ - source: salt://kubernetes/files/systemd/kubelet.service
+ - template: jinja
+ - user: root
+ - group: root
+ - mode: 644
+
+/etc/kubernetes/config:
+ file.absent
+
+/etc/default/kubelet:
+ file.managed:
+ - source: salt://kubernetes/files/kubelet/default.master
+ - template: jinja
+ - user: root
+ - group: root
+ - mode: 644
+
+kubelet_service:
+ service.running:
+ - name: kubelet
+ - enable: True
+ - watch:
+ - file: /etc/default/kubelet
+
+{%- endif %}
{%- for name,namespace in master.namespace.iteritems() %}
@@ -167,4 +204,4 @@
{%- endif %}
-{%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/kubernetes/master/setup.sls b/kubernetes/master/setup.sls
index cf3d7a8..72b378b 100644
--- a/kubernetes/master/setup.sls
+++ b/kubernetes/master/setup.sls
@@ -7,9 +7,9 @@
kubernetes_addons_{{ addon_name }}:
cmd.run:
- name: |
- hyperkube kubectl apply -f /etc/kubernetes/addons/{{ addon_name }}
+ hyperkube kubectl create -f /etc/kubernetes/addons/{{ addon_name }}
- unless: "hyperkube kubectl get rc {{ addon.get('name', addon_name) }} --namespace=kube-system"
{%- endif %}
{%- endfor %}
-{%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/kubernetes/pool/calico.sls b/kubernetes/pool/calico.sls
index fbe7bdb..c0193ac 100644
--- a/kubernetes/pool/calico.sls
+++ b/kubernetes/pool/calico.sls
@@ -1,52 +1,31 @@
{%- from "kubernetes/map.jinja" import pool with context %}
{%- if pool.enabled %}
-/tmp/calico/:
- file.directory:
- - user: root
- - group: root
-
-copy-calico-ctl:
- dockerng.running:
- - image: {{ pool.network.calicoctl.image }}
-
-copy-calico-ctl-cmd:
- cmd.run:
- - name: docker cp copy-calico-ctl:calicoctl /tmp/calico/
- - require:
- - dockerng: copy-calico-ctl
-
/usr/bin/calicoctl:
file.managed:
- - source: /tmp/calico/calicoctl
+ - source: {{ pool.network.get('source', 'https://github.com/projectcalico/calico-containers/releases/download/') }}{{ pool.network.version }}/calicoctl
+ - source_hash: md5={{ pool.network.hash }}
- mode: 751
- user: root
- group: root
- - require:
- - cmd: copy-calico-ctl-cmd
-copy-calico-cni:
- dockerng.running:
- - image: {{ pool.network.cni.image }}
- - command: cp -vr /opt/cni/bin/ /tmp/calico/
- - binds:
- - /tmp/calico/:/tmp/calico/
- - force: True
-
-{%- for filename in ['calico', 'calico-ipam'] %}
-
-/opt/cni/bin/{{ filename }}:
+/opt/cni/bin/calico:
file.managed:
- - source: /tmp/calico/bin/{{ filename }}
+ - source: {{ pool.network.cni.get('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
- group: root
- - require:
- - dockerng: copy-calico-cni
- - require_in:
- - service: calico_node
-{%- endfor %}
+
+/opt/cni/bin/calico-ipam:
+ file.managed:
+ - source: {{ pool.network.ipam.get('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
+ - group: root
/etc/cni/net.d/10-calico.conf:
file.managed:
@@ -85,4 +64,4 @@
- file: /etc/systemd/system/calico-node.service
{%- endif %}
-{%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/kubernetes/pool/cni.sls b/kubernetes/pool/cni.sls
index 650635e..8c696bc 100644
--- a/kubernetes/pool/cni.sls
+++ b/kubernetes/pool/cni.sls
@@ -1,38 +1,14 @@
{%- from "kubernetes/map.jinja" import pool with context %}
-{%- from "kubernetes/map.jinja" import common with context %}
{%- if pool.enabled %}
-{%- if common.hyperkube %}
-
-/tmp/cni/:
- file.directory:
- - user: root
- - group: root
-
-copy-network-cni:
- dockerng.running:
- - image: {{ common.hyperkube.image }}
- - command: cp -vr /opt/cni/bin/ /tmp/cni/
- - binds:
- - /tmp/cni/:/tmp/cni/
- - force: True
- - require:
- - file: /tmp/cni/
-
-{%- for filename in ['cnitool', 'flannel', 'tuning', 'bridge', 'ipvlan', 'loopback', 'macvlan', 'ptp', 'dhcp', 'host-local', 'noop'] %}
-/opt/cni/bin/{{ filename }}:
- file.managed:
- - source: /tmp/cni/bin/{{ filename }}
- - user: root
- - group: root
- - mode: 755
- - watch_in:
- - service: kubelet_service
- - require:
- - dockerng: copy-network-cni
-
-{%- endfor %}
-
-{%- endif %}
+cni-tar:
+ archive:
+ - extracted
+ - name: /opt/cni/bin
+ - source: https://github.com/containernetworking/cni/releases/download/{{ pool.cni.version }}/cni-{{ pool.cni.version }}.tgz
+ - tar_options: v
+ - source_hash: md5={{ pool.cni.hash }}
+ - archive_format: tar
+ - if_missing: /opt/cni/bin/loopback
{%- endif %}
diff --git a/kubernetes/pool/init.sls b/kubernetes/pool/init.sls
index e43e53d..6f56c27 100644
--- a/kubernetes/pool/init.sls
+++ b/kubernetes/pool/init.sls
@@ -1,12 +1,12 @@
{%- from "kubernetes/map.jinja" import pool with context %}
include:
-- kubernetes.pool.cni
- kubernetes.pool.service
{%- if pool.network.engine == "calico" %}
- kubernetes.pool.calico
{%- endif %}
+- kubernetes.pool.cni
- kubernetes.pool.kubelet
{%- if pool.network.engine == "flannel" %}
- kubernetes.pool.flannel
{%- endif %}
-- kubernetes.pool.kube-proxy
+- kubernetes.pool.kube-proxy
\ No newline at end of file
diff --git a/kubernetes/pool/kube-proxy.sls b/kubernetes/pool/kube-proxy.sls
index 8aa64be..3e39c37 100644
--- a/kubernetes/pool/kube-proxy.sls
+++ b/kubernetes/pool/kube-proxy.sls
@@ -45,7 +45,6 @@
- enable: True
- watch:
- file: /etc/default/kube-proxy
- - file: /usr/bin/hyperkube
{%- endif %}
diff --git a/kubernetes/pool/kubelet.sls b/kubernetes/pool/kubelet.sls
index 292ef96..3fc3c2c 100644
--- a/kubernetes/pool/kubelet.sls
+++ b/kubernetes/pool/kubelet.sls
@@ -1,6 +1,14 @@
{%- from "kubernetes/map.jinja" import pool with context %}
{%- if pool.enabled %}
+/etc/default/kubelet:
+ file.managed:
+ - source: salt://kubernetes/files/kubelet/default.pool
+ - template: jinja
+ - user: root
+ - group: root
+ - mode: 644
+
/etc/kubernetes/kubelet.kubeconfig:
file.managed:
- source: salt://kubernetes/files/kubelet/kubelet.kubeconfig
@@ -10,6 +18,9 @@
- mode: 644
- makedirs: true
+/etc/kubernetes/config:
+ file.absent
+
manifest-dir-create:
file.directory:
- name: /etc/kubernetes/manifests
@@ -44,4 +55,28 @@
{%- endif %}
+/usr/bin/hyperkube:
+ file.managed:
+ - source: {{ pool.hyperkube.get('source', {}).get('url', 'http://apt.tcpcloud.eu/kubernetes/bin/') }}{{ pool.version }}/hyperkube
+ - source_hash: md5={{ pool.hyperkube.hash }}
+ - mode: 751
+ - makedirs: true
+ - user: root
+ - group: root
+
+/etc/systemd/system/kubelet.service:
+ file.managed:
+ - source: salt://kubernetes/files/systemd/kubelet.service
+ - template: jinja
+ - user: root
+ - group: root
+ - mode: 644
+
+kubelet_service:
+ service.running:
+ - name: kubelet
+ - enable: True
+ - watch:
+ - file: /etc/default/kubelet
+
{%- endif %}
diff --git a/metadata/service/common.yml b/metadata/service/common.yml
index b02880d..f1f8197 100644
--- a/metadata/service/common.yml
+++ b/metadata/service/common.yml
@@ -2,4 +2,4 @@
kubernetes:
common:
network:
- engine: none
+ engine: none
\ No newline at end of file
diff --git a/metadata/service/master/cluster.yml b/metadata/service/master/cluster.yml
index 46d391f..4076dd8 100644
--- a/metadata/service/master/cluster.yml
+++ b/metadata/service/master/cluster.yml
@@ -7,6 +7,7 @@
kubernetes:
master:
enabled: true
+ version: ${_param:kubernetes_version}
registry:
host: tcpcloud
service_addresses: 10.254.0.0/16
@@ -32,10 +33,6 @@
replicas: 1
domain: cluster.local
server: 10.254.0.10
- dashboard:
- enabled: True
- heapster_influxdb:
- enabled: False
token:
admin: ${_param:kubernetes_admin_token}
kubelet: ${_param:kubernetes_kubelet_token}
@@ -57,4 +54,4 @@
- host: ${_param:cluster_node02_address}
port: 4001
- host: ${_param:cluster_node03_address}
- port: 4001
+ port: 4001
\ No newline at end of file
diff --git a/metadata/service/master/single.yml b/metadata/service/master/single.yml
index 4c4fcf2..21f2eb7 100644
--- a/metadata/service/master/single.yml
+++ b/metadata/service/master/single.yml
@@ -7,6 +7,7 @@
kubernetes:
master:
enabled: true
+ version: ${_param:kubernetes_version}
registry:
host: tcpcloud
service_addresses: 10.254.0.0/16
@@ -28,10 +29,6 @@
replicas: 1
domain: cluster.local
server: 10.254.0.10
- dashboard:
- enabled: True
- heapster_influxdb:
- enabled: False
token:
admin: ${_param:kubernetes_admin_token}
kubelet: ${_param:kubernetes_kubelet_token}
@@ -49,4 +46,4 @@
etcd:
members:
- host: ${_param:single_address}
- port: 4001
+ port: 4001
\ No newline at end of file
diff --git a/metadata/service/pool/cluster.yml b/metadata/service/pool/cluster.yml
index 7c42e12..ea0bc8a 100644
--- a/metadata/service/pool/cluster.yml
+++ b/metadata/service/pool/cluster.yml
@@ -7,6 +7,7 @@
kubernetes:
pool:
enabled: true
+ version: ${_param:kubernetes_version}
registry:
host: tcpcloud
host:
@@ -41,3 +42,6 @@
port: 4001
- host: ${_param:cluster_node03_address}
port: 4001
+ cni:
+ version: v0.3.0
+ hash: 58237532e1b2b1be1fb3d12457da85f5
\ No newline at end of file
diff --git a/metadata/service/pool/single.yml b/metadata/service/pool/single.yml
index b01a719..f3cb7c0 100644
--- a/metadata/service/pool/single.yml
+++ b/metadata/service/pool/single.yml
@@ -7,6 +7,7 @@
kubernetes:
pool:
enabled: true
+ version: ${_param:kubernetes_version}
registry:
host: tcpcloud
host:
@@ -34,3 +35,6 @@
members:
- host: ${_param:master_address}
port: 4001
+ cni:
+ version: v0.3.0
+ hash: 58237532e1b2b1be1fb3d12457da85f5
\ No newline at end of file
diff --git a/tests/pillar/master_cluster.sls b/tests/pillar/master_cluster.sls
index af37946..f951eb3 100644
--- a/tests/pillar/master_cluster.sls
+++ b/tests/pillar/master_cluster.sls
@@ -2,8 +2,6 @@
common:
network:
engine: none
- hyperkube:
- image: hyperkube-amd64:v1.5.0-beta.3-1
master:
addons:
dns:
diff --git a/tests/pillar/pool_cluster.sls b/tests/pillar/pool_cluster.sls
index 71dda18..f639738 100644
--- a/tests/pillar/pool_cluster.sls
+++ b/tests/pillar/pool_cluster.sls
@@ -2,8 +2,6 @@
common:
network:
engine: none
- hyperkube:
- image: hyperkube-amd64:v1.5.0-beta.3-1
pool:
enabled: true
version: v1.2.0
@@ -29,10 +27,9 @@
kube_proxy: DFvQ8GelB7afH3wClC9romaMPhquyyEe
ca: kubernetes
network:
- calicoctl:
- image: calico/ctl
cni:
- image: calico/cni
+ hash: 06550617ec199e89a57c94c88c891422
+ version: v1.3.1
engine: calico
hash: c15ae251b633109e63bf128c2fbbc34a
ipam:
@@ -49,3 +46,6 @@
port: 4001
hyperkube:
hash: hnsj0XqABgrSww7Nqo7UVTSZLJUt2XRd
+ cni:
+ version: v0.3.0
+ hash: 58237532e1b2b1be1fb3d12457da85f5
\ No newline at end of file