Commit Graph

41 Commits

Author SHA1 Message Date
Ian Campbell
678c5b9b7b kubernetes: bump to k8s 1.8.2 and weave 2.0.5
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-02 10:00:34 +00:00
Ian Campbell
6c7b1c0251 Bump all packages to newest alpine.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-24 10:11:24 +01:00
Ian Campbell
76d655ebe4 kuberenetes: Bump image cache to v1.8.1
I forgot to do this in #2626.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-23 10:08:15 +01:00
Ian Campbell
26d93d613c kubernetes: use copy --from=image-ref
I hadn't realised this was possible, it means we don't need the dummy `FROM ...
AS docker`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 11:09:10 +01:00
Ian Campbell
a237b51511 Bump alpine base across the board.
By running:

    ./scripts/update-component-sha.sh --image linuxkit/alpine ad35b6ddbc70faa07e59a9d7dee7707c08122e8d

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 09:55:45 +01:00
Ian Campbell
13d11f49ba Rename "tag*" Makefile targets to "build*"
This better matches the `linuxkit pkg build` nomenclature.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 16:48:48 +01:00
Ian Campbell
4cdc90e221 Build fields default to false, rename accordingly
Added some test cases for the boolean fields because I kept getting confused.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-06 17:43:38 +01:00
Ian Campbell
ba60937754 Implement package build, push and show-tag in linuxkit tool
This implements the proposal in #2564 and converts a handful of representative
or especially interesting (from a build PoV) packages to use it.

For now those pkg/* affected get a stub-`Makefile`, once all packages are
converted then `pkg/Makefile` can be adjusted and those stubs can be removed.

For now only `pkg/package.mk`'s functionality is implemented. In particular:

- `push-manifest.sh` remains a separate script, to enable calling it on systems
  with just the LinuxKit tools installed arrange to install it under a less
  generic name.
- `kernel` and `tools/alpine` do not use `pkg/package.mk` and those cases are
  not yet fully considered/covered.

I have updated the documentation assuming that the existing uses of
`pkg/package.mk` will be removed quite soon in a follow up PR rather than
trying to document the situation which results after just this commit.

Due to `cmd/linuxkit` now gaining a library the build needs adjusting slightly to
allow both `make bin/linuxkit` and `go build` to work.

`go vet` has forced me to write some rather asinine comments for things that
are rather obvious from the name.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-06 12:59:25 +01:00
Ian Campbell
c0a3656eb3 kubernetes: update to kub dns 1.14.5
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:08:43 +01:00
Ian Campbell
f85208c74a kubernetes: Bump to v1.8.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:08:37 +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
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
c857b91e64 Update Kubernetes to 1.7.4
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 17:54:21 +01:00
Ian Campbell
94ec6a7506 kubernetes: Re-add k8s-dns-{sidecar,kube-dns,dnsmasq-nanny}-amd64 to cache
These were removed as unused in 8acecf1b62 but with the update to 1.7.2 they
are now pulled in (again?) by the default system.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-01 16:20:43 +01:00
Ian Campbell
6139293b88 Bump to Kube 1.7.2
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-01 16:20:43 +01:00
Ian Campbell
fcd5afa152 kubernetes: Adjust for /var/run->/run symlink
PR #2314 turned /var into a tmpfs (possibly overmounted by a persistent disk)
and made /var/run into a symlink to /run. Adjust various containers and bind
mount settings to allow for this change. In particular ensuring that everything
can find the correct shared /var/run/docker.sock, which due to the symlink is
now actually at /run.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-01 15:53:59 +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
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
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
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
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
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
Rolf Neugebauer
89c40eaddb Update hashes in YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-01 19:24:16 +01:00
Justin Cormack
c8a8bb047c Update docker-ce in Yaml files
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-29 15:30:45 +01:00
Rolf Neugebauer
093dae22d5 Update YAML files
- Use the new style kernel tags with the full kernel version
- Update packages with new alpine base and new/simplified Makefiles.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-27 19:56:08 +01:00
Magnus Skjegstad
cc59b458f1 Update to latest pkg/docker-ce
Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2017-06-15 21:50:07 +01:00
Rolf Neugebauer
9bdfcb5b12 Update YAML files with new packages, config, and trust data
- Update to packages using the Alpine 3.6 base image
- Remove config for packages which now supply it
- Update/add trust section

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-26 16:23:55 +01:00
Rolf Neugebauer
6bea56c185 Update all YAML files to use the new packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-18 18:55:22 +01:00
Justin Cormack
9ca3ba489a Update yaml files to new Docker CE
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-09 11:12:39 +01:00
Ilya Dmitrichenko
37f2375c37 Rename images
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-16 07:13:38 -05:00
Ilya Dmitrichenko
340e97ae53 Kubernetes with Weave CNI networking
For the time being I've decided to exploit shared mounts to make
`/opt/cni` and `/etc/cni` work as expected. We need these directories
to appear writable on the host, and allow Weave Net pod to bind-mount
out them in order to install plugin binaries, and allow for vanilla
CNI plugins to be also accessible to kubelet.

Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-12 15:02:03 +01:00
Ilya Dmitrichenko
73a29022ce Cache Kubernetes images, update image names, add boot-master.sh
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-11 13:59:30 +01:00