让建站变得简单。无暴躁，不编程，我爱暴躁，我爱编程，编程使我暴躁。精通PHP、PYTHON、C、C++、Java、C#、VB、HTML、Delphi、JavaScript、PHP等语言的拼写,熟练PhotoShop、Illustrator CS、CorelDraw、Flash CS、AutoCAD、Office等软件的卸载,掌握Windows Server、Unix、Lunix等操作系统的关机
由于公司有运维，很多工作只用动嘴就行。最近折腾区块链，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
由于没有现成的机器，只能在win10上测试了安装:https://www.runoob.com/docker/windows-docker-install.html相关需要翻墙的已经传到百度网盘docker目录docker-machine-Windows-x86_64.exe和boot2docker.iso 链接: https://pan.baidu.com/s/1GwrdCyVIteWyPB3xPNYnOA 提取码: unvm第一次运行 Docker Quickstart Terminal 的时候需要去下载最新的https://github.com/docker/machine/releases/,也可以用我网盘分享的那个v0.16.2，不过可能版本太低他还是会去下载， 然后拷贝到C:\Users\Administrator\.docker\machine\cache， 断开网络再执行。否则会因为没有翻墙而卡住先去打开网址阿里云获取镜像地址：https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors操作命令：//创建虚拟机： docker-machine create --engine-registry-mirror=镜像地址 -d virtualbox swarm-manager docker-machine create --engine-registry-mirror=镜像地址 -d virtualbox swarm-worker1 docker-machine ls //初始化swarm manager docker swarm init --advertise-addr 192.168.99.101 //拷贝中间段命令 docker-machine ssh swarm-worker1 //执行刚刚复制的命令 //退出 exit docker-machine ssh swarm-manager docker node ls docker service ls //创建一个服务 docker service create --replicas 1 --name helloworld alpine ping docker.com //扩容服务 docker service scale helloworld=2 docker service ls //删除服务 docker service rm hellworld //可以登录下worker1看是否有相应的服务启动 //升级 docker service update --image 镜像 服务 //停止某个节点接受服务，新的服务不会安装到此节点 docker node update --availability drain swarm-worker1 //节点重新接受服务 docker node update --availability active swarm-worker1 好了，基础操作可以了，我们来测试下几分钟创建，nginx集群在之前，最好去节点内配置下docker的镜像为阿里的，自行搜教程//进入管理节点 docker ssh swarm-manager //创建4个nginx服务的集群 docker service create --replicas 4 --name nginx --publish 8080:80 nginx访问 swarm-manager的ip: http://ip:8080, 看到nginx欢迎页，恭喜你成功了。我们来看看他做了些什么。1.在 docker node ls 里为active的节点内，下载了nginx的镜像， 然后在可用的节点内，平均的去创建docker 容器跑起nginx2.当我们访问swarm-manager ip 8080端口的时候，http://ip:8080，他自动分发到代理到后端的4个nginx服务容器内。对比以前我们一台台服务器去安装包，安装软件，是不是感觉66666再进一步，我们登录worker1docker ssh swarm-worker1 docker ps //手动停止一个nginx docker stop 容器id docker ps -a发现了么，你停止的还是停止的，但是你的nginx服务还是2个，他会自动起一个，所以即使一个容器服务因为某种原因挂了，不影响，新的服务起来了。是不是66666
由于最近在学习区块链，学习超级账本，所以需要经常用到golang，记录下基础教程，供以后翻阅1. 安装http://docscn.studygolang.com/doc/installhttp://docscn.studygolang.com/doc/ 这里的文档建议通读一遍基础几个命令go env //查看环境 go get github.com/**** //安装包 go env -w GOPROXY=https://goproxy.cn,direct //设置阿里代理2. begoohttps://www.kancloud.cn/hello123/beego/126086按步骤安装begoo和bee工具，安装如果报错，安装前先执行下go env -w GO111MODULE=off因为有些包没有使用nod,执行完了再命令：bee new demo cd demo bee run编译linxu上可运行程序：SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build main.go生成的main 文件即为linux下可执行文件