extensions/v1beta1 are deprecated and will not be served with kubernetes 1.16
anymore.
For Deployment,DaemonSet and StatefulSet the apps/v1 api has been present
since kubernetes 1.9.
See following blog post for details:
https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/
This commit attempts to add back the missing time synchronization feature
to Minikube that was removed earlier with #3476.
As mentioned in #1378 we have an alternative solution for time
synchronization for Oracle VirtualBox, so there we don't want to enable
systemd-timesyncd.
We are using systemd conditional activation on systemd-timesyncd and
exclude systems that have an oracle hypervisor hosting the vm (currently
that's virtualbox for our purposes).
This PR addresses #4604 by adding a new selector to concerned svc/rc only.
This also reverts `kubernetes.io/minikube-addons` to `registy` for registry-proxy
so that addon manager can deploy registry-proxy when registry addon is enabled.
which can be picked up during integration testing.
I opted to do it this way because the locally built gvisor image wasn't
being picked up by minikube, because the docker daemon wasn't
configured, since minikube isn't up and running yet. Even if the docker daemon was configured to point to
minikube, we wouldn't be able to build the gvisor-image from the test
itself.
We should rebuild the gvisor image for integration tests, so that if
changes are made to the gvisor image they are tested. I added an
environment variable that, when set, will change the expected gvisor
image repo.
The repository was moved to a separate organization
strings.ReplaceAll only work in go1.12, not go1.10
Need to create conmon/config.h without tags and git
The configuration _needs_ to be updated (yet again)
# This is the 1st commit message:
Fix doc comment version.gitCommitID doc
# This is the commit message #2:
Add hyperkit doc
# This is the commit message #3:
Add commit id to docker-machine-driver-kvm2 version
# This is the commit message #4:
removed label selector for registry-proxy daemonset
# This is the commit message #5:
Add support to custom qemu uri on kvm2 driver
# This is the commit message #6:
Improve hyperkit vm stop
# This is the commit message #7:
Make virtualbox DNS settings configurable
# This is the commit message #8:
added integration tests for registry addon
We need this podman setting, as long as we're running from rootfs.
no_pivot_root = true
Note that building uses a different way, an environment variable.
export BUILDAH_NOPIVOT=true
As per [this blog](https://blog.hasura.io/sharing-a-local-registry-for-minikube-37c7240d0615) and [this gist](https://gist.github.com/coco98/b750b3debc6d517308596c248daf3bb1), we need to deploy a registry-proxy
which will expose docker registry on the minikube host.
Once this daemon set is deployed on minikube, one can access registry on `$(minikube ip):5000`.
This has been tested with minikube v1.0.1 with none driver. With this, one will not have to use
`kubectl port-forward`. I was able to push a container image to registry using
```
docker push $(minikube ip):5000/test-img
```
And then ran it in minikube using
```
kubectl run -i -t test-img --image=$(minikube ip):5000/test-img --restart=Never
```
These are needed for running Kata Containers in minikube.
Kata uses linux tc for its networking
Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
Running the `minikube addons enable registry` yields `registry was successfully enabled` but no `registry` Pod ends up being run.
I've narrowed it down to this `env` entry not being quoted.
Logs from `kube-addon-manager-minikube` Pod show this error:
```
Error from server (BadRequest): error when creating "/etc/kubernetes/addons/registry-rc.yaml": ReplicationController in version "v1" cannot be handled as a ReplicationController: v1.ReplicationController.Spec: v1.ReplicationControllerSpec.Template: v1.PodTemplateSpec.Spec: v1.PodSpec.Containers: []v1.Container: v1.Container.Env: []v1.EnvVar: v1.EnvVar.Value: ReadString: expects " or n, but found t, error found in #10 byte of ...|,"value":true}],"ima|..., bigger context ...|"name":"REGISTRY_STORAGE_DELETE_ENABLED","value":true}],"image":"registry.hub.docker.com/library/reg|...
```
We have our own runc version anyway, instead of the older
unpatched one that was shipped by mistake with 18.06.2...
But now that we are printing the container runtime version,
some people find it disturbing to see the older number.
In the default installation I get the same error:
```
$ minikube addons open heapster
💣 This addon does not have an endpoint defined for the 'addons open' command.
You can add one by annotating a service with the label kubernetes.io/minikube-addons-endpoint:heapster
```
This PR is simply implementing the suggested fix by adding the aforementioned label to the heapster service.
These two lint warnings still remain, after the cleanup:
"exported ... should have comment or be unexported"
"type name will be used as foo.FooBar by other packages,
and that stutters; consider calling this Bar"
To be able to use Kubernetes' IPVS proxy-mode, certain (IP Set) kernel modules
need to be enabled during kernel build time.
Building a new Minikube image with these modules enabled, will allow
others to switch kube-proxy in IPVS mode and experiment with it inside
Minikube.
According to Kernel documentation, support for Transparent Proxying (TPROXY)
requires 2 Netfilter modules to be installed: `xt_TPROXY` and `xt_socket`.
So far, Minikube had only `xt_TPROXY`.
See https://www.kernel.org/doc/Documentation/networking/tproxy.txt
Some users (especially for those in mainland China) may have issue
accessing the default image repository. This patchset allows users
to override the default image repository gcr.io to a different
repository by specifying --image-repository option in the command
line as a simple workaround. Images will be pulled from the
specified image repository instead of the default ones.
Example (using mirror by Aliyun):
minikube start ...
--image-repository
registry.cn-hangzhou.aliyuncs.com/google_containers
Should use the proper name for display, even if we use a name more
suitable to naming classes and methods for the implementation...
Also use the --runtime=cri-o when testing, and update the github
repository now that cri-o has graduated from incubator to a sig.
See https://cri-o.io/