使用minikube搭建本地k8s集羣

安裝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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章