Get started with Kubernetes - minikube + Docker on Windows 10

NOTE(Justin): 从minikube开始但又定制选项的情况下, 遇到问题很难处理. 不如从基础起步, 逐步增加内容.

Install kubectl

With chocolatey,

$ choco install kubernetes-cli
# Installed to C:\ProgramData\chocolatey\lib\kubernetes-cli\tools

References: https://kubernetes.io/docs/tasks/tools/install-kubectl/

Create a VM with docker-machine

Create virtual switch 'aexv' first. 然后使用 docker-machine 来创建一个 有docker的虚拟机. 这里需要取消proxy设置, 否则容易出现网络问题.

$ docker-machine --native-ssh create -d hyperv `
 --hyperv-virtual-switch aexv  --hyperv-disk-size 80000 `
  --hyperv-cpu-count 2  --hyperv-memory 2048  `
  --engine-env HTTP_PROXY=http://web-proxy.atl.hp.com:8080 `
   --engine-env HTTPS_PROXY=http://web-proxy.atl.hp.com:8080 `
   --engine-env NO_PROXY=192.168.3.0,localhost `
     minikube

docker-machine --native-ssh provision -d hyperv --hyperv-virtual-switch aexv --hyperv-disk-size 80000 --hyperv-cpu-count 2 --hyperv-memory 2048 --engine-env HTTP_PROXY=http://web-proxy.atl.hp.com:8080 --engine-env HTTPS_PROXY=http://web-proxy.atl.hp.com:8080 --engine-env NO_PROXY=192.168.3.0,localhost minikube

docker-machine rm minikube

 docker-machine --native-ssh create -d hyperv `
  --hyperv-virtual-switch aexv  --hyperv-disk-size 80000 `
   --hyperv-cpu-count 2  --hyperv-memory 2048  `
      minikube

多行命令的换行, 在Linux系统中是反斜线(\), 在powershell中是反引号(`)

Start minikube

要把此前 docker-machine 步骤中创建的 id_rsa 复制到 minikube ssh-key 提示的位置, 否则连不上. 而且这意味着之前提供的很多cert相关的设置不再有用了. minikube又创建了一份 保存在了自己的目录下面... 这其实是说明了minkube的参数设置上可能有什么讲究.

需要把 localkube 放到cache中, 或者在命令行指定?

minikube start --vm-driver=hyperv --hyperv-virtual-switch=aexv --v=7 --alsologtostderr --iso-url file://\C:\users\wanggan\Downloads\minikube-v0.25.1.iso --docker-env HTTP_PROXY=http://web-proxy.atl.hp.com:8080 --docker-env HTTPS_PROXY=http://web-proxy.atl.hp.com:8080

在指定了 iso-url 时, 也需要指定localkube, 或直接放到cache中.

一旦使用了minikube的设定, minikube会指定自己的ca 设置, 直接导致之前docker-machine设置的不再生效. 需要一种更友好的办法, 继承此前的设置. https://www.ibm.com/support/knowledgecenter/zh/SS5PWC/minikube.html https://blogs.msdn.microsoft.com/wasimbloch/2017/01/23/setting-up-kubernetes-on-windows10-laptop-with-minikube/

References: https://docs.docker.com/machine/drivers/hyper-v/#4-create-the-nodes-with-docker-machine-and-the-microsoft-hyper-v-driver