针对mac的minikube安装
1.安装:virtualbox,官网下载即可
brew cask install virtualbox
2安装minikube
- 使用curl下载并安装版本Minikube:阿里云(试了好多google下载的minikube都不能启动,所以选择了阿里云)
curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v0.30.0/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
检查是否下载成功
minikube version
3.启动mikube
minikube start --vm-driver=virtualbox --registry-mirror=https://registry.docker-cn.com
- –vm-driver的意思就是你使用的是什么虚拟机,因为我是使用virtualbox的,所以参数就是virtualbox
- 还有就是–registry-mirror一定要加
可能会出现pull k8s出现错误
解决使用docker pull 然后修改tag
docker pull mirrorgooglecontainers/kube-apiserver:v1.13.2
docker pull mirrorgooglecontainers/kube-controller-manager:v1.13.2
docker pull mirrorgooglecontainers/kube-scheduler:v1.13.2
docker pull mirrorgooglecontainers/kube-proxy:v1.13.2
docker pull mirrorgooglecontainers/pause:3.1
docker pull mirrorgooglecontainers/etcd:3.2.24
docker pull coredns/coredns:1.2.6
修改标签
docker tag docker.io/mirrorgooglecontainers/kube-apiserver:v1.13.2 k8s.gcr.io/kube-apiserver:v1.13.2
docker tag docker.io/mirrorgooglecontainers/kube-controller-manager:v1.13.2 k8s.gcr.io/kube-controller-manager:v1.13.2
docker tag docker.io/mirrorgooglecontainers/kube-scheduler:v1.13.2 k8s.gcr.io/kube-scheduler:v1.13.2
docker tag docker.io/mirrorgooglecontainers/kube-proxy:v1.13.2 k8s.gcr.io/kube-proxy:v1.13.2
docker tag docker.io/mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag docker.io/mirrorgooglecontainers/etcd:3.2.24 k8s.gcr.io/etcd:3.2.24
docker tag docker.io/coredns/coredns:1.2.6 k8s.gcr.io/coredns:1.2.6
如果出现
minikube delete
minikube start
打开控制台
minikube dashboard
4.部署
- 编写go程序,项目的根目录先创建Dockerfile文件
docker build -t hello-go:v1 .
Kubectl run hello-go --image=hello-go:v1 --port=8848
#查看deployments
kubectl get deploymentd
如果出现镜像pull失败。
# 替换镜像
$ docker pull visenzek8s/pause-amd64:3.0
$ docker tag visenzek8s/pause-amd64:3.0 gcr.io/google_containers/pause-amd64:3.0
# 显式设置拉取策略为 IfNotPresent
$ kubectl run hello-go --image=hello-go:v1 --port=8848 --image-pull-policy=IfNotPresent
创建services
kubectl expose deployments hello-go --type=LoadBalancer
#获取services
kubectl get services
#通过minikube访问
minikube service hello-go