editing windows

This commit is contained in:
Mark Bishop
2018-09-27 15:34:28 -07:00
parent 9303db72f8
commit 6c5f49cf1c
12 changed files with 324 additions and 55 deletions
@@ -3,89 +3,85 @@ title: Using Windows Container
weight: 2600
---
Since the release of [Windows Server version 1803](https://docs.microsoft.com/en-us/windows-server/get-started/whats-new-in-windows-server-1803), you can be able to try Windows containers more efficiently and more stable on deploying Kubernetes v1.9 and later.
Using Rancher, you can provision Windows Server hosts as nodes in a custom Kubernetes cluster.
On the article [Using Windows Server Containers in Kubernetes](https://kubernetes.io/docs/getting-started-guides/windows/#supported-features), you can find out which Kubernetes features are supporting on Windows now.
>**Notes:**
>
>- Windows nodes are experimental and not yet officially supported. Therefore, we do not recommend using Windows and in a production environment.
>- For a summary of Kubernetes features supported in Windows, see [Using Windows Server Containers in Kubernetes](https://kubernetes.io/docs/getting-started-guides/windows/#supported-features).
It is relatively simple to use Windows server containers on Kubernetes cluster via {{< product >}}, but you still have some attention:
## Before You Start
- The host must be able to run [microsoft/nanoserver:1803
](https://hub.docker.com/r/microsoft/nanoserver/tags/) as Windows server container not [Hyper-V container](https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container)
- The Docker v17.06 or later is installed, if not, you can follow the article about how to [Install Docker Enterprise Edition for Windows Server](https://docs.docker.com/install/windows/docker-ee/)
- Networking bases on Flannel [host-gw](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#host-gw) mode, it means you need to do some networking configuration on cloud environments
- Windows support is an **Experimental** feature on {{< product >}}
- Your host must be running [Windows Server version 1803](https://docs.microsoft.com/en-us/windows-server/get-started/whats-new-in-windows-server-1803).
- Your host must be able to run [microsoft/nanoserver:1803
](https://hub.docker.com/r/microsoft/nanoserver/tags/) as a Windows Server container (_not_ a [Hyper-V container](https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container)).
- [Docker v17.06](https://docs.docker.com/install/windows/docker-ee/) or later must be installed.
- Flannel is the only network plug-in supported for Windows [host-gw](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#host-gw), which means you need to make some manual network configuration if you host your Windows node using a cloud service.
## Objectives for Creating Cluster with Windows support
1. [Provision a Linux Host]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes#provision-a-linux-host)
Begin by provisioning a Linux host.
<!-- TOC -->
+ **Cloud-Host Virtual Machine Only:** [Host Networking Configuration](#cloud-host-vm-networking-configuration)
- [1. Provision Hosts](#1-provision-hosts)
- [2. Create the Custom Cluster](#2-create-the-custom-cluster)
- [3. Cloud-host VM Networking Configuration](#3-cloud-host-vm-networking-configuration)
- [4. Adding Windows Workers](#4-adding-windows-workers)
- [5. Cloud-host VM Routes Configuration](#5-cloud-host-vm-routes-configuration)
- [Troubleshooting](#troubleshooting)
2. [Create the Cluster](#create-the-custom-cluster)
<!-- /TOC -->
Use your new Linux host as Control Plan and etcd for your new Kubernetes cluster.
## 1. Provision Hosts
3. [Provision a Windows Host](#provision-a-windows-host)
The first thing you should do when provisioning a cluster with Windows workers is to provision your cluster nodes. Provision three nodes according to our [requirements]({{< baseurl >}}/rancher/v2.x/en/installation/requirements/)—two Linux, one Windows. The table below lists the [role]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#kubernetes-cluster-node-components) that each node will fill in your cluster.
Prepare a Windows host for Kubernetes Node.
Node | Operating System | Role
--------|------------------|------
Node 1 | Linux | [All]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#control-plane-nodes)
Node 2 | Windows | [Worker]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#worker-nodes)
Node 3 (Optional) | Linux | [Worker]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#worker-nodes) (for Ingress Support)
+ **Cloud-Host Virtual Machine Only:** [Host Networking Configuration](#cloud-host-vm-networking-configuration)
4. [Add the Windows Worker](#add-the-windows-worker)
Use the new Windows host as Worker for your above created Kubernetes cluster.
5. **Cloud-Host Virtual Machine Only:** [Routes Configuration](#cloud-host-vm-routes-configuration)
## Create the Custom Cluster
Starting to create a custom cluster is almost the same as on [Linux]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes#create-the-custom-cluster), except that you need to enable _"Windows Support (Experimental)"_ in **Cluster Options**.
>**Windows Support Note:**
>
While enabling Windows support on your cluster, the "Network Provider" will be frozen with _"Flannel"_.
If you want some automation supporting by cloud environment, such as load balancers or persistent storage devices, please follow [Selecting Cloud Providers]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers) to configure.
## Provision a Windows Host
Supporting Windows on a custom cluster by provisioning a Windows host. Your host can be:
- A cloud-host virtual machine (VM)
- An on-premise VM
- A bare-metal server
>**Bare-Metal Server Note:**
>
While creating your cluster, you must assign Kubernetes roles to your cluster nodes. If you plan on dedicating bare-metal servers to each role, you must provision a bare-metal server for each role (i.e. provision multiple bare-metal servers).
Provision the host according to the requirements below.
### Requirements
**Cloud-Host Virtual Machine Only:** [Host Networking Configuration](#cloud-host-vm-networking-configuration)
Each node in your cluster must meet our [Requirements]({{< baseurl >}}/rancher/v2.x/en/installation/requirements).
## Add the Windows Worker
## 2. Create the Custom Cluster
After the creation of a custom cluster, you can add the new Window worker into the cluster.
Follow the instructions in [Creating a Cluster with Custom Nodes]({{< baseurl >}}rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/#create-the-custom-cluster).
1. Enter the above created cluster.
These instructions flag each step that requires special actions for Windows nodes, which are listed below.
2. From the **Nodes** page, click **Edit Cluster**.
### Enable the Windows Support Option
3. Use **Node Operating System** to choose _"Windows"_.
While choosing **Cluster Options**, set **Windows Support (Experimental)** to **Enabled**.
4. Copy the command displayed on screen to your clipboard.
![Enable Windows Support]({{< baseurl >}}/img/rancher/enable-windows-support.png)
5. Log in to your Windows host using your preferred tool, such as [Microsoft Remote Desktop](https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients). Run the command copied to your clipboard on **Command Prompt (CMD)**.
### Networking Option
>**Note:** Repeat steps 4-5 if you want to dedicate specific hosts to specific node roles. Repeat the steps as many times as needed.
When choosing a network provider for a cluster that supports Windows, the only option available is Flannel.
6. When you finish running the command(s) on your Windows host(s), click **Cancel** to quit.
![Flannel]({{< baseurl >}}/img/rancher/flannel.png)
## Cloud-host VM Networking Configuration
If you want some automation supporting by cloud environment, such as load balancers or persistent storage devices, please follow [Selecting Cloud Providers]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers) to configure.
### Node Configuration
The first node in your cluster should be a Linux host that fills the Control Plane role. At minimum, the node must have this role enabled, but we recommend enabling all three. The following table lists our recommended settings (we'll provide the recommended settings for nodes 2 and 3 later).
Option | Setting
-------|--------
Node Operating System | Linux
Node Roles | etcd <br/> Control Plane <br/> Worker
![Recommended Linux Control Plane Configuration]({{< baseurl >}}/img/rancher/linux-control-plane.png)
## 3. Cloud-host VM Networking Configuration
You need to disable the private IP addresses checking on either Linux or Windows host when startup, if you're using the following cloud-host virtual machines:
@@ -93,7 +89,30 @@ You need to disable the private IP addresses checking on either Linux or Windows
- `Google GCE`: [enabling "IP forwarding"](https://cloud.google.com/vpc/docs/using-routes#canipforward) for each instance
- `Azure VM`: [enabling "IP forwarding"](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-network-interface#enable-or-disable-ip-forwarding) for each instance
## Cloud-host VM Routes Configuration
## 4. Adding Windows Workers
After the initial provisioning of your custom cluster, add your Windows workers to it. Add nodes using the instructions below.
1. From the main menu, select **Nodes**.
1. Click **Edit Cluster**.
1. Scroll down to **Node Operating System**. Choose **Windows**.
1. Select the **Worker** role.
1. Copy the command displayed on screen to your clipboard.
1. Log in to your Windows host using your preferred tool, such as [Microsoft Remote Desktop](https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients). Run the command copied to your clipboard in the **Command Prompt (CMD)**.
1. Repeat these instruction for each Windows host you want to use as a worker node.
**Result:** The worker role is installed on your Windows host, and the node registers with Rancher.
>**Tip:** If you want the cluster that uses Windows workers to include Ingress support, add one more Linux node to the cluster, enabling the worker role on it.
## 5. Cloud-host VM Routes Configuration
You need to configure some routes after both Linux and Windows worker node are ready, if you’re using the following cloud-host virtual machines:
View File
+43
View File
@@ -0,0 +1,43 @@
When setting up an airgap environment, it may be useful to run RKE through a bastion server. This can be helpful if you want to keep your RKE config or SSH keys on your local machine. This requires that the bastion server is accessible from the outside world, and has access to port 22 (SSH) on your airgapped nodes.
local RKE (via port 22 over internet) -> bastion
bastion (via port 22 over internal network) -> airgap_node_1, airgap_node_2, airgap_node3
To enable running RKE through a bastion server, add the following to your RKE yaml config:
```
bastion_host:
address: 18.224.54.35 # public IP of the bastion server
user: ubuntu
port: 22
ssh_key_path: /path/to/ssh/key
```
Full ex:
```
bastion_host:
address: 18.224.54.35 # public IP of the bastion server
user: ubuntu
port: 22
ssh_key_path: /path/to/ssh/key
nodes:
- address: 172.31.6.15 # private IP of airgapped node
user: ubuntu
role: [ "controlplane", "etcd", "worker" ]
ssh_key_path: /path/to/ssh/key
- address: 172.31.12.84 # private IP of airgapped node
user: ubuntu
role: [ "controlplane", "etcd", "worker" ]
ssh_key_path: /path/to/ssh/key
- address: 172.31.15.78 # private IP of airgapped node
user: ubuntu
role: [ "controlplane", "etcd", "worker" ]
ssh_key_path: /path/to/ssh/key
private_registries:
- url: <registry url>
user: <username>
password: <password>
is_default: true
```
Running `rke up` will provision the k8s cluster through the bastion server, and provide the resulting kube_config. However, it's important to note that as your nodes are not accessible via a public IP, the machine you run `kubectl` from in later steps must be able to reach your airgapped nodes through the addresses provided. This may require moving the resulting kube_config after it is created.
@@ -0,0 +1,30 @@
#!/bin/bash
set -e
# Collect images for Air Gap/Private Registry install
# Requires:
# rke - https://rancher.com/docs/rke/v0.1.x/en/installation/
# helm - https://docs.helm.sh/using_helm/#installing-helm
# curl
# jq
echo "RKE Images"
rke config --system-images 2>/dev/null > tmp-images.txt
echo "Helm Tiller Image"
helm init --dry-run --debug | grep image: | awk '{print $2}' >> tmp-images.txt
echo "Rancher Images"
latest_url=$(curl -sS "https://api.github.com/repos/rancher/rancher/releases/latest" | jq -r '.assets[]|select(.name=="rancher-images.txt")|.browser_download_url')
curl -sSL ${latest_url} >> tmp-images.txt
echo "Cert-Manager Image"
cm_repo=$(helm inspect values stable/cert-manager | grep repository: | awk '{print $2}')
cm_tag=$(helm inspect values stable/cert-manager | grep tag: | awk '{print $2}')
echo "${cm_repo}:${cm_tag}" >> tmp-images.txt
echo "Sort and uniq the images list"
cat tmp-images.txt | sort -u | uniq > images.txt
# cleanup tmp file
rm tmp-images.txt
@@ -0,0 +1,40 @@
busybox
rancher/alertmanager-helper:v0.0.2
rancher/alpine-git:1.0.4
rancher/calico-cni:v3.1.1
rancher/calico-ctl:v2.0.0
rancher/calico-node:v3.1.1
rancher/cluster-proportional-autoscaler-amd64:1.0.0
rancher/coreos-etcd:v3.1.12
rancher/coreos-etcd:v3.2.18
rancher/coreos-flannel-cni:v0.2.0
rancher/coreos-flannel:v0.9.1
rancher/docker-elasticsearch-kubernetes:5.6.2
rancher/fluentd-helper:v0.1.2
rancher/fluentd:v0.1.10
rancher/hyperkube:v1.10.5-rancher1
rancher/hyperkube:v1.11.2-rancher1
rancher/hyperkube:v1.9.7-rancher2
rancher/jenkins-jenkins:2.107-slim
rancher/jenkins-jnlp-slave:3.10-1-alpine
rancher/jenkins-plugins-docker:17.12
rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.10
rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.7
rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.8
rancher/k8s-dns-kube-dns-amd64:1.14.10
rancher/k8s-dns-kube-dns-amd64:1.14.7
rancher/k8s-dns-kube-dns-amd64:1.14.8
rancher/k8s-dns-sidecar-amd64:1.14.10
rancher/k8s-dns-sidecar-amd64:1.14.7
rancher/k8s-dns-sidecar-amd64:1.14.8
rancher/kibana:5.6.4
rancher/log-aggregator:v0.1.3
rancher/metrics-server-amd64:v0.2.1
rancher/nginx-ingress-controller-defaultbackend:1.4
rancher/nginx-ingress-controller:0.16.2-rancher1
rancher/pause-amd64:3.0
rancher/pause-amd64:3.1
rancher/prom-alertmanager:v0.11.0
rancher/rke-tools:v0.1.13
rancher/rancher:v2.0.8
rancher/rancher-agent:v2.0.8
@@ -0,0 +1,93 @@
#!/bin/sh
if [ -z "$1" ]; then
echo Usage: $0 [REGISTRY]
exit 1
fi
set -e -x
REGISTRY=$1
docker load --input rancher-images.tar.gz
docker tag busybox ${REGISTRY}/busybox
docker push ${REGISTRY}/busybox
docker tag rancher/alertmanager-helper:v0.0.2 ${REGISTRY}/rancher/alertmanager-helper:v0.0.2
docker push ${REGISTRY}/rancher/alertmanager-helper:v0.0.2
docker tag rancher/alpine-git:1.0.4 ${REGISTRY}/rancher/alpine-git:1.0.4
docker push ${REGISTRY}/rancher/alpine-git:1.0.4
docker tag rancher/calico-cni:v3.1.1 ${REGISTRY}/rancher/calico-cni:v3.1.1
docker push ${REGISTRY}/rancher/calico-cni:v3.1.1
docker tag rancher/calico-ctl:v2.0.0 ${REGISTRY}/rancher/calico-ctl:v2.0.0
docker push ${REGISTRY}/rancher/calico-ctl:v2.0.0
docker tag rancher/calico-node:v3.1.1 ${REGISTRY}/rancher/calico-node:v3.1.1
docker push ${REGISTRY}/rancher/calico-node:v3.1.1
docker tag rancher/cluster-proportional-autoscaler-amd64:1.0.0 ${REGISTRY}/rancher/cluster-proportional-autoscaler-amd64:1.0.0
docker push ${REGISTRY}/rancher/cluster-proportional-autoscaler-amd64:1.0.0
docker tag rancher/coreos-etcd:v3.1.12 ${REGISTRY}/rancher/coreos-etcd:v3.1.12
docker push ${REGISTRY}/rancher/coreos-etcd:v3.1.12
docker tag rancher/coreos-etcd:v3.2.18 ${REGISTRY}/rancher/coreos-etcd:v3.2.18
docker push ${REGISTRY}/rancher/coreos-etcd:v3.2.18
docker tag rancher/coreos-flannel-cni:v0.2.0 ${REGISTRY}/rancher/coreos-flannel-cni:v0.2.0
docker push ${REGISTRY}/rancher/coreos-flannel-cni:v0.2.0
docker tag rancher/coreos-flannel:v0.9.1 ${REGISTRY}/rancher/coreos-flannel:v0.9.1
docker push ${REGISTRY}/rancher/coreos-flannel:v0.9.1
docker tag rancher/docker-elasticsearch-kubernetes:5.6.2 ${REGISTRY}/rancher/docker-elasticsearch-kubernetes:5.6.2
docker push ${REGISTRY}/rancher/docker-elasticsearch-kubernetes:5.6.2
docker tag rancher/fluentd-helper:v0.1.2 ${REGISTRY}/rancher/fluentd-helper:v0.1.2
docker push ${REGISTRY}/rancher/fluentd-helper:v0.1.2
docker tag rancher/fluentd:v0.1.10 ${REGISTRY}/rancher/fluentd:v0.1.10
docker push ${REGISTRY}/rancher/fluentd:v0.1.10
docker tag rancher/hyperkube:v1.10.5-rancher1 ${REGISTRY}/rancher/hyperkube:v1.10.5-rancher1
docker push ${REGISTRY}/rancher/hyperkube:v1.10.5-rancher1
docker tag rancher/hyperkube:v1.11.2-rancher1 ${REGISTRY}/rancher/hyperkube:v1.11.2-rancher1
docker push ${REGISTRY}/rancher/hyperkube:v1.11.2-rancher1
docker tag rancher/hyperkube:v1.9.7-rancher2 ${REGISTRY}/rancher/hyperkube:v1.9.7-rancher2
docker push ${REGISTRY}/rancher/hyperkube:v1.9.7-rancher2
docker tag rancher/jenkins-jenkins:2.107-slim ${REGISTRY}/rancher/jenkins-jenkins:2.107-slim
docker push ${REGISTRY}/rancher/jenkins-jenkins:2.107-slim
docker tag rancher/jenkins-jnlp-slave:3.10-1-alpine ${REGISTRY}/rancher/jenkins-jnlp-slave:3.10-1-alpine
docker push ${REGISTRY}/rancher/jenkins-jnlp-slave:3.10-1-alpine
docker tag rancher/jenkins-plugins-docker:17.12 ${REGISTRY}/rancher/jenkins-plugins-docker:17.12
docker push ${REGISTRY}/rancher/jenkins-plugins-docker:17.12
docker tag rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.10 ${REGISTRY}/rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.10
docker push ${REGISTRY}/rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.10
docker tag rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.7 ${REGISTRY}/rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.7
docker push ${REGISTRY}/rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.7
docker tag rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.8 ${REGISTRY}/rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.8
docker push ${REGISTRY}/rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.8
docker tag rancher/k8s-dns-kube-dns-amd64:1.14.10 ${REGISTRY}/rancher/k8s-dns-kube-dns-amd64:1.14.10
docker push ${REGISTRY}/rancher/k8s-dns-kube-dns-amd64:1.14.10
docker tag rancher/k8s-dns-kube-dns-amd64:1.14.7 ${REGISTRY}/rancher/k8s-dns-kube-dns-amd64:1.14.7
docker push ${REGISTRY}/rancher/k8s-dns-kube-dns-amd64:1.14.7
docker tag rancher/k8s-dns-kube-dns-amd64:1.14.8 ${REGISTRY}/rancher/k8s-dns-kube-dns-amd64:1.14.8
docker push ${REGISTRY}/rancher/k8s-dns-kube-dns-amd64:1.14.8
docker tag rancher/k8s-dns-sidecar-amd64:1.14.10 ${REGISTRY}/rancher/k8s-dns-sidecar-amd64:1.14.10
docker push ${REGISTRY}/rancher/k8s-dns-sidecar-amd64:1.14.10
docker tag rancher/k8s-dns-sidecar-amd64:1.14.7 ${REGISTRY}/rancher/k8s-dns-sidecar-amd64:1.14.7
docker push ${REGISTRY}/rancher/k8s-dns-sidecar-amd64:1.14.7
docker tag rancher/k8s-dns-sidecar-amd64:1.14.8 ${REGISTRY}/rancher/k8s-dns-sidecar-amd64:1.14.8
docker push ${REGISTRY}/rancher/k8s-dns-sidecar-amd64:1.14.8
docker tag rancher/kibana:5.6.4 ${REGISTRY}/rancher/kibana:5.6.4
docker push ${REGISTRY}/rancher/kibana:5.6.4
docker tag rancher/log-aggregator:v0.1.3 ${REGISTRY}/rancher/log-aggregator:v0.1.3
docker push ${REGISTRY}/rancher/log-aggregator:v0.1.3
docker tag rancher/metrics-server-amd64:v0.2.1 ${REGISTRY}/rancher/metrics-server-amd64:v0.2.1
docker push ${REGISTRY}/rancher/metrics-server-amd64:v0.2.1
docker tag rancher/nginx-ingress-controller-defaultbackend:1.4 ${REGISTRY}/rancher/nginx-ingress-controller-defaultbackend:1.4
docker push ${REGISTRY}/rancher/nginx-ingress-controller-defaultbackend:1.4
docker tag rancher/nginx-ingress-controller:0.16.2-rancher1 ${REGISTRY}/rancher/nginx-ingress-controller:0.16.2-rancher1
docker push ${REGISTRY}/rancher/nginx-ingress-controller:0.16.2-rancher1
docker tag rancher/pause-amd64:3.0 ${REGISTRY}/rancher/pause-amd64:3.0
docker push ${REGISTRY}/rancher/pause-amd64:3.0
docker tag rancher/pause-amd64:3.1 ${REGISTRY}/rancher/pause-amd64:3.1
docker push ${REGISTRY}/rancher/pause-amd64:3.1
docker tag rancher/prom-alertmanager:v0.11.0 ${REGISTRY}/rancher/prom-alertmanager:v0.11.0
docker push ${REGISTRY}/rancher/prom-alertmanager:v0.11.0
docker tag rancher/rke-tools:v0.1.13 ${REGISTRY}/rancher/rke-tools:v0.1.13
docker push ${REGISTRY}/rancher/rke-tools:v0.1.13
docker tag rancher/rancher:v2.0.8 ${REGISTRY}/rancher/rancher:v2.0.8
docker push ${REGISTRY}/rancher/rancher:v2.0.8
docker tag rancher/rancher-agent:v2.0.8 ${REGISTRY}/rancher/rancher-agent:v2.0.8
docker push ${REGISTRY}/rancher/rancher-agent:v2.0.8
@@ -0,0 +1,44 @@
#!/bin/sh
set -e -x
docker pull busybox
docker pull rancher/alertmanager-helper:v0.0.2
docker pull rancher/alpine-git:1.0.4
docker pull rancher/calico-cni:v3.1.1
docker pull rancher/calico-ctl:v2.0.0
docker pull rancher/calico-node:v3.1.1
docker pull rancher/cluster-proportional-autoscaler-amd64:1.0.0
docker pull rancher/coreos-etcd:v3.1.12
docker pull rancher/coreos-etcd:v3.2.18
docker pull rancher/coreos-flannel-cni:v0.2.0
docker pull rancher/coreos-flannel:v0.9.1
docker pull rancher/docker-elasticsearch-kubernetes:5.6.2
docker pull rancher/fluentd-helper:v0.1.2
docker pull rancher/fluentd:v0.1.10
docker pull rancher/hyperkube:v1.10.5-rancher1
docker pull rancher/hyperkube:v1.11.2-rancher1
docker pull rancher/hyperkube:v1.9.7-rancher2
docker pull rancher/jenkins-jenkins:2.107-slim
docker pull rancher/jenkins-jnlp-slave:3.10-1-alpine
docker pull rancher/jenkins-plugins-docker:17.12
docker pull rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.10
docker pull rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.7
docker pull rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.8
docker pull rancher/k8s-dns-kube-dns-amd64:1.14.10
docker pull rancher/k8s-dns-kube-dns-amd64:1.14.7
docker pull rancher/k8s-dns-kube-dns-amd64:1.14.8
docker pull rancher/k8s-dns-sidecar-amd64:1.14.10
docker pull rancher/k8s-dns-sidecar-amd64:1.14.7
docker pull rancher/k8s-dns-sidecar-amd64:1.14.8
docker pull rancher/kibana:5.6.4
docker pull rancher/log-aggregator:v0.1.3
docker pull rancher/metrics-server-amd64:v0.2.1
docker pull rancher/nginx-ingress-controller-defaultbackend:1.4
docker pull rancher/nginx-ingress-controller:0.16.2-rancher1
docker pull rancher/pause-amd64:3.0
docker pull rancher/pause-amd64:3.1
docker pull rancher/prom-alertmanager:v0.11.0
docker pull rancher/rke-tools:v0.1.13
docker pull rancher/rancher:v2.0.8
docker pull rancher/rancher-agent:v2.0.8
docker save busybox rancher/alertmanager-helper:v0.0.2 rancher/alpine-git:1.0.4 rancher/calico-cni:v3.1.1 rancher/calico-ctl:v2.0.0 rancher/calico-node:v3.1.1 rancher/cluster-proportional-autoscaler-amd64:1.0.0 rancher/coreos-etcd:v3.1.12 rancher/coreos-etcd:v3.2.18 rancher/coreos-flannel-cni:v0.2.0 rancher/coreos-flannel:v0.9.1 rancher/docker-elasticsearch-kubernetes:5.6.2 rancher/fluentd-helper:v0.1.2 rancher/fluentd:v0.1.10 rancher/hyperkube:v1.10.5-rancher1 rancher/hyperkube:v1.11.2-rancher1 rancher/hyperkube:v1.9.7-rancher2 rancher/jenkins-jenkins:2.107-slim rancher/jenkins-jnlp-slave:3.10-1-alpine rancher/jenkins-plugins-docker:17.12 rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.10 rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.7 rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.8 rancher/k8s-dns-kube-dns-amd64:1.14.10 rancher/k8s-dns-kube-dns-amd64:1.14.7 rancher/k8s-dns-kube-dns-amd64:1.14.8 rancher/k8s-dns-sidecar-amd64:1.14.10 rancher/k8s-dns-sidecar-amd64:1.14.7 rancher/k8s-dns-sidecar-amd64:1.14.8 rancher/kibana:5.6.4 rancher/log-aggregator:v0.1.3 rancher/metrics-server-amd64:v0.2.1 rancher/nginx-ingress-controller-defaultbackend:1.4 rancher/nginx-ingress-controller:0.16.2-rancher1 rancher/pause-amd64:3.0 rancher/pause-amd64:3.1 rancher/prom-alertmanager:v0.11.0 rancher/rke-tools:v0.1.13 rancher/rancher:v2.0.8 rancher/rancher-agent:v2.0.8 | gzip -c > rancher-images.tar.gz
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB