Commit Graph

134 Commits

Author SHA1 Message Date
Ian Campbell
6c3dd4e54a kubernetes: allow configuration of networking
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 17:23:29 +01:00
Ian Campbell
8acecf1b62 kubernetes: Drop k8s-dns-* from image cache
These contribute ~140M to the common image cache but do not appear to be used
by either the base system nor the sock-shop demo. They can/will still be pulled
on demands as necessary.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:20:57 +01:00
Ian Campbell
d5bcb62419 kubernetes: Bump to 1.6.7 and other updates
Bumps kubernetes and associated tools and images to v1.6.7 (from v1.6.1).

Updates weave from v1.9.4 to v2.0.1

Updates cni from a snapshot to v0.5.2. Note that the download location has
changed and the tarball no longer includes the `bin` subdirectory, so adjust
build to compensate.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:20:57 +01:00
Ian Campbell
7d7001c573 kubernetes: ssh_into_kubelet.sh for Linux
Only with networking in bridge (or probably tap) modes, not user mode.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:20:48 +01:00
Ian Campbell
9f04b403e4 kubernetes: Use ijc25/alpine-ssh for ssh_into_kubelet.sh
Much smaller than the CentOS based one.

Note that ijc25/alpine-ssh has entrypoint==ssh.

Drop Compression=yes, this is used for local ssh so no point compressing (just uses CPU).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:18:08 +01:00
Ian Campbell
1dbec1ef30 kubernetes: inline ssh.sh into ssh_into_kubelet.sh
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:50 +01:00
Ian Campbell
62aa9248a4 kubernetes: Expose VM parameters as envvars in boot.sh
Allows users to override.

I debated separate master and node options but decided not for now.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Ian Campbell
54ddde0d43 kubernetes: avoid OS specifics in boot.sh
Remove `-publish` (which is currently Linux/QEMU specific) and replace with a
generic $KUBE_RUN_ARGS envvar. Usage:

   KUBE_RUN_ARGS="-publish 2222:22" ./boot.sh

KUBE_PORT_BASE is thus obsolete and removed.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Ian Campbell
09609bc6ce kubernetes: update ssh_into_kubelet.sh to use ctr
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Justin Cormack
9a79ebc0f4 Update hashes for new init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-24 15:09:30 +01:00
Rolf Neugebauer
7ccc2786ae Update kernel version in all YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-24 11:05:40 +01:00
Avi Deitcher
afc1e1e970 Updated hashes for getty and sshd
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-07-21 19:16:38 +03:00
Ian Campbell
d01aa72670 Update ymls
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-20 15:08:27 +01:00
Justin Cormack
5545f3085a Merge pull request #2258 from ijc/containerd-v1.0.0-alpha1
Containerd v1.0.0 alpha1
2017-07-20 15:07:24 +01:00
Ian Campbell
19207bb81b Update yml and moby version
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-20 14:13:20 +01:00
David Scott
13ff6d5d94 Update to linuxkit/metadata:428093dd1c4178e8ba1952af44b46c0fd16f8e79
Signed-off-by: David Scott <dave.scott@docker.com>
2017-07-20 11:24:18 +01:00
Ian Campbell
5e93077a17 kubernetes: update image cache hashes
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 11:00:30 +01:00
Ian Campbell
27d96c2f99 kubernetes: just use the docker images as a base
Since we just want the client we don't need dind.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 10:57:50 +01:00
Ian Campbell
87a6e19770 kubernetes: add "show-tags" target to image-cache
Apart from adding the recursive target itself this required:

- Unescaping the @ in the image names, this was confusing `make` into always
  rebuilding and wasn't necessary (I had previously thought I had seen oddities
  due to these being interpreted by the `patsubst`, but I think that was just the
  colons.
- Making the recursive rules silent (prepending an @), those command lines are
  not especially enlightening and they obscure the output in the show-tags case.

With this the output is like:

    $ make --no-print-directory -C image-cache/ show-tags
    linuxkitprojects/kubernetes-image-cache-common:94a0715c6b3604e909bc0da74260dc7f1142d90d-dirty
    linuxkitprojects/kubernetes-image-cache-control-plane:94a0715c6b3604e909bc0da74260dc7f1142d90d-dirty

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:51:36 +01:00
Ian Campbell
ee7d785b84 kubernetes: minimise size of image cache images
The total size of the images in the common and control-plane cache is 251M and
528M respectively.

This changes drops the size of the cache images from 353M to 274M and from 630M
to 530M, reducing the overhead from ~100M to ~20M.

The initrd images shrink from 273M to 246M and from 416M to 363M (the initrd's
are compressed).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:51:36 +01:00
Ian Campbell
58227545b2 kubernetes: Only explictly include *.tar in images
No need to have Dockerfile etc.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:51:36 +01:00
Ian Campbell
4b030f2fc6 kubernetes: use digests for cached images
This ensures rebuilds will always get the same things.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:51:36 +01:00
Ian Campbell
56a8d2468a kubernetes: modernise image cache builds
This updates the build of the two image caches to use the `pkg/package.mk`
infrastructure, albeit in a slightly (ok, very) atypical way.

In order to share the bulk of the build code (including the `Dockerfile` and
the `Makefile` machinery to download the images) we arrange for the necessary
bits to be copied at build time into distinct subdirectories and for the
`pkg/package.mk` to be aware of this possibility.

Since pkg/package.mk is only set up to build a single package we use a single
`image-cache/Makefile` to drive the whole process and recurse into
`Makefile.pkg` to build individual packages.

One particular subtlety is that the package hash is based on the `image-cache`
directory (which is in `git`) rather than the generated subdirectories (which
are not in `git`). Since all the generators (and their inputs) are in the
`image-cache` directory this is what we want. This means that the two images
are given the same tag, but this is deliberate and desirable.

The generated directories are completely temporary to avoid picking up stale
versions of images when versions are updated. Images are hardlinked into place.

The images are moved to the linuxkitprojects org. Using a dev tag for now, will
update once everything is in place.

Also use "tag" rather than "build" where appropriate in the Makefile.

There is no point in the .dockerignore now, but add a .gitignore.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:51:32 +01:00
Ian Campbell
0d8c4789a1 kubernetes: update clean rule
The kernel has been -kernel rather than -bzImage for some time. Likewise the
disk moved the state dir.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:33:54 +01:00
Avi Deitcher
0f725c366e Merge pull request #2241 from deitch/fix-getty-background
flag in init and background only if not in init
2017-07-18 21:39:53 +03:00
Justin Cormack
09e9357499 Merge pull request #2235 from justincormack/use-library-docker
Use the upstream dind package to run docker
2017-07-18 17:27:45 +01:00
Avi Deitcher
03244e3776 Change hash for getty in examples
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-07-18 17:47:36 +03:00
Justin Cormack
ae039ac141 update hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-18 14:22:16 +01:00
Justin Cormack
a4650b242f Use the upstream dind package to run docker
It is pretty close to our docker package, if we adjust the command
that is run to avoid the actual dind startup script. We can't use
the normal docker image as it does not have mkfs and so on.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-18 11:15:38 +01:00
Ian Campbell
c495ccb8fb kubernetes: Update yml files.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:45:55 +01:00
Ian Campbell
d48cc7998b kubernetes: Use pkg/metadata
Still a flat/unstructured config space, but at least uses the mounting
machinery.

`boot.sh` continues to just work without modification.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
23d6649de0 kubernetes: Format scripts to be more readable.
These were originally generated by some box builder runes and then taken
wholesale here. Format them to be more readable.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
f18ed90d4f kubernetes: Add local scripts after downloads
Caches much better.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
a08a312d1f kubernetes: Use image labels for image-cache bind mounts
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
20c0d080df kubernetes: use image labels to simplify yaml requirements
Also `net: host` is the default, so drop.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
f853fab1f9 kubernetes: disable content trust for gcr.io
It doesn't support it. This makes "make cache-images" work. Previously it would
fail with various:

    Error: remote trust data does not exist for gcr.io/google_containers/pause-amd64: gcr.io does not have trust data for gcr.io/google_containers/pause-amd64

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
cd43b44e7c kubernetes: Build image using Dockerfile and standard build system
This is a pretty straight port of the previous box stuff, without much attempt
to clean things up.

Image label is a placeholder, will update once a batch of changes are complete.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:09 +01:00
Ian Campbell
d208078aa0 kubernetes: cmdline drop page_poison and put console=ttyS0 last
Following the trend started in a5b9464a4e.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:41:05 +01:00
Ian Campbell
4a27008397 kubernetes: Update to latest pkg/mount.
I somehow managed to miss these in #2209

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-17 13:41:05 +01:00
Ian Campbell
32506bd7f7 kubernetes: Drop custom mounts image and use standard one
Apart from the /var/lib mount itself the custom package:

- Made host /etc/cni and /opt/cni rshared. This has been handled by init make /
  rshared since 3c326bebdf ("Make / rshared").
- Make /var/lib/kubeadm after mount. For now handle this with a dedicated start
  of day container instead.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:41:03 +01:00
Ian Campbell
2cfac0e8bb kubernetes: Expose each node's ssh port on the host starting from 2222
Port base is configurable (via $KUBE_PORT_BASE envvar). Master uses this and
nodes use subsequent ports.

Check that the node number is numeric so we can add them to things, but avoid
worker node 0 since the port will clash with master.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-17 13:37:46 +01:00
Rolf Neugebauer
fcac29681b Update kernels in YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-17 11:04:18 +01:00
Justin Cormack
79f9a66027 update init hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-15 14:13:25 +01:00
Justin Cormack
07469ac60b Merge pull request #2207 from justincormack/getty-x
remove -x from getty script
2017-07-15 12:38:52 +01:00
Justin Cormack
b0800cba59 update getty hash
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-14 18:38:36 +01:00
Riyaz Faizullabhoy
469ba103db Merge pull request #2209 from ijc/expurgate-set--x
pkg/mount: Remove set -x
2017-07-14 09:58:36 -07:00
Justin Cormack
497122126f update runc hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-14 15:54:11 +01:00
Ian Campbell
0fbea002dc Update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-14 15:21:09 +01:00
Ian Campbell
074431eebe Update yml to linuxkit/containerd:b6ffbb669248e3369081a6c4427026aa968a2385
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-14 13:53:51 +01:00
Justin Cormack
f8a0b332f2 Update hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-14 11:08:50 +01:00