美文网首页
开始使用Minikube

开始使用Minikube

作者: RuaRuaRua_RuaRu | 来源:发表于2018-04-07 03:02 被阅读0次

企业为什么要使用Docker?它到底好在哪里?
容器、Docker与Kubernetes
Docker宣布拥抱k8s,k8s将一统天下?
Minikube:轻松创建单机版 Kubernetes 集群

minikube的使用

安装好minikube, 并确认是否已启动

$ minikube status
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100

postgresql

数据库使用官方镜像

$ kubectl run postgresql --image=postgres --env="POSTGRES_PASSWORD=password" --port=5432
deployment "postgresql" created

创建成功后可以查看对应的Deployment和Pod状态

$ kubectl get deployment
NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
postgresql   1         1         1            1           27m
$ kubectl get pod
NAME                          READY     STATUS    RESTARTS   AGE
postgresql-7877b54d49-hww4w   1/1       Running   0          18m

如果想从外部访问数据库, 可以使用Service暴露这个Pod

$ kubectl expose deployment postgresql --type=LoadBalancer
service "postgresql" exposed
$ kubectl get services
NAME         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP      10.96.0.1        <none>        443/TCP          49m
postgresql   LoadBalancer   10.111.208.150   <pending>     5432:32131/TCP   17m
$ psql -h 192.168.99.100 -p 32131 -U postgres
Password for user postgres:
psql (10.1, server 10.3 (Debian 10.3-1.pgdg90+1))
Type "help" for help.

postgres-# \q
$

删除Service,不再暴露Pod

$ kubectl delete services postgresql

django

构建镜像,为了让构建的镜像不经上传能直接使用.先使用eval $(minikube docker-env)命令

$ git clone https://github.com/waaaaaaaagh/myblog
$ docker build -t myblog:v1 myblog/django_example/

构建完毕. 创建Deployment和Service

$ kubectl run app --image=myblog:v1 --port=8000
deployment "app" created
$ kubectl expose deployment app --type=LoadBalancer
service "app" exposed

测试的时候却不能访问

$ kubectl get services
NAME         TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
app          LoadBalancer   10.99.200.192   <pending>     8000:30376/TCP   17m
kubernetes   ClusterIP      10.96.0.1       <none>        443/TCP          2h
$ curl http://192.168.99.100:30376
curl: (7) Failed to connect to 192.168.99.100 port 30376: Connection refused

发现是镜像的原因. 修改镜像后重新构建镜像为myblog:v2, 然后更新Deployment

$ kubectl set image deployment/app app=myblog:v2
deployment "app" image updated

稍等片刻可以使用如下命令打开app

$ minikube service app

相关文章

网友评论

      本文标题:开始使用Minikube

      本文链接:https://www.haomeiwen.com/subject/azkjhftx.html