标签: devops

Terraform - 展平嵌套地图

我目前有一个 terraform 对象声明如下:

locals {
    x = {
        a = [
            {
                p0 = "j"
                p1 = "test-1"
                p2 = 0
            },
            {
                p0 = "k"
                p1 = "test-2"
                p2 = 0
            }
        ]
        b = [
            {
                p0 = "j"
                p1 = "test-1"
                p2 = 1
            },
            {
                p0 = "k"
                p1 = "test-3"
                p2 = 0
            }
        ]   
    }
}
Run Code Online (Sandbox Code Playgroud)

我想做的是压平结构,但我不知道这在地形中是否可行。就我而言,我知道 p0 在其自己的数组中将是唯一的,因此我应该能够为每个记录构造唯一的键。我想要的输出如下:

locals {
    y = {
        a-j {
            p0 = "j"
            p1 = "test-1"
            p2 = …
Run Code Online (Sandbox Code Playgroud)

terraform devops terraform-provider-gcp

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

使用 terraform 连接运行 aws 实例

resource "aws_instance" "appserver1" {
  ami             = var.imageid
  instance_type   = var.instancetype
  key_name        = var.key
  security_groups = [aws_security_group.allow_all.name]

  connection {
    user        = "ubuntu"
    private_key = file(var.privatekeypath)
  }

  provisioner "remote-exec" {
    inline = [
      "sudo apt-get update",
      "sudo apt-get install tomcat7 -y"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

“terraform validate”给了我错误:

错误:缺少必需的参数

在 main.tf 第 52 行,资源“aws_instance”“appserver1”中:52:连接{

参数“host”是必需的,但未找到定义。

amazon-web-services terraform devops

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

增加 EC2 磁盘存储而不丢失任何数据

我有一个t2.medium正在运行的实例,其容量4GBRAM和。25GBEBS

该实例当前正在运行Apache服务器、wordpress 应用程序、mysql 服务器和 codeigniter 应用程序。

我不希望丢失任何数据。

如何将卷增加到 100GB?

我在这里找到了一篇文章,但我不确定这样做是否会导致所有数据丢失。

amazon-ec2 amazon-web-services devops

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

DevOps 注册脚本错误:Current() ).IsInRole(...)

我无法让我的注册脚本在 PowerShell (admin) 中运行。它可以在 Powershell ISE 中运行,但随后脚本卡在“正在连接到服务器...”

\n

难道我做错了什么?

\n

在此输入图像描述

\n

这是脚本:

\n
 $ErrorActionPreference="Stop";If(-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent() ).IsInRole( [Security.Principal.WindowsBuiltInRole] \xe2\x80\x9cAdministrator\xe2\x80\x9d)){ throw "Run command in an administrator PowerShell prompt"};If($PSVersionTable.PSVersion -lt (New-Object System.Version("3.0"))){ throw "The minimum version of Windows PowerShell that is required by the script (3.0) does not match the currently running version of Windows PowerShell." };If(-NOT (Test-Path $env:SystemDrive\\\'azagent\')){mkdir $env:SystemDrive\\\'azagent\'}; cd $env:SystemDrive\\\'azagent\'; for($i=1; $i -lt 100; $i++){$destFolder="A"+$i.ToString();if(-NOT (Test-Path ($destFolder))){mkdir $destFolder;cd $destFolder;break;}}; $agentZip="$PWD\\agent.zip";$DefaultProxy=[System.Net.WebRequest]::DefaultWebProxy;$securityProtocol=@();$securityProtocol+=[Net.ServicePointManager]::SecurityProtocol;$securityProtocol+=[Net.SecurityProtocolType]::Tls12;[Net.ServicePointManager]::SecurityProtocol=$securityProtocol;$WebClient=New-Object Net.WebClient; $Uri=\'[url]\';if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))){$WebClient.Proxy= New-Object Net.WebProxy($DefaultProxy.GetProxy($Uri).OriginalString, $True);}; $WebClient.DownloadFile($Uri, $agentZip);Add-Type -AssemblyName …
Run Code Online (Sandbox Code Playgroud)

deployment iis vps azure devops

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

(Terraform) 左操作数的值不合适:需要一个数字

GCP上,我尝试使用下面的 Terraform 代码运行Cloud Run服务“renderer”,在此代码中,我使用plus(连接“gcr.io/”、变量var.project_id“/renderer:latest” +) :

resource "google_cloud_run_service" "renderer" {
  name     = "renderer"
  location = "asia-northeast1"

  template {
    spec {
      containers {
        image = "gcr.io/" + var.project_id + "/renderer:latest" // Here
      }
      service_account_name = google_service_account.renderer_identity.email
    }
  }

  traffic {
    percent         = 100
    latest_revision = true
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,当我应用上面的代码时,出现以下错误:

resource "google_cloud_run_service" "renderer" {
  name     = "renderer"
  location = "asia-northeast1"

  template {
    spec {
      containers {
        image = "gcr.io/" + var.project_id + …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform terraform devops terraform-provider-gcp google-cloud-run

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

如何查找容器的启动方式:“docker run”或“docker-compose up”?

当访问远程计算机时,我想知道容器是否是通过或其他方式启动docker rundocker-compose

这可能吗?

编辑:这样做的主要原因是要找出这些容器是在哪里编排的,即如果容器出现故障,是否会再次启动?该配置会在哪里?

containers docker docker-compose devops

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

数据湖 Gen2 升级

早上好,

\n

我在将标准 Azure 存储帐户升级到 Data Lake Gen2 升级时遇到问题。我在验证过程中不断收到此错误。\xe2\x80\x9c:帐户属性的值不兼容:containerDeleteRetentionPolicy。\xe2\x80\x9d 我该如何解决此问题?我最终希望设置一个容器来创建元存储。

\n

我认为这是配置 DNS 服务器的问题,但我仍然收到相同的错误消息。

\n

storage azure devops azure-data-lake

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

如何拆分木偶文件

只是想知道我是否有以下puppet文件,我想将它们分成单独的文件.我必须创建模块吗?我不能只包括它们吗?

node default {
  include mysql
}


class mysql {

  # Make sure MySQL is ...
  notify {"Mysql":}

  # installed
  package { 'mysql':
  require => Exec['apt-update'], # require 'apt-update' before installing
  ensure => installed,
  }

  # and running
  service { 'mysql':
    ensure => running,
    enable => true,
  }
}

...
Run Code Online (Sandbox Code Playgroud)

我只是想把mysql类拿出来放在单独的文件中.怎么做这个简单的事情?顺便说一句,我正在使用无主的木偶

编辑

很大的道歉,事实是我只使用没有流浪汉的傀儡.但由于我不是一个专家,当我的问题有一个修改,包括流浪汉我接受了它.对不起,请允许我修改我的问题

我可以在没有流浪汉的情况下进行分离吗?如果我必须如此.

谢谢

puppet devops

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

在生产中运行端到端测试是否值得?

如何在生产中实施e2e而又不破坏数据库的一致性?想象一下,我们需要测试的场景是一个用户注册。如果我们在生产中运行此测试,它将每次创建一个假用户。

难题在于端到端测试非常重要,我们有更大的灵活性在分阶段环境中运行它们。但是,在生产中,我们遭受数据一致性低的困扰,并且无法检测到特定于生产的错误。因此,是否有一种方法可以在生产中正确实施端到端测试,还是应该在阶段进行测试?提前致谢

testing automated-tests production-environment e2e-testing devops

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

Packer和Terraform集成的工作流程示例

我正在尝试在VMWare Hypervisor中为虚拟机创建一个实验室,以便在RHEL中安装集群; 我已经看到Packer和Terraform非常有趣,但是我找不到关于他们工作流程的清晰和/或详细的样本,特别是如何在Packer中创建图像然后让Terraform使用它.我已经看到Packer具有构建功能,但即使是某些类型的部署,我也不明白这些是否与Terraform重叠; 我已经读过可以通过另一个HashiCorp产品Atlas实现某种类型的自动化,但我不想使用它,至少在这个软件的研究和试用阶段.所以我想做的是使用Packer(RHEL base以及其他功能)创建与VMWare兼容的虚拟机映像,将它们传递给在我的esxi中创建vm的Terraform工件.

希望能找到指导.

esxi packer vsphere terraform devops

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