我编写了一个脚本来使用 vagrant 运行多个虚拟机,然后我必须使用 ansible 对其进行配置。不幸的是,我的主机是一台 Windows 机器,所以我认为我可以通过将所有虚拟机放入一个 VPN 中,然后从同一 VPN 中的另一台机器配置它们来解决问题。
理论上,它是有效的...我可以毫无问题地 ssh 进入其他机器。但是当我运行我的 ansible 剧本时,ansible 失败了。
起初,我ssh: connect to host 10.1.2.100 [10.1.2.100] port 22: No route to host在运行 ansible 时收到消息“”-vvvv
这是在晚上,我很累,第二天早上这个错误就没有再出现。不确定这是否与我正在进行部署的虚拟机同时重新启动有关,或者接收计算机从那时起被完全销毁和更新有关。无论如何,问题并没有消失。
重新创建两个虚拟机后,现在的结果是:
# ansible-playbook -i vms -k -u vagrant vms.yml -vvvv
result:
<10.1.2.100> ESTABLISH SSH CONNECTION FOR USER: vagrant <10.1.2.100>
SSH: EXEC sshpass -d14 ssh -C -vvv -o ServerAliveInterval=50 -o
User=vagrant -o ConnectTimeout=10 -tt 10.1.2.100 '( umask 22 && mkdir
-p "$( echo $HOME/.ansible/tmp/ansible-tmp-1455781388.36-25193904947084 )" && …Run Code Online (Sandbox Code Playgroud) 任何人都可以列出Kafka 0.10与kafka 0.8相比的基本差异化特征.
我们正在考虑将我们的kafka-8升级到kafka-10.升级中可能面临哪些挑战?
提前致谢.
我有以下vagrantfile
Vagrant.configure(2) do |config|
config.ssh.insert_key = true
config.vm.define "dev" do |app|
app.vm.provider "docker" do |d|
d.image = "allansimon/allan-docker-dev-python"
d.has_ssh = true
end
app.ssh.username = "vagrant"
app.vm.provision "file", source: "~/.ssh/id_rsa", destination: ".ssh/id_rsa"
app.vm.provision "permits-root-to-clone", type: "shell" do |s|
s.inline = "cp /home/vagrant/.ssh/id_rsa /root/.ssh/id_rsa"
end
# if i put here a new shell provisionner , to the exact same repo than in my galaxy roles , it works
app.vm.provision "ansible_local" do |ansible|
ansible.galaxy_role_file = "build_scripts/ansible/requirements.yml"
ansible.playbook = "build_scripts/ansible/bootstrap.yml"
end
end
end
Run Code Online (Sandbox Code Playgroud)
该 …
我已经使用 pip 安装了 napalm-ansible,现在尝试将 napalm-ansible 库路径添加到我的 ansible.cfg 文件中。
root@usvr-1804:/home/labadmin# napalm-ansible
To ensure Ansible can use the NAPALM modules you will have
to add the following configurtion to your Ansible configuration
file (ansible.cfg):
[defaults]
library = /usr/local/lib/python2.7/dist-packages/napalm_ansible/modules
action_plugins = /usr/local/lib/python2.7/dist
packages/napalm_ansible/plugins/action
Run Code Online (Sandbox Code Playgroud)
但我的 ansible.cfg 文件已经有一个库路径。
root@usvr-1804:/home/labadmin# cat ansible.cfg
[defaults]
inventory = ./hosts
library = /etc/ansible/roles/PaloAltoNetworks.paloaltonetworks
host_key_checking = false
timeout = 5
log_path = /var/log/ansible.log
roles_path = /etc/ansible/roles
Run Code Online (Sandbox Code Playgroud)
如何将第二个库路径添加到我的 ansible.cfg 文件中。谢谢
现在,我使用静态文件部署我的应用程序 pod,其中之一是app-secrets.yaml部署应用程序的所有秘密
---
apiVersion: v1
kind: Secret
metadata:
name: app-secrets
type: Opaque
data:
root: xxxxxx
user1: xxxxxx
user2: xxxxxx
Run Code Online (Sandbox Code Playgroud)
但这既不安全也不方便(如果我需要另一个应用程序实例,我必须使用人工生成的密码创建另一个文件)。
我希望在创建应用程序时生成随机密码,但我不知道是否可行。我已经看过主题秘密,特别是secretGenerator但这并不是我所理解的直接想要的,因为它不会创建随机字符串而是随机秘密名称,例如secret/app-secrets-ssdsdfmfh4k但我仍然必须提供密码。
我正在使用Python 2.7,仍在学习字典.我专注于为字典执行数值计算,需要一些帮助.
我有一本字典,我想对其中的值进行平方:
dict1 = {'dog': {'shepherd': 5,'collie': 15,'poodle': 3,'terrier': 20},
'cat': {'siamese': 3,'persian': 2,'dsh': 16,'dls': 16},
'bird': {'budgie': 20,'finch': 35,'cockatoo': 1,'parrot': 2}
Run Code Online (Sandbox Code Playgroud)
我想要:
dict1 = {'dog': {'shepherd': 25,'collie': 225,'poodle': 9,'terrier': 400},
'cat': {'siamese': 9,'persian': 4,'dsh': 256,'dls': 256},
'bird': {'budgie': 400,'finch': 1225,'cockatoo': 1,'parrot': 4}
Run Code Online (Sandbox Code Playgroud)
我试过了:
dict1_squared = dict**2.
dict1_squared = pow(dict,2.)
dict1_squared = {key: pow(value,2.) for key, value in dict1.items()}
Run Code Online (Sandbox Code Playgroud)
我的尝试没有任何成功.
使用Ansible,请告知我如何从Github存储库下载最新版本的二进制文件。根据我目前的理解,这些步骤将是:获取最新版本的网址b。下载版本
为一个。我有一些类似的东西没有提供实际的版本(例如v0.11.53):
- name: get latest Gogs release
local_action:
module: uri
url: https://github.com/gogits/gogs/releases/latest
method: GET
follow_redirects: no
status_code: 301
register: release_url
Run Code Online (Sandbox Code Playgroud)
对于b。我有下面的工作,但需要不断更新。除了版本,我需要在a中设置一个变量:
- name: download latest
become: yes
become-user: "{{gogs_user}}"
get_url:
url: https://github.com/gogs/gogs/releases/download/v0.11.53/linux_amd64.tar.gz
dest: "/home/{{gogs_user}}/linux_amd64.tar.gz"
Run Code Online (Sandbox Code Playgroud)
谢谢!
我想删除超过 31 天的块数据,所以我做了这样的配置
schema_config:
configs:
- from: 2020-10-24
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h
storage_config:
boltdb_shipper:
active_index_directory: "/var/lib/loki/boltdb-shipper-active"
cache_location: "/var/lib/loki/boltdb-shipper-cache"
cache_ttl: 24h
shared_store: filesystem
filesystem:
directory: /var/lib/loki/chunks
chunk_store_config:
max_look_back_period: 0s
table_manager:
retention_deletes_enabled: true
retention_period: 31d
Run Code Online (Sandbox Code Playgroud)
但实际上删除从未发生过。
我是否忘记了配置中的某些内容?
洛基版本:2.4.1
我正在尝试从 ansible 发送电子邮件
如果我使用 gmail 尝试它,它可以完美运行,但是如果我尝试使用 Office 365,它就无法正常工作。
下面是我的剧本。
---
- name: Mail Sendig using Ansible
hosts: localhost
tasks:
- name: Mail sending using Mail Module
mail:
host: "smtp.office365.com"
port: 587
username: "dcalert@mycompany.com"
password: "mypasswd"
to: "Jon Snow <jon.snow@mycompany.com>"
subject: "Ansible"
body: "Hello from Ansible"
secure: starttls
Run Code Online (Sandbox Code Playgroud)
我得到以下错误
ASK [Send email]
*******************************************************************
An exception occurred during task execution. To see the full
traceback, use -vvv. The error was: SMTPSenderRefused: (501, '5.1.7
Invalid address', 'root')
fatal: [localhost -> localhost]: FAILED! => …Run Code Online (Sandbox Code Playgroud) 我对Ansible-Playbook感到困惑,如果我在main.yml(tasks)中使用include&标签,那将无法正常工作。
命令:
ansible-playbook -i digitalocean/inventory.ini ans-graylog.yml --tags "insglog"
PLAY [Setup Graylog] **************************
TASK [Gathering Facts] ************************
ok: [xxx.xxx.xxx.xxx]
PLAY RECAP ************************************
xxx.xxx.xxx.xxx : ok=1 changed=0 unreachable=0 failed=0
Run Code Online (Sandbox Code Playgroud)
如果删除--tags "inslog",它将成功。所有任务将正常运行。
main.yml (Tasks)
---
- include: gray.yml tags=insglog
- include: fbeat.yml tags=insfbeat
Run Code Online (Sandbox Code Playgroud)
当我--tags="inslog"在ansible-playbook命令中使用时,gray.yml未执行。
我已经试过include_task,import,import_task。但是,我得到了相同的结果。
您能帮我解决这个问题吗?
ansible ×6
python ×2
ansible-2.x ×1
apache-kafka ×1
automation ×1
dictionary ×1
download ×1
email ×1
git ×1
github ×1
grafana-loki ×1
kubernetes ×1
library-path ×1
purge ×1
retention ×1
smtp ×1
ssh ×1
ssh-keys ×1
url ×1
vagrant ×1