Merge branch 'master' into v1.14-tmpl
commit
b26a93e4ee
7
Makefile
7
Makefile
|
@ -78,6 +78,7 @@ MINIKUBE_MARKDOWN_FILES := README.md docs CONTRIBUTING.md CHANGELOG.md
|
|||
MINIKUBE_BUILD_TAGS := container_image_ostree_stub containers_image_openpgp
|
||||
MINIKUBE_INTEGRATION_BUILD_TAGS := integration $(MINIKUBE_BUILD_TAGS)
|
||||
SOURCE_DIRS = cmd pkg test
|
||||
SOURCE_PACKAGES = ./cmd/... ./pkg/... ./test/...
|
||||
|
||||
# $(call DOCKER, image, command)
|
||||
define DOCKER
|
||||
|
@ -237,9 +238,13 @@ gendocs: out/docs/minikube.md
|
|||
fmt:
|
||||
@gofmt -l -s -w $(SOURCE_DIRS)
|
||||
|
||||
.PHONY: vet
|
||||
vet:
|
||||
@go vet $(SOURCE_PACKAGES)
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
@golint $(MINIKUBE_TEST_FILES)
|
||||
@golint -set_exit_status $(SOURCE_PACKAGES)
|
||||
|
||||
.PHONY: reportcard
|
||||
reportcard:
|
||||
|
|
|
@ -19,13 +19,13 @@ metadata:
|
|||
namespace: kube-system
|
||||
labels:
|
||||
component: kube-addon-manager
|
||||
version: v8.6
|
||||
version: v9.0
|
||||
kubernetes.io/minikube-addons: addon-manager
|
||||
spec:
|
||||
hostNetwork: true
|
||||
containers:
|
||||
- name: kube-addon-manager
|
||||
image: {{default "k8s.gcr.io" .ImageRepository}}/kube-addon-manager:v8.6
|
||||
image: {{default "k8s.gcr.io" .ImageRepository}}/kube-addon-manager:v9.0
|
||||
env:
|
||||
- name: KUBECONFIG
|
||||
value: /var/lib/minikube/kubeconfig
|
||||
|
|
|
@ -57,7 +57,7 @@ $ ./out/minikube start
|
|||
|
||||
## Running Tests
|
||||
|
||||
#### Unit Tests
|
||||
### Unit Tests
|
||||
|
||||
Unit tests are run on Travis before code is merged. To run as part of a development cycle:
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ sudo apt install libvirt-bin libvirt-daemon-system qemu-kvm
|
|||
sudo yum install libvirt-daemon-kvm qemu-kvm
|
||||
```
|
||||
|
||||
Enable,start, and verify the `libvirtd` service has started.
|
||||
Enable,start, and verify the `libvirtd` service has started.
|
||||
|
||||
```shell
|
||||
sudo systemctl enable libvirtd.service
|
||||
|
|
|
@ -101,4 +101,5 @@ Some environment variables may be useful for using the `none` driver:
|
|||
* minikube with the `none` driver has a confusing permissions model, as some commands need to be run as root ("start"), and others by a regular user ("dashboard")
|
||||
* CoreDNS detects resolver loop, goes into CrashloopBackoff - [#3511](https://github.com/kubernetes/minikube/issues/3511)
|
||||
* Some versions of Linux have a version of docker that is newer then what Kubernetes expects. To overwrite this, run minikube with the following parameters: `sudo -E minikube start --vm-driver=none --kubernetes-version v1.11.8 --extra-config kubeadm.ignore-preflight-errors=SystemVerification`
|
||||
* On Ubuntu 18.04 (and probably others), because of how `systemd-resolve` is configured by default, one needs to bypass the default `resolv.conf` file and use a different one instead: `sudo -E minikube --vm-driver=none start --extra-config=kubelet.resolv-conf=/run/systemd/resolve/resolv.conf`
|
||||
* [Full list of open 'none' driver issues](https://github.com/kubernetes/minikube/labels/co%2Fnone-driver)
|
||||
|
|
|
@ -200,10 +200,12 @@ func (m *BinDataAsset) loadData(isTemplate bool) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// IsTemplate returns if the asset is a template
|
||||
func (m *BinDataAsset) IsTemplate() bool {
|
||||
return m.template != nil
|
||||
}
|
||||
|
||||
// Evaluate evaluates the template to a new asset
|
||||
func (m *BinDataAsset) Evaluate(data interface{}) (*MemoryAsset, error) {
|
||||
if !m.IsTemplate() {
|
||||
return nil, errors.Errorf("the asset %s is not a template", m.AssetName)
|
||||
|
|
|
@ -95,7 +95,7 @@ Wants=docker.socket
|
|||
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/usr/bin/kubelet --allow-privileged=true --authorization-mode=Webhook --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --cgroup-driver=cgroupfs --client-ca-file=/var/lib/minikube/certs/ca.crt --cluster-dns=10.96.0.10 --cluster-domain=cluster.local --container-runtime=docker --fail-swap-on=false --hostname-override=minikube --kubeconfig=/etc/kubernetes/kubelet.conf --pod-infra-container-image=docker-proxy-image.io/google_containers/pause-amd64:3.1 --pod-manifest-path=/etc/kubernetes/manifests
|
||||
ExecStart=/usr/bin/kubelet --allow-privileged=true --authorization-mode=Webhook --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --cadvisor-port=0 --cgroup-driver=cgroupfs --client-ca-file=/var/lib/minikube/certs/ca.crt --cluster-dns=10.96.0.10 --cluster-domain=cluster.local --container-runtime=docker --hostname-override=minikube --kubeconfig=/etc/kubernetes/kubelet.conf --pod-infra-container-image=docker-proxy-image.io/google_containers/pause:3.0 --pod-manifest-path=/etc/kubernetes/manifests --require-kubeconfig=true
|
||||
|
||||
[Install]
|
||||
`,
|
||||
|
|
|
@ -28,7 +28,7 @@ type mockMountHost struct {
|
|||
T *testing.T
|
||||
}
|
||||
|
||||
func NewMockMountHost(t *testing.T) *mockMountHost {
|
||||
func newMockMountHost(t *testing.T) *mockMountHost {
|
||||
return &mockMountHost{
|
||||
T: t,
|
||||
cmds: []string{},
|
||||
|
@ -86,7 +86,7 @@ func TestMount(t *testing.T) {
|
|||
}
|
||||
for _, tc := range tests {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
h := NewMockMountHost(t)
|
||||
h := newMockMountHost(t)
|
||||
err := Mount(h, tc.source, tc.target, tc.cfg)
|
||||
if err != nil {
|
||||
t.Fatalf("Mount(%s, %s, %+v): %v", tc.source, tc.target, tc.cfg, err)
|
||||
|
@ -99,7 +99,7 @@ func TestMount(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestUnmount(t *testing.T) {
|
||||
h := NewMockMountHost(t)
|
||||
h := newMockMountHost(t)
|
||||
err := Unmount(h, "/mnt")
|
||||
if err != nil {
|
||||
t.Fatalf("Unmount(/mnt): %v", err)
|
||||
|
|
|
@ -244,32 +244,42 @@ func GetKubeadmCachedImages(imageRepository string, kubernetesVersionStr string)
|
|||
minikubeRepository += "/"
|
||||
}
|
||||
|
||||
var images = []string{
|
||||
imageRepository + "kube-proxy-amd64:" + kubernetesVersionStr,
|
||||
imageRepository + "kube-scheduler-amd64:" + kubernetesVersionStr,
|
||||
imageRepository + "kube-controller-manager-amd64:" + kubernetesVersionStr,
|
||||
imageRepository + "kube-apiserver-amd64:" + kubernetesVersionStr,
|
||||
}
|
||||
|
||||
ge_v1_14 := semver.MustParseRange(">=1.14.0")
|
||||
v1_14plus := semver.MustParseRange(">=1.14.0")
|
||||
v1_13 := semver.MustParseRange(">=1.13.0 <1.14.0")
|
||||
v1_12 := semver.MustParseRange(">=1.12.0 <1.13.0")
|
||||
v1_11 := semver.MustParseRange(">=1.11.0 <1.12.0")
|
||||
v1_10 := semver.MustParseRange(">=1.10.0 <1.11.0")
|
||||
v1_9 := semver.MustParseRange(">=1.9.0 <1.10.0")
|
||||
v1_8 := semver.MustParseRange(">=1.8.0 <1.9.0")
|
||||
v1_12plus := semver.MustParseRange(">=1.12.0")
|
||||
|
||||
kubernetesVersion, err := semver.Make(strings.TrimPrefix(kubernetesVersionStr, minikubeVersion.VersionPrefix))
|
||||
if err != nil {
|
||||
glog.Errorln("Error parsing version semver: ", err)
|
||||
}
|
||||
|
||||
var images []string
|
||||
if v1_12plus(kubernetesVersion) {
|
||||
images = append(images, []string{
|
||||
imageRepository + "kube-proxy:" + kubernetesVersionStr,
|
||||
imageRepository + "kube-scheduler:" + kubernetesVersionStr,
|
||||
imageRepository + "kube-controller-manager:" + kubernetesVersionStr,
|
||||
imageRepository + "kube-apiserver:" + kubernetesVersionStr,
|
||||
}...)
|
||||
} else {
|
||||
images = append(images, []string{
|
||||
imageRepository + "kube-proxy-amd64:" + kubernetesVersionStr,
|
||||
imageRepository + "kube-scheduler-amd64:" + kubernetesVersionStr,
|
||||
imageRepository + "kube-controller-manager-amd64:" + kubernetesVersionStr,
|
||||
imageRepository + "kube-apiserver-amd64:" + kubernetesVersionStr,
|
||||
}...)
|
||||
}
|
||||
|
||||
var podInfraContainerImage string
|
||||
if ge_v1_14(kubernetesVersion) {
|
||||
podInfraContainerImage = imageRepository + "pause-amd64:3.1"
|
||||
if v1_14plus(kubernetesVersion) {
|
||||
podInfraContainerImage = imageRepository + "pause:3.1"
|
||||
images = append(images, []string{
|
||||
podInfraContainerImage,
|
||||
imageRepository + "pause:3.1",
|
||||
imageRepository + "k8s-dns-kube-dns-amd64:1.14.13",
|
||||
imageRepository + "k8s-dns-dnsmasq-nanny-amd64:1.14.13",
|
||||
imageRepository + "k8s-dns-sidecar-amd64:1.14.13",
|
||||
|
@ -278,34 +288,31 @@ func GetKubeadmCachedImages(imageRepository string, kubernetesVersionStr string)
|
|||
}...)
|
||||
|
||||
} else if v1_13(kubernetesVersion) {
|
||||
podInfraContainerImage = imageRepository + "pause-amd64:3.1"
|
||||
podInfraContainerImage = imageRepository + "pause:3.1"
|
||||
images = append(images, []string{
|
||||
podInfraContainerImage,
|
||||
imageRepository + "pause:3.1",
|
||||
imageRepository + "k8s-dns-kube-dns-amd64:1.14.8",
|
||||
imageRepository + "k8s-dns-dnsmasq-nanny-amd64:1.14.8",
|
||||
imageRepository + "k8s-dns-sidecar-amd64:1.14.8",
|
||||
imageRepository + "etcd-amd64:3.2.24",
|
||||
imageRepository + "etcd:3.2.24",
|
||||
imageRepository + "coredns:1.2.6",
|
||||
}...)
|
||||
|
||||
} else if v1_12(kubernetesVersion) {
|
||||
podInfraContainerImage = imageRepository + "pause-amd64:3.1"
|
||||
podInfraContainerImage = imageRepository + "pause:3.1"
|
||||
images = append(images, []string{
|
||||
podInfraContainerImage,
|
||||
imageRepository + "pause:3.1",
|
||||
imageRepository + "k8s-dns-kube-dns-amd64:1.14.8",
|
||||
imageRepository + "k8s-dns-dnsmasq-nanny-amd64:1.14.8",
|
||||
imageRepository + "k8s-dns-sidecar-amd64:1.14.8",
|
||||
imageRepository + "etcd-amd64:3.2.24",
|
||||
imageRepository + "etcd:3.2.24",
|
||||
imageRepository + "coredns:1.2.2",
|
||||
}...)
|
||||
|
||||
} else if v1_11(kubernetesVersion) {
|
||||
podInfraContainerImage = imageRepository + "pause-amd64:3.1"
|
||||
podInfraContainerImage = imageRepository + "pause:3.1"
|
||||
images = append(images, []string{
|
||||
podInfraContainerImage,
|
||||
imageRepository + "pause:3.1",
|
||||
imageRepository + "k8s-dns-kube-dns-amd64:1.14.8",
|
||||
imageRepository + "k8s-dns-dnsmasq-nanny-amd64:1.14.8",
|
||||
imageRepository + "k8s-dns-sidecar-amd64:1.14.8",
|
||||
|
@ -314,7 +321,7 @@ func GetKubeadmCachedImages(imageRepository string, kubernetesVersionStr string)
|
|||
}...)
|
||||
|
||||
} else if v1_10(kubernetesVersion) {
|
||||
podInfraContainerImage = imageRepository + "pause-amd64:3.1"
|
||||
podInfraContainerImage = imageRepository + "pause:3.1"
|
||||
images = append(images, []string{
|
||||
podInfraContainerImage,
|
||||
imageRepository + "k8s-dns-kube-dns-amd64:1.14.8",
|
||||
|
@ -324,7 +331,7 @@ func GetKubeadmCachedImages(imageRepository string, kubernetesVersionStr string)
|
|||
}...)
|
||||
|
||||
} else if v1_9(kubernetesVersion) {
|
||||
podInfraContainerImage = imageRepository + "pause-amd64:3.0"
|
||||
podInfraContainerImage = imageRepository + "pause:3.0"
|
||||
images = append(images, []string{
|
||||
podInfraContainerImage,
|
||||
imageRepository + "k8s-dns-kube-dns-amd64:1.14.7",
|
||||
|
@ -334,7 +341,7 @@ func GetKubeadmCachedImages(imageRepository string, kubernetesVersionStr string)
|
|||
}...)
|
||||
|
||||
} else if v1_8(kubernetesVersion) {
|
||||
podInfraContainerImage = imageRepository + "pause-amd64:3.0"
|
||||
podInfraContainerImage = imageRepository + "pause:3.0"
|
||||
images = append(images, []string{
|
||||
podInfraContainerImage,
|
||||
imageRepository + "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
|
@ -344,12 +351,12 @@ func GetKubeadmCachedImages(imageRepository string, kubernetesVersionStr string)
|
|||
}...)
|
||||
|
||||
} else {
|
||||
podInfraContainerImage = imageRepository + "/pause-amd64:3.0"
|
||||
podInfraContainerImage = imageRepository + "pause:3.0"
|
||||
}
|
||||
|
||||
images = append(images, []string{
|
||||
imageRepository + "kubernetes-dashboard-amd64:v1.10.1",
|
||||
imageRepository + "kube-addon-manager:v8.6",
|
||||
imageRepository + "kube-addon-manager:v9.0",
|
||||
minikubeRepository + "storage-provisioner:v1.8.1",
|
||||
}...)
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ func (provisioner *MockProvisioner) GetOsReleaseInfo() (*provision.OsRelease, er
|
|||
return nil, nil
|
||||
}
|
||||
|
||||
// AttemptIPContact attemps to contact an IP and port
|
||||
// AttemptIPContact attempts to contact an IP and port
|
||||
func (provisioner *MockProvisioner) AttemptIPContact(dockerPort int) {
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue