Commit Graph

246 Commits

Author SHA1 Message Date
Ian Campbell
7145b40947 kubernetes: bump to cri-containerd a2dbc6ec1ce6
Adds some bug fixes and support for copy up of anonymous volume contents from
the underlying image.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-20 15:23:27 +01:00
Rolf Neugebauer
ffe6de1119 Update YAMLs to new kernel versions
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-20 12:14:40 +01:00
Rolf Neugebauer
60dd54670f Update YAML files with new getty, ip, and sshd package hashes
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-20 11:52:42 +01:00
Ian Campbell
7d7b65aa19 kubernetes: simpler rune to get image digest
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 13:31:38 +01:00
Ian Campbell
b7721daa69 kubernetes: bump yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:55:56 +01:00
Ian Campbell
965635ab86 kubernetes: Bump to latest cri-containerd
Fixes access to GCR private registries and implements mount point propagation.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:52:51 +01:00
Ian Campbell
3018c8add1 kubernetes: Add force{tag,push} targets to image-cache build
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:34:18 +01:00
Ian Campbell
faecbffff2 kubernetes: Bump to v1.7.6
Also pickup Weave 2.0.6 and CNI 0.6.0. Note that the CNI plugins have moved to
a new directory.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:28:18 +01:00
Ian Campbell
50ddffb1a5 kubernetes: Autogenerate file with image cache digests
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:28:14 +01:00
Ian Campbell
605c4b6675 kubernetes: Move images for caches into separate file
Will be auto-generated.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:28:14 +01:00
Justin Cormack
2010d999ca update hashes for init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-09-18 11:53:02 -07:00
Ian Campbell
5ab6c03a08 kubernetes: Add yaml metadata
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:44:40 +01:00
Ian Campbell
7e19d38821 kubernetes: use a common base kube yml file
With the master tailoring for docker now being in docker-master.yml,
kube-master and kube-node are identical, so just use a single kube.yml.

The reference to kube-master.yml in README.md is obsolete, so just drop it.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:44:27 +01:00
Ian Campbell
1fa059bbd2 kubernetes: allow selection of runtime engine (docker vs cri-containerd)
Currently this is at build time

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:43:23 +01:00
Ian Campbell
445dcc0ac2 kubernetes: Add cri-containerd package
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:39:22 +01:00
Ian Campbell
80dff9fe99 kubernetes: update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:37:39 +01:00
Ian Campbell
b6fbc82e41 kubernetes: Configuration of kubelet via file
This allows cri-containerd and docker based systems to pass the correct options
via composition of yml files, while keeping the kubelet service stanza common.

Since bind mounts are not conditional on the presence of the source we need to
create an empty file in the docker case.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
b6d7f769be kubernetes: Link /etc/kubernetes to /var/lib/kubeadm
In some configurations /etc/kubernetes needs to be a valid host path.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
1e15243b11 kubernetes: Enable net.ipv4.ip_forward
This doesn't seem to be necessary when using Docker Engine as the CRI backend,
but in general it is.

The sysctl container must be writeable to allow the
/etc/sysctl.d/01-kubernetes.conf mount point to be created. See #2503.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
825e43f7c4 kubernetes: bind /run with rshared,rbind
Depending on the configuration/components used the system can expect to be able
to share `/var/run/netns` (=`/run/netns` via symlink) bind mounts with other
system level containers, which requires exposing those to the host.

This doesn't appear to be needed when using Docker engine but it is with
cri-containerd.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
9397b9480a kubernetes: populate host CNI paths by binding from kubernetes service.
Kubernetes assumes (for now) that various paths are valid at the host level to
be mounted into containers, including /opt/cni and /etc/cni.

We cannot (easily) use symlinks here because the weave.yml mounts /opt and /etc
rather than /opt/cni and /etc/cni (this seems likely to be common pattern). So
if /etc/cni were a symlink to the persistent disk (under /var/lib) then it will
be dangling link within the weave container.

