As per https://github.com/kubernetes/kubernetes/pull/32151, kubelet
doesn't search for CNI configs in /usr/libexec/kubernetes/kubelet-plugins/net/exec/
by default anymore.
Signed-off-by: Martynas Pumputis <m@lambda.lt>
Previously, minikube has been shipped with the default CNI config
(/etc/cni/net.d/k8s.conf) in its rootfs. This complicated a lot
when using a custom CNI plugin, as the default config was picked
by kubelet before the custom CNI plugin has installed its own CNI
config. So, the end result was that some Pods were attached to a
network defined in the default config, and some got managed by
the custom plugin.
This commit introduces the flag "--enable-default-cni" to
"minikube start" to trigger the provisioning of the default CNI
config.
Signed-off-by: Martynas Pumputis <m@lambda.lt>
Minikube automount relies on a VM disk to be mounted (usually /dev/sda)
to provide .ssh credentials.
This commit adds a dependency on systemd-udev-settle to ensure that all devices
(including disks) are up and available before executing the mount
script.
We use systemd-udev-settle
https://github.com/systemd/systemd/blob/master/units/systemd-udev-settle.service.in
To ensure this. Note that in the above link, we can read a comment
stating that systemd-udev-settle is used to ensure a populated /dev
during bootup, which is exaclty what we want.
Signed-off-by: David Genest <david.genest@gmail.com>
Simple management tool for containers and images
"podman shares state with crio and so has the
capability to debug pods/images created by crio"
https://github.com/projectatomic/libpod/pull/145
This change adds gluster and heketi dependencies to buildroot config,
that is dm_snapshot, dm_thin_pool and XFS kernel modules, XFS tools,
and gluster itself.
linux is upgraded to 4.16, binutils is upgraded to 2.30, and
libelf is installed for the newer kernel.
Other configuration changes are changes in defaults and ordering.
Now using glibc 2.27. systemd 237, and Go 1.10.
vbox-guest is removed because it's upstream as of linux 4.16.
More on buildroot at https://git.buildroot.net/buildroot/tree/CHANGES
Right now the cri-o socket is placed in `/var/run/crio.sock`, this
commit changes it to `/var/run/crio/crio.sock` which is similar to
upstream.
Signed-off-by: Suraj Deshmukh <surajd.service@gmail.com>
Also, this fixes the version output from `kubectl describe node`.
Now it shows:
```
[...]
System Info:
Machine ID: 41af387f4d4e4a3eabcdd2454a7e17f9
System UUID: B5BA9F83-3476-4B4A-943A-81E7A3953234
Boot ID: 7e616123-fa50-4fa9-8f47-88b2a09fbb81
Kernel Version: 4.9.13
OS Image: Buildroot 2017.02
Operating System: linux
Architecture: amd64
Container Runtime Version: cri-o://1.0.3
Kubelet Version: v1.8.0
Kube-Proxy Version: v1.8.0
[...]
```
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This adds an environment variable file for crio.service to source.
And a step for the buildroot provisioner to write flags, initially just
insecure-registry.
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
https://github.com/kubernetes-incubator/cri-o
Updated the runc version to its latest master commit.
Got crio into the automounter to get off the tmpfs
This feature bubbles up to the minikube command by reusing the
`--container-runtime=` flag, by enabling the value of "`crio`"
(`minikube start --container-runtime=crio`), while the flags/config
passed to localkube are more like k8s (`--container-runtime=remote
--remote-runtime-endpoint=/var/run/crio.sock`)
This is mostly ready for review. It is still lacking having
--insecure-registry plumbed through, but for now the policy.json is
open.
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
Overwrite the default configuration and enable
PrintMotd
PermitTunnel yes
MaxSessions 1000
So that we can run multiplex more ssh connections and do things in
parallel.
The current implementation assumes that we already have docker running.
This switches it to not remove any previous docker configuration
(since there isn't any), and uses our native file transfer utils
instead of the printf commands.
The docker daemon initially starts up in the ISO, only to be stopped
and replaced by minikube's custom configuration. This removes the
initial unit, so that docker doesn't automatically start up until
minikube restarts it with its configuration.
Weave Net, a container networking solution, requires the `xt_set` module in order to function properly.
Minikube's Linux image currently does not have it, making Weave Net fail with errors like:
- `modprobe: FATAL: Module xt_set not found in directory /lib/modules/4.9.13`
- `FATA: ipset [create weave-local-pods hash:ip] failed: ipset v6.29: Kernel error received: set type not supported: exit status 1`
This changes addresses such issues.
This is an attempt to address #1518. It does actually fix#1518, but breaks much of Kubernetes. :) Don't merge this, I'm just creating a PR that people can play with if they're interested in taking it further.
Summary of changes (#1364)
* README.md split up into specific tutorials in ./docs
* brew as preferred installation on macOS
* installation guide on README
* minikube iso changelog merged with minikube changelog
* developer guides moved to ./docs/contributors
* no relative links on main README, so that we can port this over to kubernetes.io
* ISO developer readme moved to ./docs/contributors
This rebases minikube-iso to the release 2017-02.
A change in buildroot required the introduction of a `external.desc` as
multiple external trees are supported in modern buildroot versions. This
required change is described here [0].
[0] https://buildroot.org/downloads/manual/manual.html#br2-external-converting
The existing isolinux.cfg was not included in the config and thus
ignored, include it.
The 4.9.13 kernel included in buildroot 2017-02 is not compatible with
VBox guest additions 5.1.6, thus bump guest additions to 5.1.18.
The defconfig of 4.9.13 has been cleaned up.
systemd 232 included in buildroot 2017-02 is incompatible with docker <
17.03 without boot parameter systemd.legacy_systemd_cgroup_controller=yes
Signed-off-by: Thomas Graf <tgraf@suug.ch>
$ make buildroot-image
$ make out/minikube.iso
- Add en entry in the Makefile for building the container: buildroot-image
- Modify the minikube-iso target to out/minikube.iso to comply with the way
makefiles work.
- Also force the use of a docker container. If not needed
just run IN_DOCKER=1 make out/minikube.iso to avoid the invokation of a docker
container.
- Add some doc.
- The tag added to the generated image will allow to bypass the build of the
image as soon as the container is pushed to the minikube registry.
On the initial build run on a new system, the $(shell ...) variant fails
to provide any output for inline substitution and you end up with the
error:
```
gpg: `--verify-files' is not a valid long keyID
```
Using backticks will provide the desired output on the first run on a
system.
I made sure to only disable debugging level ones or ones that were
clearly not applicable. The ones I disabled were also disabled in the
tinycore linux that b2d is based off.
Journalctl has not been logging properly in the minikube-iso because of
the absence of /var/log on startup. This is an issue now that we are
using systemd for localkube. This commit links and persists the directory
/var/log like we do for other folders.
Minikube now copies these into the VM, just like it copies in localkube.
New ISOs will not contain these files, but this is compatible with the existing ISO
because minikube will overwrite existing files.