使用minikube建立K8S單機環境-填坑指南

舒適提示

此篇博文主要是記錄如何在本地環境使用CentOS系統安裝minikube,對於安裝過程當中大量出現鏡像下載失敗的問題作了填坑,主要是使用kubernete 1.12.1版本,對於其餘不一樣版本,方法是同樣的。node

1.下載部署安裝包

wget https://storage.googleapis.com/minikube/releases/v0.30.0/minikube-linux-amd64
mv minikube-linux-amd64  /usr/bin/minikube

wget https://dl.k8s.io/v1.12.1/kubernetes-server-linux-amd64.tar.gz
tar xf kubernetes-server-linux-amd64.tar.gz && cd kubernetes/server/bin/
cp kubectl kubeadm kubelet /usr/local/bin/

2.安裝docker

上傳docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpmdocker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm 到服務器,運行以下命令安裝docker:linux

yum install docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm -y
yum install docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm -y

啓動docker服務,並將docker設置爲開機自啓動:docker

systemctl start docker
systemctl enable docker

3.下載kubernetes的docker鏡像

建立以下腳本:centos

vi auto_pull_images.sh

在腳本中添加以下內容:api

#!/bin/bash
images=(kube-proxy-amd64:v1.12.1 kube-scheduler-amd64:v1.12.1 kube-controller-manager-amd64:v1.12.1 kube-apiserver-amd64:v1.12.1 etcd-amd64:3.2.24  pause-amd64:3.1 kubernetes-dashboard-amd64:v1.10.0 k8s-dns-sidecar-amd64:1.14.8 k8s-dns-kube-dns-amd64:1.14.8
k8s-dns-dnsmasq-nanny-amd64:1.14.8)
for imageName in ${images[@]} ; do
  docker pull mirrorgooglecontainers/$imageName
  docker tag mirrorgooglecontainers/$imageName k8s.gcr.io/$imageName
  docker rmi mirrorgooglecontainers/$imageName
done

for n in $(docker images|awk '{print $1":"$2}'|grep -v REPOSITORY); do docker tag $n  `echo $n|sed 's/-amd64//g'` && docker rmi $n; done
docker tag k8s.gcr.io/kubernetes-dashboard:v1.10.0  k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0

docker pull coredns/coredns:1.2.2 
docker tag coredns/coredns:1.2.2 k8s.gcr.io/coredns:1.2.2
docker rmi coredns/coredns:1.2.2

docker pull registry.cn-hangzhou.aliyuncs.com/anoy/kube-addon-manager:v8.6
docker tag  registry.cn-hangzhou.aliyuncs.com/anoy/kube-addon-manager:v8.6  k8s.gcr.io/kube-addon-manager:v8.6
docker rmi registry.cn-hangzhou.aliyuncs.com/anoy/kube-addon-manager:v8.6

docker pull registry.cn-hangzhou.aliyuncs.com/anoy/storage-provisioner:v1.8.1
docker tag registry.cn-hangzhou.aliyuncs.com/anoy/storage-provisioner:v1.8.1 gcr.io/k8s-minikube/storage-provisioner:v1.8.1
docker rmi registry.cn-hangzhou.aliyuncs.com/anoy/storage-provisioner:v1.8.1

運行腳本:bash

sh auto_pull_images.sh

等待腳本運行成功後,執行以下命令,確認所需鏡像已經下載到本地:服務器

[root@node-2 ~]# docker images
REPOSITORY                                TAG                 IMAGE ID            CREATED             SIZE
k8s.gcr.io/kube-proxy                     v1.12.1             61afff57f010        2 weeks ago         96.6 MB
k8s.gcr.io/kube-apiserver                 v1.12.1             dcb029b5e3ad        2 weeks ago         194 MB
k8s.gcr.io/kube-scheduler                 v1.12.1             d773ad20fd80        2 weeks ago         58.3 MB
k8s.gcr.io/kube-controller-manager        v1.12.1             aa2dd57c7329        2 weeks ago         164 MB
k8s.gcr.io/etcd                           3.2.24              3cab8e1b9802        5 weeks ago         220 MB
k8s.gcr.io/coredns                        1.2.2               367cdc8433a4        8 weeks ago         39.2 MB
k8s.gcr.io/kubernetes-dashboard-amd64     v1.10.0             0dab2435c100        2 months ago        122 MB
k8s.gcr.io/kube-addon-manager             v8.6                9c16409588eb        8 months ago        78.4 MB
k8s.gcr.io/kubernetes-dashboard           v1.8.3              0c60bcf89900        8 months ago        102 MB
k8s.gcr.io/k8s-dns-dnsmasq-nanny          1.14.8              c2ce1ffb51ed        9 months ago        40.9 MB
k8s.gcr.io/k8s-dns-sidecar                1.14.8              6f7f2dc7fab5        9 months ago        42.2 MB
k8s.gcr.io/k8s-dns-kube-dns               1.14.8              80cc5ea4b547        9 months ago        50.5 MB
k8s.gcr.io/pause                          3.1                 da86e6ba6ca1        10 months ago       742 kB
gcr.io/k8s-minikube/storage-provisioner   v1.8.1              4689081edb10        11 months ago       80.8 MB

4.啓動服務

啓動minikube集羣ide

minikube start --vm-driver=none --registry-mirror=https://registry.docker-cn.com --kubernetes-version v1.12.1

啓動dashboard:google

minikube dashboard

爲dashboard添加外部訪問代理,此處的IP爲本地系統IP:url

kubectl proxy  --port=8001 --address='10.0.0.2' --accept-hosts='^.*' &

經過url: http://10.0.0.2:8001/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/ 訪問dashboard。

相關文章
相關標籤/搜索