minikube安装k8s单机调试环境

minikube为开发或者测试在本地启动一个节点的kubernetes集群,minikube打包了和配置一个linux虚拟机、docker与kubernetes组件。给开发者提供充分的环境。

最近把老笔记本换了Ubuntu系统,现在就以Ubuntu系统为列。

安装docker环境

1
2
3
4
5
#使用docker官方CE源,ce版本的好处这边就不多说了。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ apt-key fingerprint 0EBFCD88
$ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu(lsb_release -cs) stable"
$ apt-get install docker-ce

安装minikube

1
2
3
4
#这里使用阿里的修改版。因为墙的问题,不光google的minikube下不了,连镜像也拉不下来。
$ curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v0.28.0/minikube-linux-amd64
$ chmod +x minikube
$ mv minikube /usr/local/bin/

安装K8s环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#先把k8s客户端工具安装好。
$ apt-get install -y kubectl

#开始安装环境。
$ minikube start --registry-mirror=https://registry.docker-cn.com
There is a newer version of minikube available (v0.31.0). Download it here:
https://github.com/kubernetes/minikube/releases/tag/v0.31.0

To disable this notification, run the following:
minikube config set WantUpdateNotification false
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Downloading Minikube ISO
153.08 MB / 153.08 MB [============================================] 100.00% 0s
Getting VM IP address...
Moving files into cluster...
Downloading kubelet v1.10.0
Downloading kubeadm v1.10.0
Finished Downloading kubeadm v1.10.0
Finished Downloading kubelet v1.10.0
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config file.

在安装的时候需要注意一下,安装的时候非常占用内存。我的老电脑只有4G内存,完全不够用,都用到交换分区了。建议电脑至少8G内存。

1
2
3
              总计         已用        空闲      共享    缓冲/缓存    可用
内存: 3921 3277 167 46 475 364
交换: 4047 1504 2543

安装完成查看测试环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready master 2m v1.10.0

$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system etcd-minikube 1/1 Running 0 2m
kube-system kube-addon-manager-minikube 1/1 Running 0 1m
kube-system kube-apiserver-minikube 1/1 Running 0 2m
kube-system kube-controller-manager-minikube 1/1 Running 0 3m
kube-system kube-dns-b4bd9576-mdkhx 3/3 Running 0 2m
kube-system kube-proxy-js45b 1/1 Running 0 2m
kube-system kube-scheduler-minikube 1/1 Running 0 3m
kube-system kubernetes-dashboard-685cfbd9f6-5j7lf 1/1 Running 0 1m
kube-system storage-provisioner 1/1 Running 0 1m