如何配置Vagrant配置,以便在配置计算机时自动配置其crontab?(根据Chef(?)文件配置vagrant)
举个例子,我想设置以下cron:
5 * * * * curl http://www.google.com
Run Code Online (Sandbox Code Playgroud) 所以我在我的电脑上运行Chromedriver(胜利,管理员模式)
chromedriver.exe --verbose --whitelisted-ips=
Run Code Online (Sandbox Code Playgroud)
在我的服务器上,我有我想在自己的计算机上运行的测试.
所以我设置了远程Webdriver,测试似乎没有问题,但我没有看到Chromedriver在我的计算机上生成任何Chrome窗口,也没有看到任何日志消息.我的服务器上的测试最终超时并显示:
File "/server/tests/test.py", line 173, in test
browser = Browser(driver_name="remote",url="http://23.23.23.23:9515/wd/hub", browser='chrome',user_agent='test', desired_capabilities=options.to_capabilities())
File "/usr/local/lib/python2.7/dist-packages/splinter/browser.py", line 63, in Browser
return driver(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/splinter/driver/webdriver/remote.py", line 26, in __init__
self.driver = Remote(url, abilities)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 73, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 121, in start_session
'desiredCapabilities': desired_capabilities,
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 171, in execute
response = self.command_executor.execute(driver_command, params)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 349, in execute
return self._request(command_info[0], url, body=data)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 417, in _request
resp = …
Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的Ansible playbook,为docker-compose和docker安装了所有依赖项,但是在安装docker-compose时遇到错误,这是我的playbook上安装docker-compose在CentOS7环境中的任务.
#ensure docker-compose and chmod +x /usr/local/bin/docker-compose
- name: Ensure docker-compose is installed and available
command: curl -L https://github.com/docker/compose/releases/download/1.7.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- name: Ensure permissions docker-compose
command: chmod +x /usr/local/bin/docker-compose
Run Code Online (Sandbox Code Playgroud)
出现以下错误:
TASK: [Ensure docker-compose is installed and available] **********************
failed: [nutrilife-aws] => {"changed": true, "cmd": ["curl", "-L", "https://github.com/docker/compose/releases/download/1.7.0-rc1/docker-compose-`uname", "-s`-`uname", "-m`", ">", "/usr/local/bin/docker-compose"], "delta": "0:00:00.004592", "end": "2016-03-26 14:19:41.852780", "rc": 2, "start": "2016-03-26 14:19:41.848188", "warnings": ["Consider using get_url module rather than running curl"]}
stderr: curl: option -s`-`uname: is unknown …
Run Code Online (Sandbox Code Playgroud) 我是YAML和ansible的新手,我很困惑哪一行是关键,哪一行是列表.例如,在下面的剧本中,似乎" - "代表一个列表项.
---
- hosts: all
gather_facts: no
sudo: yes
tasks:
- name: Ensure NTP is installed.
yum: name=ntp state=present
- name: ensure ntp is running
service: name=ntpd state=started enabled=yes
Run Code Online (Sandbox Code Playgroud)
所以host
是列表键,all
是它的价值,但是gather_facts: no
,sudo:
yes
并且task: ...
也与密钥列表的字典- hosts
?
当将上述playbook运行到yamllint.com时,我得到以下输出:
---
-
gather_facts: false
hosts: all
sudo: true
tasks:
-
name: "Ensure NTP is installed."
yum: "name=ntp state=present"
-
name: "ensure ntp is running"
service: "name=ntpd state=started enabled=yes"
Run Code Online (Sandbox Code Playgroud) 我们有许多 IAM 用户,他们都使用 Terraform 在 EC2 上创建自助服务基础设施。用户不一定为其实例设置密钥,因此很难将实例与特定用户绑定。我意识到我们可以通过 CloudTrail 深入了解哪些用户正在创建实例,但使用当前 IAM 用户名标记实例似乎更简单。
问题是 Terraform 似乎没有公开这一点 - 我可以使用aws_caller_identity
或aws_canonical_user_id
,但它们似乎都返回组织帐户,而不是特定的 IAM 用户名。Terraform 中是否有数据源会返回创建实例的 IAM 用户?
我正在尝试使用 Terraform 在 Elasticache 上启动 Redis 实例,但遇到以下错误。
* module.main.module.redis.aws_elasticache_security_group.redis: 1 error(s) occurred:
* aws_elasticache_security_group.redis: Error creating CacheSecurityGroup: InvalidParameterValue: Use of cache security groups is not permitted in this API version for your account.
Run Code Online (Sandbox Code Playgroud)
我在 GH 问题中发现的任何内容都没有帮助。这是我的 Terraform 的样子(我已经确认变量被正确传递):
resource "aws_elasticache_subnet_group" "redis" {
name = "vpc-public-subnet"
description = "subnet where redis will live"
subnet_ids = ["${var.subnet}"]
}
resource "aws_elasticache_security_group" "redis" {
name = "redis-security-group"
security_group_names = ["${var.redis_sec_group}"]
}
resource "aws_elasticache_replication_group" "redis" {
automatic_failover_enabled = true
availability_zones = ["us-east-2a"]
replication_group_id = "${var.environment}-myapp-rep-group-1" …
Run Code Online (Sandbox Code Playgroud) 我是 Terraform 的新手,对id
资源返回的属性感到困惑。
鉴于:
data "azurerm_subnet" "aas_mng_subnet" {
name = "${var.prefix}-${var.env_type}-subnet-${var.site_octet}.50.x"
virtual_network_name = "${data.azurerm_virtual_network.main.name}"
resource_group_name = "${var.prefix}-${var.env_type}"
}
Run Code Online (Sandbox Code Playgroud)
和
subnet_id = "${data.azurerm_subnet.aas_mng_subnet.id}"
Run Code Online (Sandbox Code Playgroud)
价值是多少subnet_id
?我的意思是一般情况 - 不是特定于这个例子。.id
该属性出现在每个地方的值是多少?
Terraform 文档试图解释这一点,但我不确定我是否仍然理解它:
数据源的属性
语法为 data.TYPE.NAME.ATTRIBUTE。例如。
${data.aws_ami.ubuntu.id}
将从名为 的数据源插入id
属性。如果数据源设置了计数属性,则可以使用从零开始的索引访问各个属性,例如 。您还可以使用 splat 语法来获取所有属性的列表: 。aws_ami
ubuntu
${data.aws_subnet.example.0.cidr_block}
${data.aws_subnet.example.*.cidr_block}
如果有人能用其他词语和/或例子向我解释,我将不胜感激。
我想在集群上启用Kubernetes Engine监视,但是我不认为它是Terraform google_container_cluster
资源中的一个字段。
Kubernetes Engine Monitoring是否由其他资源管理?
google-cloud-platform kubernetes google-kubernetes-engine terraform
在文档或他们的错误数据库中,两位作者似乎更喜欢这样写出表达式:
var.a != "" ? var.a : "default-a"
Run Code Online (Sandbox Code Playgroud)
该值被明确测试为不等于空字符串,然后相应地进行二进制选择。
然而,这也有效吗?
var.a ? var.a : "default-a"
Run Code Online (Sandbox Code Playgroud)
我没有发现它以任何方式明确说明。
我正在尝试使用 API Gateway\xe2\x80\x99s VPC 链接将流量路由到 HTTPS 上的内部 API。\n但是,VPC 链接迫使我将 API\xe2\x80\x99s 负载均衡器从“应用程序”更改为“网络”。
\n\n据我所知,网络负载均衡器位于第 4 层,因此不知道 HTTPS。
\n\n我习惯使用第 7 层应用程序负载均衡器。因此,我不确定应该如何在 terraform 中配置或使用网络负载均衡器。
\n\n以下是我在 Terraform 中配置网络负载均衡器的尝试。\n健康检查失败,我不确定我做错了什么。
\n\nresource "aws_ecs_service" \xe2\x80\x9capp\xe2\x80\x9d {\n name = "${var.env}-${var.subenv}-${var.appname}"\n cluster = "${aws_ecs_cluster.cluster.id}"\n task_definition = "${aws_ecs_task_definition.app.arn}"\n desired_count = "${var.desired_app_count}"\n deployment_minimum_healthy_percent = 50\n deployment_maximum_percent = 200\n iam_role = "arn:aws:iam::${var.account}:role/ecsServiceRole"\n\n load_balancer {\n target_group_arn = "${aws_lb_target_group.app-lb-tg.arn}"\n container_name = "${var.env}-${var.subenv}-${var.appname}"\n container_port = 9000\n }\n depends_on = [\n "aws_lb.app-lb"\n ]\n}\n\nresource "aws_lb" \xe2\x80\x9capp-lb" {\n name = "${var.env}-${var.subenv}-${var.appname}"\n internal = false\n load_balancer_type = …
Run Code Online (Sandbox Code Playgroud) amazon-web-services amazon-elb terraform aws-api-gateway terraform-provider-aws
terraform ×6
ansible ×2
amazon-ec2 ×1
amazon-elb ×1
cron ×1
docker ×1
kubernetes ×1
python ×1
selenium ×1
vagrant ×1
vagrantfile ×1
yaml ×1