K8s单主集群搭建

229 阅读1分钟

 init_kubeadm_docker.sh

apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt install -y kubectl=1.17.0-00 kubelet=1.17.0-00 kubeadm=1.17.0-00 docker.io
systemctl enable docker.service

docker_images_pull.sh

#获取dockerlist
images=(
`kubeadm config images list --kubernetes-version=1.17.0`
)
aliurl='registry.cn-hangzhou.aliyuncs.com/google_containers'
for image in ${images[@]}; do
#过滤掉warn的内容,过滤出镜像的行字符串
 if [[ $image == *k8s* ]]
 then
#将镜像的仓库地址替换成阿里的,拉取再改名
 docker pull ${image/`echo ${image%%/*}`/$aliurl}
 docker tag ${image/`echo ${image%%/*}`/$aliurl} $image
 docker rmi ${image/`echo ${image%%/*}`/$aliurl}
 fi
done

其他:

dashboard地址:github.com/kubernetes/…

wave安装命令:

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version| base64 | tr -d '\n')"

role-bind.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

获取join命令:

kubeadm token create --print-join-command