由于公司有运维，很多工作只用动嘴就行。最近折腾区块链，k8s也是比较重要的一环，正好把流程也跑一遍免得生疏了。由于家里没有服务器，只用台式机win10,前面刚好装了docker和vm,就在win下搞吧一.环境准备打开cmd或者pwoershell(以管理员身份运行，后面没说都同理，避免出现权限问题)1.choco安装， choco是win的包管理软件@"%SystemRoot%/System32/WindowsPowerShell/v1.0/powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%chocolateybin"2.安装minikubeMinikube是一个快速搭建单节点Kubenetes集群的工具,方便本地单机测试k8schoco install minikube二.minikube启动一个集群minikube start --vm-driver=virtualbox --image-mirror-country cn --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.7.0.iso --image-repository=registry.aliyuncs.com/google_containers --memory 3072如果出现错误，需要执行 minikube delete 删除缓存后再重新执行可以看到，minikube start主要做了这些事：创建了名为minikube的虚拟机，并在虚拟机中安装了Docker容器运行时。（实际就是Docker-machine）下载了Kubeadm与Kubelet工具通过Kubeadm部署Kubernetes集群进行各组件间访问授权、健康检查等工作在用户操作系统安装并配置kubectl，并将运行的集群变量设置为了minkube这里说下，--registry-mirror 和 --image-repository请加上，因为minikube 需要下载一些工具，拉取docker镜像也比较大，不加的话，出发你的梯子很6，否则就慢慢等个几天吧。--memory 需要加上，之前默认2048M内存是报了内存不足，中断了的。并且c盘一定要留够空间，下载的镜像有点多，到时候你进虚拟机看就知道了三.查看集群信息不出意外安装好了的话就可以用了，如果有错误，请确认docker是否安装，Oracle VM VirtualBox是否安装正常能使用，win版本是否不支持等等。实在搞不定的请准备一台linux主机（非虚拟机）//命令查看当前的配置 kubectl config view //确认Kubernetes集群节点信息 kubectl get node -o wide先运行个面版找点成就感minikube dashboard 有兴趣深入研究的可以看：https://www.kubernetes.org.cn/k8s四.部署个网站试试//测试创建个goweb项目 kubectl run goweb --image=lingtony/goweb --port=8000 --replicas=2 //查看创建的对象 kubectl get deployment //查看pod kubectl get pod // 创建svc，通过Nodeport方式暴露服务 kubectl expose deployment goweb --name=gowebsvc --port=80 --target-port=8000 --type=NodePort //获取goweb的url minikube service gowebsvc --url //访问,地址和端口改成自己的 http://192.168.99.103:31331/info //或者curl curl "$(minikube service gowebsvc --url)/info" //上面访问的返回的hostname有时候回不一样，和kubectl get pod里面的一致，说明已经负载到2台上了 //运行控制台 minikube dashboard //在deployment里面找到goweb，点击右边三个点，弹出菜单中点击Scale,可以动态升降运行容器达到负载五.其他命令//进入虚拟机 minikube ssh //删除pod kubectl get pod kubectl delete pod <NAME> kubectl get deployment kubectl delete deployment <NAME> kubectl get svc kubectl delete <NAME> //至此删除完pod当然如果你熟悉了里面的操作和原理，各大云平台，像阿里或者腾讯就使用更简单了，都做成傻瓜式的了。比自己折腾简单很多。https://cloud.tencent.com/developer/article/1355198