Docker容器k8s那点事儿「高级篇」docker+k8s微服务容器化实践

Minikube 安装采坑记

2019-01-06  本文已影响5人  Mr_Hospital

(Proudly powered by QKQ)

学习使用Kubernetes,需要一个环境,可以在google cloud上买一个,但是还是觉得本地有一个环境比较好。本地的环境,鉴于资源关系,所以选择了minikube。minikube即迷你kubernetes。
我的机器是Macbook,使用的MacOS。安装了Mac下的docker engine/daemon。docker engine跟docker daemon有什么区别呢?其实指向的东西是一样的,叫法不同。

Q: 环境是什么样的?

A: 本地环境

Q: 都遇到了哪些坑?

A:

Q: 最终安装的指令是什么?

A:

export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087; # 注意两个都是http,不是https
minikube start --docker-env http_proxy=http://192.168.99.1:1087 --docker-env https_proxy=http://192.168.99.1:1087 --docker-env no_proxy=localhost,127.0.0.1,192.168.99.0/24 --log_dir=tmp --cpus 4 --memory 8192

解释一下命令:

还有一个设置log级别的:

比如:minikube --v=2就是ERROR level logs

Q: minikube干了什么?

A: 没有官方文档解释做了些什么,我猜测的:

注意:~/.minikube是minikube的缓存和配置文件的存储位置

Q: 为什么直接minikube start无法完成安装?

A: 如上所述,minikube会去下载很多东西,这些在google的服务器上,不使用代理无法下载。

Q: 卡在restarting cluster components...

A: 通过设置log的目录,可以通过具体的log查看卡住的原因。我遇到的一般是下载不了镜像的原因。
一般来说,设置了docker daemon的proxy就能够下载镜像了。如果下载不了,可能是proxy的问题。如果是在Mac上,可以看看下面虚拟机无法联机主机proxy的问题。
如果proxy设置没有问题,但是minikube start还是无法下载镜像的话(通过log查看),可以通过minikube ssh登入虚拟机,然后手动执行
kubeadm config images pull进行镜像的拉取。

Q: 虚拟机无法连接主机的proxy

A: 需要在ss-NG的设置里面,将http proxy listen address设置为0.0.0.0。表示允许任何主机的访问。

Q: 配置docker engine的env不生效?

A: 这个问题跟中途配置--cpu和--memory不生效的问题一样,原因应该是该命令是在创建虚拟机之后就写入到虚拟机里了,所以中途如果需要更改的话,需要删除虚拟机,重来一次。执行minikube delete,然后重新minikube start就可以了。

Q: 安装速度慢

A: 跟网络有关系,毕竟要下载iso和kubeadm和kubelet需要一定时间,这几个东西也不小:

Q: 不知道怎么才算安装成功?

A: 几个地方可以查看:
minikube安装完成之后提示"Please enjoy minikube"


minikue_success.png

kubectl version的结果:


kubectl_version.png

使用minikube ssh登录进去之后的镜像和容器:

$ docker images
REPOSITORY                                TAG                 IMAGE ID            CREATED             SIZE
golang                                    1.12-rc             62c3cb756f2b        7 days ago          768MB
k8s.gcr.io/kubernetes-dashboard-amd64     v1.10.1             f9aed6605b81        2 weeks ago         122MB
k8s.gcr.io/kube-proxy                     v1.12.4             6d393e89739f        3 weeks ago         96.5MB
k8s.gcr.io/kube-apiserver                 v1.12.4             c04b373449d3        3 weeks ago         194MB
k8s.gcr.io/kube-controller-manager        v1.12.4             51b2a8e5ff78        3 weeks ago         164MB
k8s.gcr.io/kube-scheduler                 v1.12.4             c1b5e63c0b56        3 weeks ago         58.4MB
k8s.gcr.io/etcd                           3.2.24              3cab8e1b9802        3 months ago        220MB
k8s.gcr.io/coredns                        1.2.2               367cdc8433a4        4 months ago        39.2MB
k8s.gcr.io/echoserver                     1.10                365ec60129c5        9 months ago        95.4MB
k8s.gcr.io/kube-addon-manager             v8.6                9c16409588eb        10 months ago       78.4MB
k8s.gcr.io/pause                          3.1                 da86e6ba6ca1        12 months ago       742kB
gcr.io/k8s-minikube/storage-provisioner   v1.8.1              4689081edb10        14 months ago       80.8MB

docker ps的结果:

CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS               NAMES
45b499003095        f9aed6605b81           "/dashboard --insecu…"   About an hour ago   Up About an hour                        k8s_kubernetes-dashboard_kubernetes-dashboard-5bff5f8fb8-jf7cn_kube-system_3becda82-109f-11e9-a635-080027950248_6
4b543d5826a4        4689081edb10           "/storage-provisioner"   About an hour ago   Up About an hour                        k8s_storage-provisioner_storage-provisioner_kube-system_3c18aa92-109f-11e9-a635-080027950248_5
d1b90336f259        6d393e89739f           "/usr/local/bin/kube…"   About an hour ago   Up About an hour                        k8s_kube-proxy_kube-proxy-wkjvw_kube-system_a1d18719-1163-11e9-82ed-080027950248_0
38b20b7159b3        k8s.gcr.io/pause:3.1   "/pause"                 About an hour ago   Up About an hour                        k8s_POD_kube-proxy-wkjvw_kube-system_a1d18719-1163-11e9-82ed-080027950248_0
5f9fb9690da5        367cdc8433a4           "/coredns -conf /etc…"   2 hours ago         Up About an hour                        k8s_coredns_coredns-576cbf47c7-p6jtb_kube-system_356e9d95-109f-11e9-a635-080027950248_3
cefd5489117d        367cdc8433a4           "/coredns -conf /etc…"   2 hours ago         Up About an hour                        k8s_coredns_coredns-576cbf47c7-72lfg_kube-system_35709bb7-109f-11e9-a635-080027950248_3
89ae1be3eb8d        365ec60129c5           "/usr/local/bin/run.…"   2 hours ago         Up 2 hours                              k8s_hello-minikube_hello-minikube-6b75d57bbd-82kz2_default_4277ca41-10ae-11e9-a635-080027950248_3
a79f3369be02        k8s.gcr.io/pause:3.1   "/pause"                 2 hours ago         Up 2 hours                              k8s_POD_coredns-576cbf47c7-72lfg_kube-system_35709bb7-109f-11e9-a635-080027950248_3
a84812c7f90f        k8s.gcr.io/pause:3.1   "/pause"                 2 hours ago         Up 2 hours                              k8s_POD_kubernetes-dashboard-5bff5f8fb8-jf7cn_kube-system_3becda82-109f-11e9-a635-080027950248_3
928b5194a662        k8s.gcr.io/pause:3.1   "/pause"                 2 hours ago         Up 2 hours                              k8s_POD_coredns-576cbf47c7-p6jtb_kube-system_356e9d95-109f-11e9-a635-080027950248_3
1568fa422077        k8s.gcr.io/pause:3.1   "/pause"                 2 hours ago         Up 2 hours                              k8s_POD_storage-provisioner_kube-system_3c18aa92-109f-11e9-a635-080027950248_3
e59fdc28d4a7        k8s.gcr.io/pause:3.1   "/pause"                 2 hours ago         Up 2 hours                              k8s_POD_hello-minikube-6b75d57bbd-82kz2_default_4277ca41-10ae-11e9-a635-080027950248_3
beafe5c71c98        51b2a8e5ff78           "kube-controller-man…"   2 hours ago         Up 2 hours                              k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_62402c9ecb1701a979883b1f71d73a28_0
64f5023d6f25        c1b5e63c0b56           "kube-scheduler --ad…"   2 hours ago         Up 2 hours                              k8s_kube-scheduler_kube-scheduler-minikube_kube-system_e1b3e16379a55d4c355fa42bc75eb023_3
050aba98dfbd        3cab8e1b9802           "etcd --advertise-cl…"   2 hours ago         Up 2 hours                              k8s_etcd_etcd-minikube_kube-system_400930335566057521570dcbaf3dbb0b_3
f668c2424f79        9c16409588eb           "/opt/kube-addons.sh"    2 hours ago         Up 2 hours                              k8s_kube-addon-manager_kube-addon-manager-minikube_kube-system_d682efea6fd7d1c11b13f78e8c81af08_3
ce5a972e40bf        c04b373449d3           "kube-apiserver --au…"   2 hours ago         Up 2 hours                              k8s_kube-apiserver_kube-apiserver-minikube_kube-system_cd449a681c0514127b733c5f103919f2_1
7cb7b9d729aa        k8s.gcr.io/pause:3.1   "/pause"                 2 hours ago         Up 2 hours                              k8s_POD_kube-scheduler-minikube_kube-system_e1b3e16379a55d4c355fa42bc75eb023_3
73f0ef3e2040        k8s.gcr.io/pause:3.1   "/pause"                 2 hours ago         Up 2 hours                              k8s_POD_kube-controller-manager-minikube_kube-system_62402c9ecb1701a979883b1f71d73a28_0
93a060e8c13c        k8s.gcr.io/pause:3.1   "/pause"                 2 hours ago         Up 2 hours                              k8s_POD_etcd-minikube_kube-system_400930335566057521570dcbaf3dbb0b_3
2c6c4cad486b        k8s.gcr.io/pause:3.1   "/pause"                 2 hours ago         Up 2 hours                              k8s_POD_kube-apiserver-minikube_kube-system_cd449a681c0514127b733c5f103919f2_1
4265c3c78569        k8s.gcr.io/pause:3.1   "/pause"                 2 hours ago         Up 2 hours                              k8s_POD_kube-addon-manager-minikube_kube-system_d682efea6fd7d1c11b13f78e8c81af08_3

Q: minikube ssh很慢?

A: 使用minikube --logtostderr -v 9 ssh指令,可以看到minikube会去查看是否有更新,所以很慢。目前没有什么解决办法,可以尝试手动ssh进入虚拟机。
怎么手动登入呢?
使用用户:docker,密码:tcuser登录。比如:
ssh docker@192.168.99.100,然后输入密码

Q: minikube的常用指令有哪些?

A:

上一篇 下一篇

猜你喜欢

热点阅读