|
导出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 0 m1 v \( b' s
修改cephadm脚本 最后需要修改的是cephadm安装脚本,默认安装的时候cephadm是去网上pull镜像,但是实际生产环境是没有外网的,需要修改成直接用本地的镜像 修改_pull_image函数的cmd列表中的pull,将其修改为images。(我用的是octopus版本,其他版本基本不变) @default_image def command_pull(): # type: () -> int , @* O. t" r2 y% q. H
_pull_image(args.image) return command_inspect_image()
3 {' L7 O% w# H3 b
$ I/ v: n# X9 Q+ G% h3 ~1 M
def _pull_image(image): # type: (str) -> None logger.info('Pulling container image %s...' % image)
T6 B3 M; D( h6 d7 |& S
ignorelist = [ "error creating read-write layer with ID", "net/http: TLS handshake timeout", "Digest did not match, expected", 6 d3 X7 l- {7 j- H
#// cmd = [container_path, 'pull', image] cmd = [container_path, 'images', image] cmd_str = ' '.join(cmd) $ i- C& p7 N9 c0 ?
for sleep_secs in [1, 4, 25]: out, err, ret = call(cmd) if not ret: return 4 p, }0 `& s. `; k- L
if not any(pattern in err for pattern in ignorelist): raise RuntimeError('Failed command: %s' % cmd_str) ?' y" w A+ s2 j" _* t/ f7 {/ V
logger.info('"%s failed transiently. Retrying. waiting %s seconds...' % (cmd_str, sleep_secs)) time.sleep(sleep_secs) 4 x9 w8 r/ t& l, K+ h2 P% X
raise RuntimeError('Failed command: %s: maximum retries reached' % cmd_str)
9 h6 V# t& o- H& `8 o6 U
5 ^# q$ c( M% d% p, R: O* F; z: O5 A3 f- p- D+ ]0 ^
; [! p- Q6 k9 t6 Z
导入镜像:
) d; ~1 i5 L+ }) w h: h7 S. S导入podman镜像复制podman load -i node-exporter.tar
. l9 F, d* ^5 {9 f# n, w) E. j; p/ H
podman load -i alertmanager.tar " d7 E4 B; G9 t; G$ U* z4 P
( I: `( r3 O$ ~
3 i) U: |: U* ^ m7 W1 i1 \! w: S# Bpodman load -i prometheus.tar
- b W% k. I4 }! ]# e4 ^. ]* w* l! f
8 ^1 G; r; {( X# d% D( d. M podman load -i ceph.tar $ M$ f) Z9 B# z7 k
& h1 s& `1 I$ V- z" X9 U; w( Q
4 Z2 t9 B8 i; V% npodman load -i grafana.tar
* r7 r4 _5 i7 G, ^- g D$ P
9 [( ~8 N% u7 w3 O
( c3 |1 P: C2 `5 j6 ]
1 R7 ^/ K+ ~; I; v( E5 }6 X, B( w% A( W$ \ x
8 o' ]$ Z$ v4 K, g6 [7 T0 R |