易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 658|回复: 0
收起左侧

配置Cloud-Init工具接管网络,以及其他配置

[复制链接]
发表于 2022-6-16 17:00:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
配置Cloud-Init工具
* Z1 s" ?9 [; I用户可以根据需要根据用户类型配置登录云服务器的用户权限。使用root帐户登录,需要开启root用户的ssh权限,并开启密码远程登录。: P2 B8 W0 b8 w: y3 V) X
若用户选择注入密码,则通过自己注入的密码进行远程SSH或noVNC登录。* S/ j3 e4 g% j4 e8 Q& V
若用户选择注入密钥,则通过自己注入的密钥进行远程SSH登录。
7 m1 |0 K( t) ^执行以下命令,在vi编辑器中打开“/etc/cloud/cloud.cfg”。" A- r$ n# o) X1 ?3 _9 Y; u% x' U
vi /etc/cloud/cloud.cfg% e) b- C1 t, R0 {, n, u
(可选)在“/etc/cloud/cloud.cfg”中配置“apply_network_config”为“false”。
& Q2 o; c! v+ s% x- J, r对于使用Cloud-Init 18.3及以上版本的用户,需执行本操作。* N& a& F7 I- R5 ]* F
图1 配置示例8 Q  _3 |$ N6 ^( {7 d
点击放大
" ~4 [0 j! ^+ j7 \/ l/ P设置开放root密码远程登录并开启root用户的ssh权限。以CentOS 6.7系列操作系统为例,配置文件中的“disable_root”字段为“1”表示为禁用,为“0”表示不禁用(部分OS的Cloud-Init配置使用“true”表示禁用,“false”表示不禁用)。设置“disable_root”值为“0”,“ssh_pwauth”为“1”,“lock_passwd”设置为“false”,“false”表示不锁住用户密码。4 x# F; y: }! a$ Y7 g  k7 J0 t
users:
' m- \6 z0 W7 L6 T, h& @4 } - name: root
8 n" Y* P6 I# ?2 r/ q4 F- r   lock_passwd: False
. q5 Z7 Z# u# K6 ?' }disable_root: 03 ?9 u4 W% c7 A+ u
ssh_pwauth: 12 g+ h* x# U$ P# e2 c# _, \( s
开启机器名更新机制,请勿注释或删除“ - update_hostname”语句。
; w5 ^9 @& T7 y* Ycloud_init_modules:
) }7 P0 \$ i  W. S - migrator! q2 X; V8 d2 q. d# V, r3 d
- bootcmd
! [$ T/ I; i5 x% r - write-files/ `2 X9 M! [, U2 z
- growpart) H3 `/ y2 |  X1 [) N5 M
- resizefs
! I4 q; m. B3 ^; S' f  W - set_hostname! a  z  r5 ?1 N
- update_hostname
8 m* M4 m* V+ Q% n2 M: x - update_etc_hosts
0 \+ e. f# a( j+ l7 w$ c7 Q - rsyslog
3 n9 w' i, X' F, n0 Y+ e - users-groups
3 [  `+ o5 h+ g3 y - ssh! w& R% k! o. l/ p. Y7 r9 i
执行以下命令,在vi编辑器中打开“/etc/ssh/sshd_config”。
* H4 J5 h; K5 |0 d" `vi /etc/ssh/sshd_config
' X  W2 d. ^! f* c+ H% K% D将“sshd_config”中的“PasswordAuthentication”的值修改为“yes”。% i( T/ u% N6 ?" U8 z9 v$ F. N
说明:
/ v7 Z5 l* y! ?0 |如果是SUSE和openSUSE操作系统,需要同时配置“sshd_config”文件中的以下两个参数为“yes”。
/ N. m) Y; @% Z1 n2 X) SPasswordAuthentication
! ]- @# m' q, P% Z  T1 d# ]- dChallengeResponseAuthentication/ @" {. {3 v: j2 i
确保删除镜像模板中已经存在的linux帐户和“/home/linux”目录。! V* ^* a5 _; a9 _& k, B
userdel linux+ h& Y9 @- G6 M; g: k% C( a+ S
rm -fr /home/linux) a, _0 R. [! u6 w$ \6 S
配置agent访问openstack数据源。, [4 r, U3 v. s
在“/etc/cloud/cloud.cfg”最后一行添加如下内容,配置agent访问OpenStack数据源。
+ M# O  J2 y8 F, M4 t7 @* Idatasource_list: [ OpenStack ]3 s0 y! W, ~, ~
datasource:; B3 Q6 E" ~3 {7 s8 Z
  OpenStack:; s# g7 r5 H& o
    metadata_urls: ['http://169.254.169.254']' w2 z. H, M& F+ H& |1 M
    max_wait: 120
" {1 w1 H' Y+ L5 N7 s( s8 ^! {    timeout: 5
& V; B/ F1 T6 D# T' {& S说明:
( Q4 T& b3 l; \! I$ Omax_wait和timeout可由用户自定义是否需要配置,上述回显信息中max_wait和timeout的取值仅供参考。
- O+ o! P- t. G当操作系统版本低于Debian8、CentOS 5时,不支持配置agent访问OpenStack数据源。
% n* B% b3 O; C1 mCentOS、EulerOS操作系统云服务器必须要禁用默认的zeroconf路由,以便精确访问OpenStack数据源。
8 N$ q, E+ P. K: c0 kecho "NOZEROCONF=yes" >> /etc/sysconfig/network
/ h& }! m6 s: R: p. W
5 a* s, X- R( j) L! s$ e( X! y6 {( a5 z8 C
在配置文件“/etc/cloud/cloud.cfg”中禁用Cloud-Init接管网络。
% V8 C; }: ?% v$ |) U4 j' A0 c- b1 S" P当Cloud-Init版本等于或高于0.7.9版本时,在配置文件“/etc/cloud/cloud.cfg”中增加如下内容,禁用Cloud-Init接管网络。' f+ }- z0 _+ c4 M* J( J
network:, L2 _2 B' |/ `2 w: t+ Z
  config: disabled3 |" s, B1 K/ x' q9 h. U6 L) Y
8 p: s) S. c7 H

& {( {& b  o3 \; B/ p6 f9 g' g- z( e( s4 Q说明:( L" {* m+ |6 s. H) s
增加的内容需严格按照yaml格式进行配置。! `! b' R% U! ?& l
# P$ d% r3 N# b- o6 F8 X* o6 R6 N

/ `# S, k" D. [& d图2 禁用Cloud-Init接管网络
* W# }% ?9 r/ c9 u( L在配置文件“/etc/cloud/cloud.cfg”中补充如下内容。
, p. C/ z. j+ bmanage_etc_hosts: localhost
6 Q7 E, |7 m/ p& _$ x7 o6 ]5 A8 G
防止启动云服务器时,系统长时间卡在“Waiting for cloudResetPwdAgent”状态。# {  b7 y: |) S! ~& k
图3 新增manage_etc_hosts: localhost) d: U, g. a6 C6 e! a% a4 W# y3 r1 y
点击放大. y# _! S# h7 g! t6 t
! k8 h6 B4 r" b  d& q( w- @1 \- |
  H$ N0 g$ {; R1 Y3 R6 U
修改配置文件“cloud_init_modules”。+ J( I9 _9 X9 [6 I
在“cloud_init_modules”中将ssh从最后提前到第一位处理,提高云服务器ssh登录速度。
: }, [& B" r* C3 b, O  c5 v$ E5 f图4 提高云服务器ssh登录速度1 b( r6 k1 E  D; q, ~( l. e) V$ A) \
; t* {; N' b+ y+ S+ A/ Y9 D
- t5 S2 F$ ^. |0 {# m- Z9 L. [
修改以下配置使得镜像创建的云服务器主机名不带“.novalocal”后缀且主机名称中可以带点号。
: @  p. [5 }8 b$ J5 F' J9 h* Q执行如下命令,修改“__init__.py”文件。4 o1 W% I$ Q9 [0 {( b, G
vi /usr/lib/python2.7/site-packages/cloudinit/sources/__init__.py" `! P" c% ]- l
按“i”进入编辑模式,根据关键字toks查询,修改内容如下回显信息所示。& J# r0 z+ Y& A8 S  D- l1 t
if toks:6 G* f) L$ ~5 a3 X+ x) ?
    toks = str(toks).split('.')
  z. n9 x0 c% Celse:& o2 [2 |$ T  W. m) M8 P3 N. B* R
    toks = ["ip-%s" % lhost.replace(".", "-")]
" d1 B4 P$ n! Y5 r/ Melse:& b6 i* u; w# Q9 @( b" e
    toks = lhost.split(".novalocal")
% I/ I' h. v, o9 s  Yif len(toks) > 1:  k+ r- K' X$ |7 t. B# y5 H! T9 x3 w
    hostname = toks[0]
0 \6 f, C7 b3 R5 ^1 }    #domain = '.'.join(toks[1:])  L0 j2 u7 M: R. n5 B7 s
else:
) k+ l! w* F& f* ?1 @/ y' K; X- }    hostname = toks[0]4 {0 ], k( U+ \) N* @8 i) K6 \
if fqdn and domain != defdomain:- G" ]  G* Z, R2 ~& v" M" i
    return "%s.%s" % (hostname, domain)- {& z1 k3 N& v  X- k
else:
6 E! F9 ]3 J8 s7 J; X; G' i8 s! D    return hostname
: Y9 R9 B8 K/ c8 J; [, N7 ^修改完成后按“ESC”退出编辑模式,输入:wq!保存并退出。
0 O4 V6 J( P# X. q
- j* @5 ?, q+ O5 ~0 \6 A# R* I  Z" X5 t, Y/ a# t, i0 ?$ {- \
图5 修改__init__.py文件
9 N. ~7 J6 F( c, V0 _" \点击放大
0 |5 ]) I* m( M% o2 m2 z执行如下命令进入“cloudinit/sources”文件夹。
9 {" O% g( i3 w5 p4 {) acd /usr/lib/python2.7/site-packages/cloudinit/sources/
5 ~; V! x/ V2 w执行如下命令,删除“__init__.pyc”文件和优化编译后的“__init__.pyo”文件。
6 M! _2 i! T2 [0 d3 w( Erm -rf __init__.pyc3 @( Y0 }( a6 J3 h+ P- p
rm -rf __init__.pyo
# D+ Q+ }2 q/ {8 w1 z执行如下命令,清理日志信息。
  ?- @0 }# v7 H( e$ o# rrm -rf /var/lib/cloud/*
' k8 }8 w4 c! e, ?3 Z. x  Qrm -rf /var/log/cloud-init*
8 ?5 W  v- s" P" {( M执行以下命令编辑Cloud-Init日志输出路径配置文件,设置日志处理方式handlers,建议配置为cloudLogHandler。
8 ^" H* J: h7 q+ pvim /etc/cloud/cloud.cfg.d/05_logging.cfg
1 D6 U6 t2 Q2 K- X- K图6 配置为cloudLogHandler9 W, @; t( w0 s. `8 T

: S, z5 D- k; k5 Q9 @8 q7 S' v$ ?4 A5 _: h" T) {, t
检查Cloud-Init工具相关配置是否成功, T% P3 ]/ o1 f0 }3 p) Z; _0 P
执行以下命令,无错误发生,说明Cloud-Init配置成功。4 q! y1 w$ x, K) G* D
cloud-init init --local" ]& @/ u- x- T( s: J% p' d
正确安装的Cloud-Init会显示Cloud-Init的版本详细信息,并且无任何错误信息。例如,正确安装的情况下,不含有缺少文件的提示信息。
) N2 b7 \& U# Q, A& B7 N说明:; E: D6 F" R4 V& |+ ~: x) U
执行如下命令,可将系统用户密码有效期设置为最大。此操作可选。( L& W, }' n- O% R7 y( t8 v
chage -M 99999 $user_name  j5 H9 d5 C$ ^* O8 a0 |
其中,user_name为系统用户,例如root帐户。( b8 C- r% J9 d# n% s
密码有效期建议设置为99999。$ S) T8 a) B1 ^9 z8 n: ?2 t
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-9 00:02 , Processed in 0.045380 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表