使用docker镜像搭建单节点Kubernetes并集成ranc
镜像下载
无法直接翻墙,所以直接从其他小伙伴开源的镜像地址拉取镜像并重新打tag,具体的脚本如下:
#!/bin/bash
kube_version=:v1.17.0
kube_images=(kube-proxy kube-scheduler kube-controller-manager kube-apiserver)
addon_images=(etcd-amd64:3.3.10 coredns:1.3.1 pause-amd64:3.1)
for imageName in${kube_images[@]} ;do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName-amd64$kube_version
docker image tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName-amd64$kube_version k8s.gcr.io/$imageName$kube_version
docker image rm registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName-amd64$kube_version
done
for imageName in${addon_images[@]} ;do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker image tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
docker image rm registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done
docker tag k8s.gcr.io/etcd-amd64:3.3.10 k8s.gcr.io/etcd:3.3.10
docker image rm k8s.gcr.io/etcd-amd64:3.3.10
docker tag k8s.gcr.io/pause-amd64:3.1 k8s.gcr.io/pause:3.1
docker image rm k8s.gcr.io/pause-amd64:3.1
启动镜像
kubeadm init --kubernetes-version=1.17.0 \
--apiserver-advertise-address=0.0.0.0 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
上面的api server地址、服务网段、pod网段,视情况进行修改
安装kube-flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
只有一台 Master 主机,集群也是可以正常使用的,但默认情况下,出于安全考虑,集群不会在 control-plane 运行节点上部署 pods,如果需要正常使用单节点集群,需要使用如下命令解除该限制:
kubectl describe nodes master |grep Taints
kubectl taint node master node-role.kubernetes.io/master- (为上条命令的输出)
kubectl describe nodes master |grep Taints
集成rancher2
使用docker镜像搭建rancher的运行环境,具体命令如下:
docker run -d --restart=unless-stopped \
-p ${PORT_RANCHER}:80 -p 1443:443 \
-v ${DATA_PATH}/rancher2/rancher:/var/lib/rancher/ \
-v ${DATA_PATH}/rancher2/auditlog:/var/log/auditlog \
-e AUDIT_LEVEL=3\
--name rancher2 \
rancher/rancher:stable
具体的PORT_RANCHER、DATA_PATH替换为您的目标环境端口及地址;
容器正常启动后,登陆rancher操作界面,添加集群,操作图示如下:
选择Import an existing cluster,截图如下:
输入集群名、在目标机器上面页面执行提示的相关授权命令即可