安裝minikube
我這裏使用的是 rpm 包來安裝
$ wget -c https://storage.googleapis.com/minikube/releases/latest/minikube-1.3.1.rpm
$ sudo yum localinstall minikube-1.3.1.rpm
安裝kubectl
可以通過 yum 或下載可執行文件來安裝
$ sudo yum install kubernetes-client
或
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/kubectl
啓動 k8s
可以通過下面命令來創建k8s環境
$ minikube start --vm-driver=virtualbox
但是由於這一步需要在線下載一些包,因此如果不翻牆的話基本不會成功,所以通常我們得使用代理纔可以使上面命令運行成功
$ minikube start --docker-env HTTP_PROXY=http://<host>:<port> --docker-env HTTPS_PROXY=http://<host>:<port> --docker-env NO_PROXY=127.0.0.1/24
* minikube v1.3.1 on Centos 7.6.1810
* Downloading VM boot image ...
minikube-v1.3.0.iso.sha256: 65 B / 65 B [--------------------] 100.00% ? p/s 0s
minikube-v1.3.0.iso: 131.07 MiB / 131.07 MiB [-------] 100.00% 25.12 MiB p/s 5s
* Creating virtualbox VM (CPUs=2, Memory=2000MB, Disk=20000MB) ...
* Preparing Kubernetes v1.15.2 on Docker 18.09.8 ...
- env HTTP_PROXY=http://<host>:<port>
- env HTTPS_PROXY=http://<host>:<port>
- env NO_PROXY=127.0.0.1/24
E0829 04:28:46.286634 24072 start.go:558] Error caching images: Caching images for kubeadm: caching images: caching image /home/jhadmin/.minikube/cache/images/gcr.io/k8s-minikube/storage-provisioner_v1.8.1: fetching remote image: Get https://gcr.io/v2/: dial tcp 74.125.204.82:443: i/o timeout
* Unable to load cached images: loading cached images: loading image /home/jhadmin/.minikube/cache/images/gcr.io/k8s-minikube/storage-provisioner_v1.8.1: stat /home/jhadmin/.minikube/cache/images/gcr.io/k8s-minikube/storage-provisioner_v1.8.1: no such file or directory
* Downloading kubeadm v1.15.2
* Downloading kubelet v1.15.2
* Pulling images ...
* Launching Kubernetes ...
* Waiting for: apiserver proxy etcd scheduler controller dns
* Done! kubectl is now configured to use "minikube"
minikube 默認使用 VirtualBox 虛擬機來跑 k8s,上面命令執行成功後,會在 VirtualBox 中創建一個名叫 minikube 的虛擬機,k8s 就跑在這個虛擬機中,我們也可以設置默認的虛擬化
$ minikube config set vm-driver virtualbox
查看集羣
集羣狀態
可以通過 kubectl cluster-info 來查看集羣狀態
$ kubectl cluster-info
Kubernetes master is running at https://192.168.99.100:8443
KubeDNS is running at https://192.168.99.100:8443/api/v1/proxy/namespaces/kube-system/services/kube-dns
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
查看集羣信息
# 首先登錄到 minikube 虛擬機中
$ minikube ssh
# 查看鏡像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io/kube-apiserver v1.15.2 34a53be6c9a7 3 weeks ago 207MB
k8s.gcr.io/kube-controller-manager v1.15.2 9f5df470155d 3 weeks ago 159MB
k8s.gcr.io/kube-scheduler v1.15.2 88fa9cb27bd2 3 weeks ago 81.1MB
k8s.gcr.io/kube-proxy v1.15.2 167bbf6c9338 3 weeks ago 82.4MB
k8s.gcr.io/kube-addon-manager v9.0 119701e77cbc 7 months ago 83.1MB
k8s.gcr.io/coredns 1.3.1 eb516548c180 7 months ago 40.3MB
k8s.gcr.io/etcd 3.3.10 2c4adeb21b4f 9 months ago 258MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 20 months ago 742kB
gcr.io/k8s-minikube/storage-provisioner v1.8.1 4689081edb10 22 months ago 80.8MB
# 查看運行的容器
$ docker ps
...
啓動 Dashboard
minikube 也可以通過命令行來啓動 Kubernetes 的 Dashboard,運行下面的命令,即可啓動 Kubernetes Dashboard,並且會在本地彈出瀏覽器並打開 Kubernetes 的 Dashboard。
$ minikube dashboard
...
刪除 k8s
$ minikube delete