Skip to content

Instantly share code, notes, and snippets.

@vadikgo
Last active March 26, 2018 20:31
Show Gist options
  • Save vadikgo/8caed4412f02b937c6aeb38bde3bfab4 to your computer and use it in GitHub Desktop.
Save vadikgo/8caed4412f02b937c6aeb38bde3bfab4 to your computer and use it in GitHub Desktop.
Pull Kubespray images
---
- hosts: localhost
connection: local
tasks:
- name: Load containers tags
include_vars: "{{ item }}"
with_items:
- ../kubespray/roles/download/defaults/main.yml
- ../kubespray/roles/kubernetes-apps/ansible/defaults/main.yml
- ../var/images.yml
- name: Create directory for images archives
file:
path: "{{ image_archive_dir }}"
state: directory
- name: Pull image from docker repository
docker_image:
name: "{{ item.image }}"
archive_path: "{{ image_archive_dir }}/{{ item.image | replace('/', '_') | replace(':', '-') }}.tar"
when: lookup('pipe', 'docker images -q -f reference='+item.image) == ''
with_items: "{{ images_tags }}"
- name: Archive images
archive:
path: "{{ image_archive_dir }}/{{ item.image | replace('/', '_') | replace(':', '-') }}.tar"
remove: yes
format: bz2
with_items: "{{ images_tags }}"
- name: Tag cockpit/kubernetes image
command: >
docker tag {{ item.image }} {{ item.local }}
when: lookup('pipe', 'docker images -q -f reference='+item.local) == ''
with_items: "{{ images_tags }}"
- name: Push image to private-gitlab
docker_image:
name: "{{ item.local }}"
push: yes
with_items: "{{ images_tags }}"
vars:
image_archive_dir: "{{ '~/Downloads/kubernetes' | expanduser }}"
# Containers map
etcd_image_repo: "private-repo.example.com:4567/kubernetes/images/coreos/etcd"
flannel_image_repo: "private-repo.example.com:4567/kubernetes/images/coreos/flannel"
flannel_cni_image_repo: "private-repo.example.com:4567/kubernetes/images/coreos/flannel-cni"
calicoctl_image_repo: "private-repo.example.com:4567/kubernetes/images/calico/ctl"
calico_node_image_repo: "private-repo.example.com:4567/kubernetes/images/calico/node"
calico_cni_image_repo: "private-repo.example.com:4567/kubernetes/images/calico/cni"
calico_policy_image_repo: "private-repo.example.com:4567/kubernetes/images/calico/kube-controllers"
calico_rr_image_repo: "private-repo.example.com:4567/kubernetes/images/calico/routereflector"
hyperkube_image_repo: "private-repo.example.com:4567/kubernetes/images/coreos/hyperkube"
pod_infra_image_repo: "private-repo.example.com:4567/kubernetes/images/google_containers/pause-amd64"
install_socat_image_repo: "private-repo.example.com:4567/kubernetes/images/install-socat"
netcheck_agent_img_repo: "private-repo.example.com:4567/kubernetes/images/l23network/k8s-netchecker-agent"
netcheck_server_img_repo: "private-repo.example.com:4567/kubernetes/images/l23network/k8s-netchecker-server"
weave_kube_image_repo: "private-repo.example.com:4567/kubernetes/images/weave-kube"
weave_npc_image_repo: "private-repo.example.com:4567/kubernetes/images/weave-npc"
contiv_image_repo: "private-repo.example.com:4567/kubernetes/images/netplugin"
contiv_auth_proxy_image_repo: "private-repo.example.com:4567/kubernetes/images/auth_proxy"
nginx_image_repo: private-repo.example.com:4567/kubernetes/images/nginx
dnsmasq_image_repo: "private-repo.example.com:4567/kubernetes/images/dnsmasq"
kubedns_image_repo: "private-repo.example.com:4567/kubernetes/images/google_containers/k8s-dns-kube-dns-amd64"
dnsmasq_nanny_image_repo: "private-repo.example.com:4567/kubernetes/images/google_containers/k8s-dns-dnsmasq-nanny-amd64"
dnsmasq_sidecar_image_repo: "private-repo.example.com:4567/kubernetes/images/google_containers/k8s-dns-sidecar-amd64"
dnsmasqautoscaler_image_repo: "private-repo.example.com:4567/kubernetes/images/google_containers/cluster-proportional-autoscaler-amd64"
kubednsautoscaler_image_repo: "private-repo.example.com:4567/kubernetes/images/google_containers/cluster-proportional-autoscaler-amd64"
test_image_repo: private-repo.example.com:4567/kubernetes/images
elasticsearch_image_repo: "private-repo.example.com:4567/kubernetes/images/google_containers/elasticsearch"
fluentd_image_repo: "private-repo.example.com:4567/kubernetes/images/google_containers/fluentd-elasticsearch"
kibana_image_repo: "private-repo.example.com:4567/kubernetes/images/google_containers/kibana"
helm_image_repo: "private-repo.example.com:4567/kubernetes/images/k8s-helm"
tiller_image_repo: "private-repo.example.com:4567/kubernetes/images/kubernetes-helm/tiller"
vault_image_repo: "private-repo.example.com:4567/kubernetes/images/vault"
dashboard_image_repo: private-repo.example.com:4567/kubernetes/images/google_containers/kubernetes-dashboard-amd64
dashboard_image_tag: v1.8.2
dashboard_init_image_repo: private-repo.example.com:4567/kubernetes/images/google_containers/kubernetes-dashboard-init-amd64
images_tags:
- image: "quay.io/coreos/etcd:{{ etcd_image_tag }}"
local: "{{ etcd_image_repo }}:{{ etcd_image_tag }}"
- image: "quay.io/coreos/flannel:{{ flannel_version }}"
local: "{{ flannel_image_repo }}:{{ flannel_version }}"
- image: "quay.io/coreos/flannel-cni:{{ flannel_cni_image_tag }}"
local: "{{ flannel_cni_image_repo }}:{{ flannel_cni_image_tag }}"
- image: "quay.io/calico/ctl:{{ calicoctl_image_tag }}"
local: "{{ calicoctl_image_repo }}:{{ calicoctl_image_tag }}"
- image: "quay.io/calico/node:{{ calico_node_image_tag }}"
local: "{{ calico_node_image_repo }}:{{ calico_node_image_tag }}"
- image: "quay.io/calico/cni:{{ calico_cni_image_tag }}"
local: "{{ calico_cni_image_repo }}:{{ calico_cni_image_tag }}"
- image: "quay.io/calico/kube-controllers:{{ calico_policy_image_tag }}"
local: "{{ calico_policy_image_repo }}:{{ calico_policy_image_tag }}"
- image: "quay.io/calico/routereflector:{{ calico_rr_image_tag }}"
local: "{{ calico_rr_image_repo }}:{{ calico_rr_image_tag }}"
- image: "quay.io/coreos/hyperkube:{{ hyperkube_image_tag }}"
local: "{{ hyperkube_image_repo }}:{{ hyperkube_image_tag }}"
- image: "gcr.io/google_containers/pause-amd64:{{ pod_infra_image_tag }}"
local: "{{ pod_infra_image_repo }}:{{ pod_infra_image_tag }}"
- image: "xueshanf/install-socat:{{ install_socat_image_tag }}"
local: "{{ install_socat_image_repo }}:{{ install_socat_image_tag }}"
- image: "quay.io/l23network/k8s-netchecker-agent:{{ netcheck_agent_tag }}"
local: "{{ netcheck_agent_img_repo }}:{{ netcheck_agent_tag }}"
- image: "quay.io/l23network/k8s-netchecker-server:{{ netcheck_server_tag }}"
local: "{{ netcheck_server_img_repo }}:{{ netcheck_server_tag }}"
- image: "weaveworks/weave-kube:{{ weave_kube_image_tag }}"
local: "{{ weave_kube_image_repo }}:{{ weave_kube_image_tag }}"
- image: "weaveworks/weave-npc:{{ weave_npc_image_tag }}"
local: "{{ weave_npc_image_repo }}:{{ weave_npc_image_tag }}"
- image: "contiv/netplugin:{{ contiv_image_tag }}"
local: "{{ contiv_image_repo }}:{{ contiv_image_tag }}"
- image: "contiv/auth_proxy:{{ contiv_auth_proxy_image_tag }}"
local: "{{ contiv_auth_proxy_image_repo }}:{{ contiv_auth_proxy_image_tag }}"
- image: "nginx:{{ nginx_image_tag }}"
local: "{{ nginx_image_repo }}:{{ nginx_image_tag }}"
- image: "andyshinn/dnsmasq:{{ dnsmasq_image_tag }}"
local: "{{ dnsmasq_image_repo }}:{{ dnsmasq_image_tag }}"
- image: "gcr.io/google_containers/k8s-dns-kube-dns-amd64:{{ kubedns_image_tag }}"
local: "{{ kubedns_image_repo }}:{{ kubedns_image_tag }}"
- image: "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:{{ dnsmasq_nanny_image_tag }}"
local: "{{ dnsmasq_nanny_image_repo }}:{{ dnsmasq_nanny_image_tag }}"
- image: "gcr.io/google_containers/k8s-dns-sidecar-amd64:{{ dnsmasq_sidecar_image_tag }}"
local: "{{ dnsmasq_sidecar_image_repo }}:{{ dnsmasq_sidecar_image_tag }}"
- image: "gcr.io/google_containers/cluster-proportional-autoscaler-amd64:{{ dnsmasqautoscaler_image_tag }}"
local: "{{ dnsmasqautoscaler_image_repo }}:{{ dnsmasqautoscaler_image_tag }}"
- image: "gcr.io/google_containers/cluster-proportional-autoscaler-amd64:{{ kubednsautoscaler_image_tag }}"
local: "{{ kubednsautoscaler_image_repo }}:{{ kubednsautoscaler_image_tag }}"
- image: "busybox:{{ test_image_tag }}"
local: "{{ test_image_repo }}/busybox:{{ test_image_tag }}"
- image: "gcr.io/google_containers/elasticsearch:{{ elasticsearch_image_tag }}"
local: "{{ elasticsearch_image_repo }}:{{ elasticsearch_image_tag }}"
- image: "gcr.io/google_containers/fluentd-elasticsearch:{{ fluentd_image_tag }}"
local: "{{ fluentd_image_repo }}:{{ fluentd_image_tag }}"
- image: "gcr.io/google_containers/kibana:{{ kibana_image_tag }}"
local: "{{ kibana_image_repo }}:{{ kibana_image_tag }}"
- image: "lachlanevenson/k8s-helm:{{ helm_image_tag }}"
local: "{{ helm_image_repo }}:{{ helm_image_tag }}"
- image: "gcr.io/kubernetes-helm/tiller:{{ tiller_image_tag }}"
local: "{{ tiller_image_repo }}:{{ tiller_image_tag }}"
- image: "vault:{{ vault_image_tag }}"
local: "{{ vault_image_repo }}:{{ vault_image_tag }}"
- image: k8s.gcr.io/kubernetes-dashboard-amd64:{{ dashboard_image_tag }}
local: "{{ dashboard_image_repo }}:{{ dashboard_image_tag }}"
- image: gcr.io/google_containers/kubernetes-dashboard-init-amd64:{{ dashboard_init_image_tag }}
local: "{{ dashboard_init_image_repo }}:{{ dashboard_init_image_tag }}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment