|
导出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
' B8 X7 T$ }( X9 l
修改cephadm脚本 最后需要修改的是cephadm安装脚本,默认安装的时候cephadm是去网上pull镜像,但是实际生产环境是没有外网的,需要修改成直接用本地的镜像 修改_pull_image函数的cmd列表中的pull,将其修改为images。(我用的是octopus版本,其他版本基本不变) @default_image def command_pull(): # type: () -> int 2 _ O' V& j- s1 U/ w, v* \
_pull_image(args.image) return command_inspect_image() 4 ~% @1 T1 W& C1 a; Q! W( i7 U- P
6 n7 ` o; Y' a2 a' j
def _pull_image(image): # type: (str) -> None logger.info('Pulling container image %s...' % image) # {9 k+ b& L5 g* U3 j, Y
ignorelist = [ "error creating read-write layer with ID", "net/http: TLS handshake timeout", "Digest did not match, expected",
/ @/ P- s- [1 j) ]+ @
#// cmd = [container_path, 'pull', image] cmd = [container_path, 'images', image] cmd_str = ' '.join(cmd)
. B( ^; O& v% n( D6 z
for sleep_secs in [1, 4, 25]: out, err, ret = call(cmd) if not ret: return
) e% {9 |4 g+ o6 j, _) h! I- U* C
if not any(pattern in err for pattern in ignorelist): raise RuntimeError('Failed command: %s' % cmd_str)
" C- J5 b: V8 h C5 I1 p0 g
logger.info('"%s failed transiently. Retrying. waiting %s seconds...' % (cmd_str, sleep_secs)) time.sleep(sleep_secs) 2 A4 u6 C& {/ f7 L' x% _" P
raise RuntimeError('Failed command: %s: maximum retries reached' % cmd_str)
5 P9 R8 t& e+ g+ m/ Q3 p q9 U% S8 f
. _3 H) Q5 g9 ^
, u& r4 F' d" e4 E3 \导入镜像:
; ]+ H x n3 n/ B8 C( m$ a2 S导入podman镜像复制podman load -i node-exporter.tar 9 k/ l# Y U6 T8 U
8 ?9 L6 S D' X/ @ A2 l. o
podman load -i alertmanager.tar # y& N' P: U! W
- B, k( ~4 l0 D. V9 s
$ V, c; O1 C1 V: q6 p3 J
podman load -i prometheus.tar & G/ h- S$ H. {$ D- F+ B
' m5 g; u! d7 G. d5 b+ f7 ]2 i- V R! i% H3 p: C( q$ c( }( D( F
podman load -i ceph.tar 0 q: D" @8 x ~$ f4 ]. H
: |- y4 d( d& g. v5 G& o, p
2 h! C; F8 T5 V7 C8 k+ s9 _+ tpodman load -i grafana.tar
* U) n4 e) I- }
% d. F9 x) R- i
- O6 Y! j; G1 C) a9 {. ]+ H- q R6 q9 m: i! z
& x* y+ d" i. ^
9 }4 P, }+ p$ }" J- j |