So add bind mounts to the runtime configuration of the kubernetes image. This
also means we must create the target mount points in the yml.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
07e4f515a4 kubernetes: add basic cni plugins dynamically
This avoids a slightly tricky sequence of nested bind mounts by just unpacking
a tarball on boot (with a stamp so it only happens once).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
1074b4a8d4 kubernetes: point kubelet at /var/lib/cni directly
Still need the /opt bind to host for weave.yaml but no need for etc any longer.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:25 +01:00
Ian Campbell
35542e493c kubernetes: drop /rootfs from kubelet container
Since 424203cd9c we can use /var/lib/cni/{etc,opt} directly.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 12:24:59 +01:00
Ian Campbell
67fa0ad662 kubernetes: allow users to add kubelet options by overriding the command
For example to tell kubelet to use cri-containerd:

    command: ["/usr/bin/kubelet.sh", "--container-runtime=remote", "--container-runtime-endpoint=unix:///var/run/cri-containerd.sock"]

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 12:24:59 +01:00
Ian Campbell
32e53cf769 kubernetes: Add boot.sh options to preserve state dir and to set MAC
Not having to redo the kubeadm-init.sh step massively speeds up the test/dev
cycle. Having the same MAC (and hence same IP) is useful there too since you
don't need to figure out the mac on each boot.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 12:24:59 +01:00
Ian Campbell
b6725a1b11 kubernetes: give more resources to worker nodes.
The sock-shop demo[0] requires around 5G of images on a worker node and 3G of
RAM (if there is only one worker node and therefore everything runs on that
node).

Since the master is more than happy with the 4G disk and 1G RAM it is given
today split the settings into master and node specific and bump only the
latter.

KUBE_PORT_BASE is unused and was already removed in 54ddde0d43 but
accidentally reintroduced (by me) in 62aa9248a4, whack it again.

[0] https://microservices-demo.github.io/microservices-demo

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 12:24:59 +01:00
Rolf Neugebauer
2d20ef1014 Update YAML files to new kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-14 17:21:01 +01:00
David Scott
2b80ff5a0f Update init version in YAML files
Signed-off-by: David Scott <dave.scott@docker.com>
2017-09-14 11:47:38 +01:00
Rolf Neugebauer
11d9dc1e99 Update YAML files to latest kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-12 11:49:52 +01:00
Rolf Neugebauer
a1dcdd6495 Update YAML files with latest kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-08 15:46:02 +01:00
Ian Campbell
b7ec19bb1f Update yml for containerd beta.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-07 18:46:40 +01:00
Rolf Neugebauer
ed8d367e2a Update 4.9.x/4.4.x kernel version in YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-04 17:58:16 +01:00
Justin Cormack
91207540e4 Change "output" to "format" in moby tool
This is less confusing as there is also an output option to set the file.

See https://github.com/moby/tool/pull/146

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-09-01 23:52:25 +01:00
Riyaz Faizullabhoy
fb8a1bf39f Merge pull request #2464 from rn/dock-up
Update DinD from 17.06.1-ce to 17.07.0-ce
2017-08-31 09:43:53 -07:00
Rolf Neugebauer
419deee158 Update Linux kernel versions to latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 19:23:45 +01:00
Rolf Neugebauer
94cdc5aee8 Update DinD from 17.06.1-ce to 17.07.0-ce
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 16:52:15 +01:00
Ian Campbell
b34aaee4db kubernetes: document the final step for bridged networking
Having described all the setup describing the acgual usage seems useful!

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-29 21:25:09 +01:00
Ian Campbell
d78321d701 Update hashes for init and containerd
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-29 01:05:50 +01:00
Justin Cormack
baf76d5e0c update hashes for init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-23 16:43:18 +01:00
Justin Cormack
1c4e8c3ae2 Update Docker CE image to 17.06.1
Bug fix update.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-22 10:54:26 +01:00
Justin Cormack
6f1e4add2e Merge pull request #2444 from justincormack/cni-persistence
Kubernetes improvements
2017-08-21 20:03:30 +01:00
Justin Cormack
4fec826d22 Update kube hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 17:57:08 +01:00
Justin Cormack
c857b91e64 Update Kubernetes to 1.7.4
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 17:54:21 +01:00
Justin Cormack
498d5a1966 Merge pull request #2442 from justincormack/tools-additions
Add some more tools to base image and only clone containerd once
2017-08-21 17:00:23 +01:00
Justin Cormack
6264912489 Restrict kubernetes to amd64
- currently no arm64 binary downloads available

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 16:07:49 +01:00
Justin Cormack
1597ddb72f Update weave yaml to k8s 1.7
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 15:58:13 +01:00
Justin Cormack
ea87b6df79 Use standard LinuxKit base image to build Kubernetes container
- now has everything we need in it.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 15:51:26 +01:00
Justin Cormack
424203cd9c Move Kubernetes CNI paths to /var so they persist
Currently they will be on a read only partition so broken;
previously this would have been a non persistent read write partition
in an initramfs but this no longer works.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 15:46:18 +01:00
Justin Cormack
0cda27d4ef Update hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 15:40:17 +01:00