首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Google上使用基于debian的图像的云init?

如何在Google上使用基于debian的图像的云init?
EN

Stack Overflow用户
提问于 2019-10-05 12:15:01
回答 2查看 6.5K关注 0票数 12

下面是用于引导实例的terraform 最佳做法,为了引导我的实例,我正在处理一个cloud-init配置。我唯一需要的就是安装一个特定的软件包。

我的terraform配置如下所示:

代码语言:javascript
复制
resource "google_compute_instance" "bastion" {
  name         = "my-first-instance"
  machine_type = "n1-standard-1"
  zone         = "europe-west1-b"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }

  network_interface {
    network = "default"

    access_config {
      // Ephemeral IP
    }
  }

  metadata = {
    ssh-keys = "eugene:${file("/Users/eugene/.ssh/id_rsa.pub")}"
    user-data = file("my_cloud_init.conf")
  }
}

下面是从示例文档安装包的示例,下面是my_cloud_init.conf的内容

代码语言:javascript
复制
#cloud-config

packages:
 - kubectl

在运行terraform plan -out myplanterraform apply myplan之后,我将ssh放到节点上,结果发现kubectl不可用。此外,没有证据表明cloud-init是运行的,或者它存在于节点上:

代码语言:javascript
复制
$ which -a cloud-init
$ cat /var/log/cloud-init
cat: /var/log/cloud-init: No such file or directory

在Google实例中寻找使用cloud-init的线索并不有效:

  • 来自谷歌云引擎文档的“cloud-init”页面建议将user-data设置为cloud-init配置应该足够了,
  • 我看到一辆cloud-init 教程,但它是给Container Optimized OS的,
  • 在其他图像上有关于一些线索cloud-init,但是没有任何迹象表明cloud-initdebian-cloud/debian-9上可用,
  • 有"运行启动脚本",但它没有提到cloud-init

我不介意使用另一个图像,只要它是Debian或Ubuntu,并且我不需要自己制作图像模板。

如何在Google上使用基于debian的cloud-init ?我少了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-05 13:00:30

cloud-init安装在最新的Ubuntu18.04LTS (ubuntu-1804-bionic-v20191002)映像上:

代码语言:javascript
复制
<my_user>@instance-1:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"

<my_user>@instance-1:~$ which cloud-init
/usr/bin/cloud-init

您应该将debian-cloud/debian-9替换为ubuntu-os-cloud/ubuntu-1804-bionic-v20191002

票数 4
EN

Stack Overflow用户

发布于 2019-10-07 09:54:51

为了补充来自@norbjd@norbjd,为了完整地发布这篇文章:

代码语言:javascript
复制
- Ubuntu:
代码语言:javascript
复制
    - [Ubuntu Cloud Images (RELEASED)](https://cloud-images.ubuntu.com/releases/releases/)
    - Actual contents (example):
代码语言:javascript
复制
        - [https://cloud-images.ubuntu.com/releases/releases/18.04/release-20191003/ubuntu-18.04-server-cloudimg-amd64.manifest](https://cloud-images.ubuntu.com/releases/releases/18.04/release-20191003/ubuntu-18.04-server-cloudimg-amd64.manifest)

代码语言:javascript
复制
- Debian:
代码语言:javascript
复制
    - [List of differences between standard and cloud systems](https://wiki.debian.org/Cloud/SystemsComparison)
    - Actual contents: 
代码语言:javascript
复制
        - [https://salsa.debian.org/cloud-team/debian-cloud-images/blob/master/config\_space/package\_config/EXTRAS](https://salsa.debian.org/cloud-team/debian-cloud-images/blob/master/config_space/package_config/EXTRAS)
        - [https://salsa.debian.org/cloud-team/debian-cloud-images/blob/master/config\_space/package\_config/CLOUD](https://salsa.debian.org/cloud-team/debian-cloud-images/blob/master/config_space/package_config/CLOUD)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58248190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档