使用minikube创建K8S单机环境-填坑指南-创新互联
温馨提示
此篇博文主要是记录如何在本地环境使用CentOS系统安装minikube,对于安装过程中大量出现镜像下载失败的问题做了填坑,主要是使用kubernete 1.12.1版本,对于其他不同版本,方法是一样的。
成都创新互联为客户提供专业的成都网站建设、成都网站制作、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、手机网站制作等网站方面业务。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.rpm
和 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
到服务器,运行如下命令安装docker:
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设置为开机自启动:
systemctl start docker
systemctl enable docker
3.下载kubernetes的docker镜像
创建如下脚本:
vi auto_pull_images.sh
在脚本中添加如下内容:
#!/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
运行脚本:
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集群
minikube start --vm-driver=none --registry-mirror=https://registry.docker-cn.com --kubernetes-version v1.12.1
启动dashboard:
minikube dashboard
为dashboard添加外部访问代理,此处的IP为本地系统IP:
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。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站名称:使用minikube创建K8S单机环境-填坑指南-创新互联
新闻来源:http://azwzsj.com/article/ijjcj.html