1. 安装 pullk8s 工具,此工具可以通过 hub.docker.com 的 opsdockerimage 仓库下载k8s所需的 k8s.gcr.io 或 gcr.io 镜像,无需自己翻墙,每天更新一次,包括所有image 的全平台的所有tags。
$ sudo curl -L "https://raw.githubusercontent.com/OpsDocker/pullk8s/main/pullk8s.sh" -o /usr/local/bin/pullk8s $ sudo chmod +x /usr/local/bin/pullk8s
pullk8s COMMAND [NAME[:TAG|@DIGEST]] [OPTIONS] Pull gcr.io's image for hub.docker.com Commands: check Check gcr.io's fail pull images. pull Pull an image or a repository Options: --microk8s If use MicroK8s release. Examples: pullk8s pull gcr.io/google_containers/etcd:2.0.12 pullk8s pull k8s.gcr.io/etcd:2.0.12 pullk8s pull k8s.gcr.io/pause:3.6 --microk8s pullk8s check --microk8s
2. 安装 snap ,Ubuntu 目前已经支持。其他系统的安装见 Installing snapd | Snapcraft documentation
1. 安装 microk8s
$ sudo snap install microk8s --classic microk8s (1.22/stable) v1.22.2 from Canonical✓ installed
安装结束后,要进行下一步检查,查看那些 google 容器 pull 失败。
2. 检查被屏蔽的 gcr.io 或 k8s.gcr.io 容器名称
# pullk8s check --microk8s k8s.gcr.io/pause:3.1
- 此时提示的 k8s.gcr.io/pause:3.1 就是pull 失败的容器名称
- 因 microk8s 启动需要时间,可能要执行多次才能看到失败的容器名称,
3. 使用 pullk8s 拉取失败的镜像,并导入到 pod 空间中
# pullk8s pull k8s.gcr.io/pause:3.1 --microk8s Pull pause:3.1 ... 3.1: Pulling from opsdockerimage/pause Digest: sha256:f78411e19d84a252e53bff71a4407a5686c46983a2c2eeed83929b888179acea Status: Downloaded newer image for opsdockerimage/pause:3.1 docker.io/opsdockerimage/pause:3.1 Untagged: opsdockerimage/pause:3.1 Untagged: opsdockerimage/pause@sha256:f78411e19d84a252e53bff71a4407a5686c46983a2c2eeed83929b888179acea unpacking k8s.gcr.io/pause:3.1 (sha256:0968e31df05b727234888883ba43ccaa4ec75566113c75065af5a6124b62d93c)...done
4. 查看Pod运行状态
# microk8s kubectl get pod --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system calico-node-24q47 1/1 Running 0 5m4s kube-system calico-kube-controllers-58c9b7bcc5-ktpzk 1/1 Running 0 5m4s
5. 根据自己的需要,安装仪表板、DNS、私有化Registry、流量及路由控制器等k8s组件
# microk8s enable dashboard dns registry istio
安装完成后,依然要进行步骤2、3的检查pull失败及pullk8s拉取 *** 作。直到所有pod都是 Running
三. 访问仪表板1. 获取 token 密钥
# token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1) # microk8s kubectl -n kube-system describe secret $token
2. 映射端口到外部网卡
# microk8s kubectl port-forward -n kube-system --address=0.0.0.0 service/kubernetes-dashboard 10443:443
3. 浏览器访问
https://127.0.0.1:10443
其他常用命令:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)