1,关于kubeadm-dind-cluster
昨天研究了下,kubeadm-dind-cluster 。
已经启动了。但是dashboard 没有启动成功。
https://blog.csdn.net/freewebsys/article/details/80002439
在弄的时候遇到点问题。总结下。
2,设置sysctl.conf
设置/etc/sysctl.conf 配置文件
echo -e "net.bridge.bridge-nf-call-ip6tables = 1\n\ net.bridge.bridge-nf-call-iptables = 1\n\ net.ipv6.conf.all.disable_ipv6=1\n\" > /etc/sysctl.conf #替换第一个local_host 让端口暴露出来。 sed -i -e "1,/ \${local_host}://" dind-cluster-v1.8.sh #删除 imagePullPolicy: Always 不用每次都拉去 sed -i -e "s/imagePullPolicy: Always//" kubernetes-dashboard.yaml #替换本地文件 sed -i '143cDASHBOARD_URL=kubernetes-dashboard.yaml' dind-cluster-v1.8.sh
这个只是开始启动的时候报warning 信息的。
3,登录node1,node2,下载镜像
https://anjia0532.github.io/2017/11/15/gcr-io-image-mirror/
https://github.com/anjia0532/gcr.io_mirror
在 hub.docker.io 上面有gcr.io images 的镜像。
下载之后再重新打个tag 重命名下就行了。
docker exec -it kube-node-1 bash docker exec -it kube-node-2 bash #然后执行下载镜像: docker pull anjia0532/k8s-dns-kube-dns-amd64:1.14.5 docker tag anjia0532/k8s-dns-kube-dns-amd64:1.14.5 gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.5 docker pull anjia0532/k8s-dns-dnsmasq-nanny-amd64:1.14.5 docker tag anjia0532/k8s-dns-dnsmasq-nanny-amd64:1.14.5 gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5 docker pull anjia0532/k8s-dns-sidecar-amd64:1.14.5 docker tag anjia0532/k8s-dns-sidecar-amd64:1.14.5 gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.5 docker pull anjia0532/kubernetes-dashboard-amd64:v1.6.0 docker tag anjia0532/kubernetes-dashboard-amd64:v1.6.0 gcr.io/google_containers/kubernetes-dashboard-amd64:v1.6.0
4,启动dashboard
修改dashboard 配置文件:
curl -o https://rawgit.com/kubernetes/dashboard/bfab10151f012d1acc5dfb1979f3172e2400aa3c/src/deploy/kubernetes-dashboard.yaml sed -i -e "s/imagePullPolicy: Always//" kubernetes-dashboard.yaml #要是启动失败,手动启动。 kubectl delete -f kubernetes-dashboard.yaml kubectl create -f kubernetes-dashboard.yaml sed -i -e "s/imagePullPolicy: Always//" kubernetes-dashboard.yaml
再观察下 pods 发现都起来了。包括dashboard也起来了。
# kubectl -n kube-system get podsNAME READY STATUS RESTARTS AGE etcd-kube-master 1/1 Running 1 1h kube-apiserver-kube-master 1/1 Running 1 1h kube-controller-manager-kube-master 1/1 Running 1 1h kube-dns-855bdc94cb-l2zgh 3/3 Running 0 1h kube-proxy-ddc27 1/1 Running 0 1h kube-proxy-v4lwv 1/1 Running 0 1h kube-proxy-xvn9z 1/1 Running 0 1h kube-scheduler-kube-master 1/1 Running 1 1h kubernetes-dashboard-6b767fb7fd-lp9cg 1/1 Running 0 1h
5,访问dashboard
因为做了本地proxy 所以可以直接访问 8080 地址:
http://localhost:8080/api/v1/namespaces/kube-system/services/kubernetes-dashboard:/proxy/
终于起来了:
6,总结
kubeadm-dind-cluster 项目还是比较有意思的。
写的已经很不错了。可惜国内网络不好。要不然直接就起来了。
使用了hub上面的镜像,然后重命名了下。
dashboard 每次都拉去新的,所以启动不了。
修改 kubernetes-dashboard.yaml 然后再重新启动下。
由于使用的是dind 的方式,所以集群主机是访问不了的。
用最快速的,最简单的方式搭建了一个k8s 3个实例的集群。
用来研究是非常不错的。
本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/80017212