Comments (5)
找到问题了,校验的时候没有使用文件txt里面的文件名称而是自己拼接的.
filepath.Join(basePath, arch)
sha的txt里面必须叫 k3s-airgap-images-amd64.tar.gz
,即使我的文件并不叫这个。
from autok3s.
这个并不是airgap功能的目标场景,并不会从代码层面去支持,我将issue的label修改为 help wanted
。
从你的描述里面没有看到修改checksum的具体内容,但大概率是这一步出问题。所以你可以把生成checksum的shell步骤贴出来看看。
from autok3s.
@orangedeng 抱歉是我没有描述完整、以下是我完整过程;
1、首先我通过airgap创建名为0428的v1.20.15+k3s1离线包
[root@HK-ChatGPT-Proxy01 ~]# autok3s airgap create 0428 --arch amd64 --k3s-version 'v1.20.15+k3s1'
airgap package 0428 record created, prepare to download
INFO[2023-04-28T09:24:28+08:00] generating version file package=0428 version=v1.20.15+k3s1
INFO[2023-04-28T09:24:28+08:00] download amd64 resources package=0428 version=v1.20.15+k3s1
INFO[2023-04-28T09:24:29+08:00] downloading k3s-airgap-images.tar.gz for amd64 package=0428 version=v1.20.15+k3s1
WARN[2023-04-28T09:24:29+08:00] failed to download resource k3s-airgap-images.tar.gz for amd64, skip this resource, failed to download resource https://github.com/k3s-io/k3s/releases/download/v1.20.15%2Bk3s1/k3s-airgap-images-amd64.tar.gz, Not Found package=0428 version=v1.20.15+k3s1
INFO[2023-04-28T09:24:29+08:00] downloading k3s-airgap-images.tar for amd64 package=0428 version=v1.20.15+k3s1
INFO[2023-04-28T09:24:47+08:00] downloading sha256sum.txt for amd64 package=0428 version=v1.20.15+k3s1
INFO[2023-04-28T09:24:47+08:00] downloading k3s for amd64 package=0428 version=v1.20.15+k3s1
INFO[2023-04-28T09:24:51+08:00] all downloaded files are validated for amd64 package=0428 version=v1.20.15+k3s1
INFO[2023-04-28T09:24:51+08:00] k3s resource for amd64 downloaded. package=0428 version=v1.20.15+k3s1
airgap package 0428 created and stored in path /root/.autok3s/package/0428
2、进到 离线目录下进行添加镜像
cd /root/.autok3s/package/0428/amd64
[root@HK-ChatGPT-Proxy01 amd64]# ll
total 500032
-rw-r--r-- 1 root root 47284224 Apr 28 09:24 k3s
-rw-r--r-- 1 root root 464734208 Apr 28 09:24 k3s-airgap-images.tar
-rw-r--r-- 1 root root 327 Apr 28 09:24 k3s-images.txt
-rw-r--r-- 1 root root 245 Apr 28 09:24 sha256sum.txt
[root@HK-ChatGPT-Proxy01 amd64]# rm -rf k3s-airgap-images.tar
[root@HK-ChatGPT-Proxy01 amd64]#docker save \
registry:2.7.1 \
docker.io/rancher/coredns-coredns:1.8.3 \
docker.io/rancher/klipper-helm:v0.6.6-build20211022 \
docker.io/rancher/klipper-lb:v0.2.0 \
docker.io/rancher/library-busybox:1.32.1 \
docker.io/rancher/library-traefik:1.7.19 \
docker.io/rancher/local-path-provisioner:v0.0.19 \
docker.io/rancher/metrics-server:v0.3.6 \
docker.io/rancher/pause:3.1 \
-o k3s-airgap-images.tar
3、处理镜像文件;
我将新增镜像添加到k3s-images.txt
文件中
[root@HK-ChatGPT-Proxy01 amd64]# cat k3s-images.txt
registry:2.7.1
docker.io/rancher/coredns-coredns:1.8.3
docker.io/rancher/klipper-helm:v0.6.6-build20211022
docker.io/rancher/klipper-lb:v0.2.0
docker.io/rancher/library-busybox:1.32.1
docker.io/rancher/library-traefik:1.7.19
docker.io/rancher/local-path-provisioner:v0.0.19
docker.io/rancher/metrics-server:v0.3.6
docker.io/rancher/pause:3.1
4、处理256校验文件
[root@HK-ChatGPT-Proxy01 amd64]# rm -rf sha256sum.txt
[root@HK-ChatGPT-Proxy01 amd64]#
[root@HK-ChatGPT-Proxy01 amd64]# rm -rf sha256sum.txt
[root@HK-ChatGPT-Proxy01 amd64]# sha256sum k3s k3s-airgap-images.tar k3s-images.txt > sha256sum.txt
[root@HK-ChatGPT-Proxy01 amd64]# cat sha256sum.txt
a3f06b4e0f3c677bc9780185ad7bc9d58b622a9811701d1ce07938d4c63962c6 k3s
37e126bf14e5df38a28612c3e19112cf2c9a6d440ecd2a1124dafb95ded3f755 k3s-airgap-images.tar
4f264dba3825f28851ae1f0ca3c02815dcafdbea81252cc37c7ab8d9592f5a99 k3s-images.txt
[root@HK-ChatGPT-Proxy01 amd64]# sha256sum -c sha256sum.txt
k3s: OK
k3s-airgap-images.tar: OK
k3s-images.txt: OK
5、导出名为04280-registry.tar.gz
的离线包
[root@HK-ChatGPT-Proxy01 amd64]# autok3s airgap export 0428 /root/04280-registry.tar.gz
package 0428 export to /root/04280-registry.tar.gz succeed
6、将/root/04280-registry.tar.gz
导入,提示checksum失败;
[root@HK-ChatGPT-Proxy01 amd64]# autok3s airgap import /root/04280-registry.tar.gz --debug
DEBU[2023-04-28T09:32:55+08:00] Reporting metrics
? Please input the package name 04280-registry
2023/04/28 09:32:57 /go/src/github.com/cnrancher/autok3s/pkg/common/package.go:39 record not found
[0.138ms] [rows:0] SELECT * FROM `packages` WHERE name = "04280-registry" ORDER BY `packages`.`name` LIMIT 1
? Please input the package name 04280-registry
Error: checksum for file amd64/k3s-airgap-images.tar mismatch
Usage:
autok3s airgap import <path> [name] [flags]
Flags:
-h, --help help for import
Global Flags:
-d, --debug Enable log debug level
from autok3s.
@orangedeng 有什么建议么~
from autok3s.
确实是这个问题,当时设计的时候是这样处理的:
为了保证scp文件时比较容易的能把source path和target path处理好,在本地存储airgap资源时统一了存储名称:
.
├── .done
├── amd64
│ ├── .done
│ ├── k3s
│ ├── k3s-airgap-images.tar.gz
│ ├── k3s-images.txt
│ └── sha256sum.txt
├── arm64
│ ├── .done
│ ├── k3s
│ ├── k3s-airgap-images.tar.gz
│ ├── k3s-images.txt
│ └── sha256sum.txt
└── version.json
但实际上验证文件的时候,会读取sha256sum的内容进行拆分并识别到对应资源的hash进行对比。
不过这个确实不是我当时设计的目标场景,谢谢反馈并给出workaround
from autok3s.
Related Issues (20)
- [Feature Request] Support cpu arch for LoongArch HOT 3
- [Enhancement] Cluster list page should show k3s version HOT 1
- [Feature Request] Support get the dynamic port of the k3d cluster
- Proposal: Adding e2e testing for this project HOT 1
- [BUG] Error writing node IP when join node, The status has been constantly in Upgrading HOT 14
- [Enhance] support partial rollback when creating cluster or joining nodes HOT 2
- [BUG] Can't enable kube-explorer ui plugin when creating a cluster HOT 1
- [Enhancement] Bump k3d to v5.6.0 HOT 1
- [BUG] autok3s ui show unkown for deleted node HOT 2
- [BUG] Cant make HA k3d cluster HOT 2
- [Feature Request] Support Dedicated etcd node
- 登录页面账号密码支持 HOT 3
- [BUG] Expired client certificate causes cluster access failure HOT 2
- [HELP] Configure AWS Cloud Controller Manager HOT 4
- [BUG] Airgap installation dont not take effect HOT 1
- [Feature Request] Support airgap for join subcommand HOT 2
- [BUG] Change offline k3s install script source to cdn site
- help: how to log in the autok3s UI HOT 3
- [Feature Request] Move to GHA
- [BUG] Unable to create aws credentials HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from autok3s.