|
导出podman镜像 需要把这些镜像导出来,做成离线包 [root@ceph1 ~]# podman save -o ceph.tar quay.io/ceph/ceph:v15 [root@ceph1 ~]# ls anaconda-ks.cfg ceph.tar [root@ceph1 ~]# du -sh ceph.tar 1.2G ceph.tar [root@ceph1 ~]# podman save -o prometheus.tar quay.io/prometheus/prometheus:v2.18.1 [root@ceph1 ~]# podman save -o ceph-grafana.tar quay.io/ceph/ceph-grafana:6.7.4 [root@ceph1 ~]# podman save -o node-exporter.tar quay.io/prometheus/node-exporter:v0.18.1 [root@ceph1 ~]# podman save -o alertmanager.tar quay.io/prometheus/alertmanager:v0.20.0
6 w8 C h! `6 w7 \2 Y) }
修改cephadm脚本 最后需要修改的是cephadm安装脚本,默认安装的时候cephadm是去网上pull镜像,但是实际生产环境是没有外网的,需要修改成直接用本地的镜像 修改_pull_image函数的cmd列表中的pull,将其修改为images。(我用的是octopus版本,其他版本基本不变) @default_image def command_pull(): # type: () -> int ' d5 h+ W; u# h; G. E4 t
_pull_image(args.image) return command_inspect_image() - i8 x7 ]/ q2 q
w# w% c w9 @' U, y1 q
def _pull_image(image): # type: (str) -> None logger.info('Pulling container image %s...' % image)
( v" m& H4 u" n1 Y$ V
ignorelist = [ "error creating read-write layer with ID", "net/http: TLS handshake timeout", "Digest did not match, expected", - f$ d0 h2 m0 P
#// cmd = [container_path, 'pull', image] cmd = [container_path, 'images', image] cmd_str = ' '.join(cmd)
7 q1 Y r, M3 M3 W6 V" E
for sleep_secs in [1, 4, 25]: out, err, ret = call(cmd) if not ret: return
* A* D; y- x; H4 T- X* f" M4 i9 X
if not any(pattern in err for pattern in ignorelist): raise RuntimeError('Failed command: %s' % cmd_str)
7 A" f V% R+ _4 b' z% B6 \" ~
logger.info('"%s failed transiently. Retrying. waiting %s seconds...' % (cmd_str, sleep_secs)) time.sleep(sleep_secs)
8 E# k6 k5 L7 r# ^6 F4 U
raise RuntimeError('Failed command: %s: maximum retries reached' % cmd_str) : F# b( v- A. c& ~6 F& n2 I
8 x. P) h: ]7 q
2 p, f" H$ o0 k5 w9 e
) R8 U0 P3 d: b* x0 r5 R/ E导入镜像:! E5 d- m. }8 |8 U. p1 D; w
导入podman镜像复制podman load -i node-exporter.tar
# H; u3 R7 j7 {( h+ _3 u
3 ?( _9 ^+ _/ w; k. r0 ^podman load -i alertmanager.tar 8 u2 y. N# |0 C9 V7 {2 s5 P
6 \: Z. T4 k* H" @2 T
4 _$ e/ u1 g; t# ]3 t7 E7 `) ppodman load -i prometheus.tar 6 U* r) C+ k! K; K/ _
h( a) \0 y& }1 D6 l( O$ X( ^
3 {8 L& o* d8 s% b
podman load -i ceph.tar
' D0 n! u, u0 q5 e4 K2 C! ~0 y6 a& E* N7 q% [
" q" w* ^- K0 v P* S# i" D
podman load -i grafana.tar ! _+ t( G& e5 I# I% q3 J6 x
, I8 X5 l5 z5 X! a# i8 C5 t+ e. J$ N/ x
, I# c4 ^$ T; q! h5 }
1 F3 @! }! w/ L7 n; m! x, Z! r/ V. F3 ?9 `6 G0 v- I! s
|