标签: devops

在ansible中使用连字符

我正在学习Ansible但是我很困惑何时使用连字符以及何时不在剧本中使用连字符.据我所知,连字符用于Ansible中的列表.

例如,

--- # my first playbook
      - hosts: webservers  ( why did we use hyphen here it is not a list)
        tasks: 
          - name: installing httpd
            yum: name=httpd state=installed ( why we shouldn't use hyphen here).
Run Code Online (Sandbox Code Playgroud)

从Ansible文档中可以看出,连字符是用于列表的,例如:

fruits:
  - apple
  - grapes
  - orange
Run Code Online (Sandbox Code Playgroud)

所以,我很困惑什么时候使用连字符和何时不使用.

configuration-management ansible ansible-playbook devops

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

AWS Elasticbeanstalk ebextensions服务器重启错误"构建期间发生错误:[Errno 4]中断函数调用"

我有一个elasticbeanstalk环境需要运行一个PowerShell脚本并在部署应用程序之前重新启动.根据文档,这是根据文档支持的

如果系统在命令完成后需要重新启动,则系统会在指定的秒数过后重新启动.如果系统由于命令而重新启动,则Elastic Beanstalk将恢复到配置文件中的命令之后的点.默认值为60秒.您也可以永久指定,但系统必须重新启动才能运行另一个命令.

但是,当我向ebextensions .config文件添加reboot命令时,我从elasticbeanstalk获得以下异常

Error occurred during build: [Errno 4] Interrupted function call
Run Code Online (Sandbox Code Playgroud)

重新启动后服务器上的日志显示该命令已执行,因此我认为错误是由应用程序部署阶段重新启动引起的.

如果我删除restart命令,部署,等待它准备好然后手动触发重启它工作正常.但这显然是不可接受的.

我已经研究了部署钩子文件系统的方法,但这也不起作用,并且看起来很有用,因为听起来它应该支持开箱即用的这个要求.

有人有什么想法吗?

powershell continuous-integration amazon-web-services amazon-elastic-beanstalk devops

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

头盔升级不会拉新容器

我构建一个简单的NodeJS API,将Docker Image推送到repo并使用Helm install将其部署到我的k8s(完美地工作).

pullPolicy是Always.

现在我想更新源代码并部署我的应用程序的更新版本.我在所有文件中碰撞了版本,构建并推送了新的Docker镜像并尝试过,helm upgrade但似乎什么也没发生.随着helm list我可以看到,修订部署,但尚未部署的更改源代码. watch kubectl get pods还表明没有按照您期望的方式创建新的podkubectl --apply...

我做错了什么?

continuous-integration kubernetes devops kubernetes-helm

7
推荐指数
2
解决办法
3064
查看次数

如何使用Jenkins将Docker容器从Amazon ECR自动部署到Kubernetes

这是我们的环境:

  1. 我有一个在Amazon上运行的Kubernetes集群。
  2. 在Amazon上运行的Jenkins CI / CD,可连接到私有GitLab并将我们的服务构建为Docker映像。
  3. 存储我们的Docker映像的Amazon ECR。

我的问题:

  1. Jenkins管道将新建的映像推送到ECR后,如何将映像从ECR自动部署到Kubernetes(作为Pod)?
  2. 我可以在詹金斯管道中做到这一点吗?我读了很多材料,但是找不到如何做。

还有一个像Keel这样的第三方工具,但它不支持Amazon ECR(ECR的Webhook问题)。

任何帮助,将不胜感激。

continuous-deployment jenkins kubernetes devops aws-ecr

7
推荐指数
2
解决办法
9168
查看次数

我们如何衡量Amazon ECS/Ec2实例的vCPU使用情况?

我将把我的webapp从Amazon EC2迁移到ECS.(docker)但是在ECS中,我们需要为进程分配内存和vCPU.

但我不确定应该为该任务分配多少vCPU.(以及记忆)

如何衡量流程需要多少vCPU和内存?

谢谢

linux amazon-ec2 amazon-web-services amazon-ecs devops

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

kubernetes configmap打印\ n而不是换行符

我正在尝试将configmap部署到集群上

- name: Make/Update all configmaps on the cluster
 kubernetes:
 api_endpoint: blah
 url_username: blah
 url_password: blah
 inline_data:
 apiVersion: v1
 kind: ConfigMap
 metadata: 
 name: blah
namespace: blah
 data: my-data.txt: "{{ data }}"
 state: present
data: |
 some = foo
 foo = some
(using spinnaker to attach it to pods)
Run Code Online (Sandbox Code Playgroud)

当我进入吊舱并打开my-data.txt时,它显示:

some = foo\n foo = some\n
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像文本并打印换行符,而不是\ n

奇怪的是,如果我在文本中的某处加上单引号,它将按原样打印文本,但单引号如下:

data: |
 some = foo
 foo = some
' '
Run Code Online (Sandbox Code Playgroud)

打印完全一样。

我曾尝试进行研究,但找不到任何东西,现在已经坚持了一段时间。

yaml ansible kubernetes devops

7
推荐指数
2
解决办法
2770
查看次数

splunk检查消息是否包含特定字符串

在Splunk搜索查询中如何检查日志消息是否有文本?

日志消息:

message:     2018-09-21T07:15:28,458+0000 comp=hub-lora-ingestor-0 [vert.x-eventloop-thread-0] INFO  com.nsc.iot.hono.receiver.HonoReceiver - Connected successfully, creating telemetry consumer ...
Run Code Online (Sandbox Code Playgroud)

我想检查消息是否包含“连接成功,创建遥测消费者...”并基于此想要将 1 或 0 分配给变量

Splunk 搜索查询

(index="05c48b55-c9aa-4743-aa4b-c0ec618691dd" ("Retry connecting in 1000ms ..." OR "Connect or create consumer failed with exception" OR "Connected successfully, creating telemetry consumer ...")) 
| rex field=_raw ^(?:[^ \n]* ){7}(?P<success_status_message>\w+\s+\w+,\s+\w+\s+\w+\s+\w+)"
| timechart count as status | eval status=if(isnull(success_status_message), 0, 1)
Run Code Online (Sandbox Code Playgroud)

success_status_message 始终为 null

java splunk devops splunk-query splunk-calculation

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

更改 Kubernetes 中的 CPU 管理器策略

我正在尝试更改我管理的 Kubernetes 集群的 CPU 管理器策略,如此处所述但是,我在执行此操作时遇到了许多问题。

该集群正在 DigitalOcean 中运行,这是我到目前为止所尝试的。

  • 1.由于文章提到这--cpu-manager-policy是一个 kubelet 选项,我假设我无法通过 API 服务器更改它,并且必须在每个节点上手动更改它。(顺便说一句,这是假设吗?)
  • 2.ssh进入其中一个节点(DigitalOcean 行话中的 Droplet)并按照此处 kub​​elet CLI 参考kubelet --cpu-manager-policy=static中所述运行命令。它给了我消息Flag --cpu-manager-policy has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.
  • 3.因此,我通过运行检查 --config 标志指向的文件ps aux | grep kubelet,发现其/etc/kubernetes/kubelet.conf.
  • 4.cpuManagerPolicy: static我编辑该文件并向其中添加一行kubeReserved并且systemReserved因为如果指定cpuManagerPolicy.
  • 5.然后我终止正在运行该进程的进程并重新启动它。还出现了一些其他问题(删除此文件并耗尽节点等),我能够解决这些问题并最终重新启动 …

digital-ocean kubernetes devops kubelet

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

为什么使用 jenkins 而不是简单的 bash 脚本?

如果您能让我理解这个简单的话题,我会非常高兴。

我知道詹金斯是什么以及它的作用。现在我们来做个比较。

我们使用 jenkins,以便一旦代码通过 git hooks 推送到存储库,我们就运行 jenkins 作业来提取该代码,进行构建,运行测试,然后如果需要,将其上传到代码实际运行的远程计算机。

现在,我可以做的是,当 git hook 发生时,我将运行 bash 脚本,该 bash 脚本将执行这些操作(例如从存储库中提取代码、运行构建、进行测试,然后通过 ssh 将其上传到远程计算机)。

所以,我可以通过 bash 脚本做同样的事情。

问题是:我没有看到那么大的优势。

那么,您能尽力用非常简单的语言解释一下为什么它有很大的优势吗?我知道 Jenkins 有很多插件,但这不是进行比较的最佳方式。

git bash jenkins devops

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

从子目录运行 eslint

我的项目包含一个有自己的子项目.eslintrc(即在 下./path/to/subproject),
我正在尝试运行lint,但它要么转到根项目.eslintrc文件,要么找不到 我在 中尝试过以下配置的.eslintrc文件:
package.json

cd path/to/subproject
Run Code Online (Sandbox Code Playgroud)

和:

"lint": "tsc && eslint -c .eslintrc.js ./**/*.ts --"
Run Code Online (Sandbox Code Playgroud)

或者

"lint": "tsc && eslint -c ./.eslintrc.js ./**/*.ts --"
Run Code Online (Sandbox Code Playgroud)

还在根目录中尝试过:

"lint": "tsc && eslint -c path/to/subproject/.eslintrc.js ./**/*.ts --"
Run Code Online (Sandbox Code Playgroud)

或者

"lint": "tsc && eslint -c .eslintrc.js ./**/*.ts --"
Run Code Online (Sandbox Code Playgroud)

npm run lint --prefix path/to/subproject/
Run Code Online (Sandbox Code Playgroud)

但它不断引用根项目.eslintrc文件:

Oops! Something went wrong! :(

ESLint: 6.4.0.

ESLint couldn't find the config "configname" to extend from. Please …
Run Code Online (Sandbox Code Playgroud)

javascript eslint devops azure-devops eslintrc

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