标签: cloud-init

cloud-init 不会增加分区或文件系统

我目前正在准备 CentOS 7 和 Ubuntu 14.04 的 OpenStack 就绪映像。

对于“自动化”,我使用Packer,它由您通过 JSON 模板提供。Packer 然后使用您指定的虚拟化开始安装(在我的例子中是 qemu)。

安装后,Packer 和您提供的脚本通过 SSH 配置虚拟机。

状态:

  • 根磁盘有 3 GB。
  • 一个分区,ext4,引导标志,100% 的根磁盘。

我想在这里实现的目标:

  • 图像应在第一次启动时将自身调整为磁盘的最大大小

问题:

这是行不通的。如果我只安装cloud-initorcloud-initcloud-utilsorcloud-initcloud-utilsand都没有关系cloud-utils-growpartcloud-init除了通过 ssh 启用 root 登录之外,我不会更改默认配置。

除了这一行,我的 cloud-init 配置是标准配置

disable_root: 0

问题:有人已经这样做了吗?我似乎找不到一个有效的例子

ubuntu centos openstack cloud-init packer

5
推荐指数
1
解决办法
5834
查看次数

Centos6 带有 cloud-init 需要更长的启动时间

Centos-6.6 虚拟机镜像在使用virsh. 我使用捕获日志virsh console。看起来像这样,

ci-info: +-------+---------------+---------------+---------------+-----------+-------+
ci-info: | Route |  Destination  |    Gateway    |    Genmask    | Interface | Flags |
ci-info: +-------+---------------+---------------+---------------+-----------+-------+
ci-info: |   0   | 192.168.122.0 |    0.0.0.0    | 255.255.255.0 |    eth0   |   U   |
ci-info: |   1   |    0.0.0.0    | 192.168.122.1 |    0.0.0.0    |    eth0   |   UG  |
ci-info: +-------+---------------+---------------+---------------+-----------+-------+
2015-04-25 05:13:41,222 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [50/120s]: unexpected error ['Timeout' object has no attribute 'response']
2015-04-25 05:14:32,278 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [101/120s]: …
Run Code Online (Sandbox Code Playgroud)

virt-install centos6 cloud-init

4
推荐指数
1
解决办法
4004
查看次数

云配置脚本如何将文件复制到服务器?

云配置脚本如何将文件复制到服务器? write_files需要脚本中的文件内容。如何指定包含内容的外部文件?

cloud-init cloud-config

4
推荐指数
1
解决办法
6734
查看次数

如何在 Amazon EC2 上的 RHEL 7.4 中启用 IPv6

Amazon 提供了有关如何在 RHEL 7 和 Centos 7 上启用 IPv6 的说明:http : //docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-migrate-ipv6.html#ipv6-dhcpv6-rhel

这些说明适用于 RHEL 7-7.3 和 Centos 7-7.3,但不适用于 RHEL 7.4(并且可能不适用于 Centos 7.4,当它可用时)。

问题是该文件/etc/sysconfig/network-scripts/ifcfg-eth0在旧版本上是用户可写的,但在 RHEL 7.4 上,该文件由 cloud-init 管理。

$ sed 1q /etc/sysconfig/network-scripts/ifcfg-eth0
# Created by cloud-init on instance boot automatically, do not edit.
Run Code Online (Sandbox Code Playgroud)

我发现仅仅从 7.3 升级到 7.4 就需要对管理网络进行如此根本的改变,这非常出乎意料。我不确定此更改是否特定于 Amazon EC2,我在 RHEL 7.4 发行说明中找不到任何内容,因此它可能特定于 Amazon。

那么你应该如何在 cloud-init 模型中在 RHEL 7.4 和 Centos 7.4 上启用 IPv6?

redhat amazon-ec2 cloud-init rhel7 centos7

4
推荐指数
1
解决办法
3561
查看次数

通过 cloud-init 运行脚本

我知道cloud-init允许将命令作为cloud-init yml的一部分运行

runcmd:
 - [ pwd ]
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一种执行完整 shell 脚本的方法。

有些人只是将 a 的输出通过管道传输curl到 shell 中 - 但这感觉像是一种非常不稳定的方法。也许脚本可以通过一些模板集成到 yml 中,但这听起来也不太好。

更好的方法是将脚本与 yml 一起发送给主机并引用它。但我还没有找到任何有关如何执行此操作的文档。

这可能吗?

我正在使用terraform来设置服务器,但我想知道这是否也可以使用纯cloud-init来完成。

server-setup cloud-init terraform

4
推荐指数
1
解决办法
2万
查看次数

为什么RHEL8系统在丢失SSH主机密钥时不自动生成?

在 RHEL 8 及更早版本上,通常情况下,SSH 主机密钥在丢失时/etc/ssh由服务自动生成sshd。通常应该有:

/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
Run Code Online (Sandbox Code Playgroud)

甚至重新启动节点systemctl restart sshd就足够了。

但从次要版本 RHEL 8.7 开始,这可能不再起作用,并且sshd崩溃会抱怨日志日志中缺少主机密钥。为什么?我该如何解决这个问题?

ssh ssh-keys cloud-init rhel8

4
推荐指数
1
解决办法
4419
查看次数

如何在 cloudformation 模板中配置 SSH 主机密钥?

我正在尝试使用 cloudformation 模板中的 cloud-init 在启动时使用已知的 SSH 主机密钥配置 EC2。但是现在我无法通过 SSH 连接到服务器。调试很棘手:-)

这是我的模板中 EC2 片段的 userdata 部分:

    "UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
      "#cloud-config", "\n",
      "ssh_keys:", "\n",
      "- rsa_private: |", "\n",
      "    -----BEGIN RSA PRIVATE KEY-----", "\n",
      "    MIIEowCBAAKCAQF71D8K9C/+K0a2fO+S9s441kSI44lF5ml++ewD+Mp115x9", "\n",
      "    /XwwTlvqxCIpxdzpzq4xXEqH48StHyYIjAOPxoS1/QG0Ti6OqU893PpukLdmV", "\n",
      "    kLZKn2ph4fTT2aMl...", "\n",
      "    -----END RSA PRIVATE KEY-----", "\n",
      "rsa_public: ssh-rsa AAAAB...", "\n",
Run Code Online (Sandbox Code Playgroud)

根据文档,我也有 (ec)dsa_public/private 的条目。

cloudinit 是否有一些奇怪之处,我还必须指定 ssh_authorized_keys ?我假设我的密钥对的公钥现在没有被亚马逊推送到我的 EC2 上......

ssh ssh-keys amazon-web-services cloud-init

1
推荐指数
1
解决办法
4370
查看次数