启动mac版 docker 自带的k8s
最近准备好好学习下k8s,为了图方便,直接使用docker集成的k8s,但是网上找了一些教程但都没能一次性成功,只好自己从头跑一遍,顺手写个教程可以方便有类似需求的同学参考。话不多说,直接上步骤。1.下载docker直接去官网下载即可。由于docker官网需要fq,我使用了阿里云的镜像服务:https://cr.console.aliyun.com/cn-hangzhou/instances/mi
最近准备好好学习下k8s,为了图方便,直接使用docker集成的k8s,但是网上找了一些教程但都没能一次性成功,只好自己从头跑一遍,顺手写个教程可以方便有类似需求的同学参考。
话不多说,直接上步骤。
1.下载docker
直接去官网下载即可。
由于docker官网需要fq,我使用了阿里云的镜像服务:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
2.启动docker
下载完docker.dmg后点击安装,随后正常打开即可。并在Preference->Daemon中设置阿里云的mirrors,docker自带的mirror需要fq。
3.确认k8s的版本。
打开About Docker DeskTop查看,我的k8s是 v1.10.11。
4.启动k8s
如图,勾选相关选项。这个图是已经启动好了,如果不能启动会一直显示“k8s is starting”。
如果一直显示“k8s is starting…” ,需要确认下k8s依赖是否下载。使用docker images查看。
一般来说,是没法正常启动的。在寻求各路大神之后,找到了一种行之有效的办法。
5.解决方案
参照:https://github.com/cookcodeblog/k8s-deploy/blob/master/kubeadm/04_pull_kubernetes_images_from_aliyun.sh
更改k8s版本为v1.10.11后生成load_images.sh文件,并执行 ./load_images.sh。
#!/bin/bash
set -e
Check version in https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/
Search “Running kubeadm without an internet connection”
For running kubeadm without an internet connection you have to pre-pull the required master images for the version of choice:
KUBE_VERSION=v1.10.11
KUBE_DASHBOARD_VERSION=v1.10.1
KUBE_PAUSE_VERSION=3.1
ETCD_VERSION=3.1.12
DNS_VERSION=1.14.8
GCR_URL=k8s.gcr.io
ALIYUN_URL=registry.cn-hangzhou.aliyuncs.com/google_containers
images=(kube-proxy-amd64:
K
U
B
E
V
E
R
S
I
O
N
k
u
b
e
−
s
c
h
e
d
u
l
e
r
−
a
m
d
64
:
{KUBE_VERSION} kube-scheduler-amd64:
KUBEVERSIONkube−scheduler−amd64:{KUBE_VERSION}
kube-controller-manager-amd64:
K
U
B
E
V
E
R
S
I
O
N
k
u
b
e
−
a
p
i
s
e
r
v
e
r
−
a
m
d
64
:
{KUBE_VERSION} kube-apiserver-amd64:
KUBEVERSIONkube−apiserver−amd64:{KUBE_VERSION}
pause-amd64:
K
U
B
E
P
A
U
S
E
V
E
R
S
I
O
N
e
t
c
d
−
a
m
d
64
:
{KUBE_PAUSE_VERSION} etcd-amd64:
KUBEPAUSEVERSIONetcd−amd64:{ETCD_VERSION}
k8s-dns-sidecar-amd64:
D
N
S
V
E
R
S
I
O
N
k
8
s
−
d
n
s
−
k
u
b
e
−
d
n
s
−
a
m
d
64
:
{DNS_VERSION} k8s-dns-kube-dns-amd64:
DNSVERSIONk8s−dns−kube−dns−amd64:{DNS_VERSION}
k8s-dns-dnsmasq-nanny-amd64:
D
N
S
V
E
R
S
I
O
N
k
u
b
e
r
n
e
t
e
s
−
d
a
s
h
b
o
a
r
d
−
a
m
d
64
:
{DNS_VERSION} kubernetes-dashboard-amd64:
DNSVERSIONkubernetes−dashboard−amd64:{KUBE_DASHBOARD_VERSION})
for imageName in ${images[@]} ; do
docker pull
A
L
I
Y
U
N
U
R
L
/
ALIYUN_URL/
ALIYUNURL/imageName
docker tag
A
L
I
Y
U
N
U
R
L
/
ALIYUN_URL/
ALIYUNURL/imageName
G
C
R
U
R
L
/
GCR_URL/
GCRURL/imageName
docker rmi
A
L
I
Y
U
N
U
R
L
/
ALIYUN_URL/
ALIYUNURL/imageName
done
docker images
等待下载完毕后,重置k8s。k8s即可正常启动。
6.设置 contexts(非常关键,一定要设置为docker-for-desktop,minikube无法连接)可参考:https://docs.docker.com/docker-for-mac/
1
2
$ kubectl config get-contexts
$ kubectl config use-context docker-for-desktop
7.启动 dashboard:
启动dashboard还需要执行
1
kubectl create -f https://github.com/kubernetes/dashboard/tree/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
部署成功后,我们进行启动 proxy。
1
kubectl proxy
8.登陆dashboard
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/cluster?namespace=kube-system
这一步需要token:
1
kubectl -n kube-system describe secret default| awk ‘$1==“token:”{print $2}’
到此时,k8s已经run起来了。
更多推荐
所有评论(0)