Eksempel på Ad-hoc kommandoguide med eksempler

Ad-hoc-kommandoer brukes i Ansible for å utføre oppgaver umiddelbart, og du trenger ikke lagre dem til senere bruk. Denne artikkelen handler om Ansible Ad-hoc Command.


Det er flere oppgaver i Ansible der du ikke trenger å skrive en egen Ansible-spillbok for det; Du kan bare kjøre en ansvarsfull ad-hoc-kommando for den oppgaven. Dette er en-linjekommando for å utføre en enkelt oppgave på målverten. Disse kommandoene er til stede i / usr / bin / ansible

Oppgaver som å pinge alle vertene for å sjekke om de kjører, kopiere en fil, starte servere på nytt, installere en pakke kan enkelt gjøres gjennom Ansible Ad-hoc-kommandoer. Her er en liste over grunnleggende Ansible Ad-hoc-kommandoer som du må vite.

Grunnleggende kommandoer

Ad-hoc-kommandoen nedenfor kjører en ping-modul på alle vertene i varelagerfilen. Her -m er alternativet for en modul.

[Email protected]: / home / geekflare # ansible all -m ping
node1 | SUKSESS => {
"ansible_facts": {
"discovered_interpreter_python": "/ Usr / bin / python"
},
"endret": falsk,
"ping": "pong"
}

Kommandoen nevnt nedenfor kjører installasjonsmodul på en gruppe verter – Klient til stede i inventarefilen ‘/ etc / ansible / hosts’.

[Email protected]: / home / geekflare # ansible Client -m setup -a "filter = ansible_distribution *"
node1 | SUKSESS => {
"ansible_facts": {
"ansible_distribution": "Ubuntu",
"ansible_distribution_file_parsed": sant,
"ansible_distribution_file_path": "/ Etc / os-frigivelse",
"ansible_distribution_file_variety": "Debian",
"ansible_distribution_major_version": "18",
"ansible_distribution_release": "kosmisk",
"ansible_distribution_version": "18.10",
"discovered_interpreter_python": "/ Usr / bin / python"
},
"endret": falsk
}

Kommandoen nedenfor brukes til å be om SSH-passordgodkjenning. Du må legge til –ask-pass-alternativet på slutten av kommandoen. Etter å ha kjørt kommandoen, vil den be deg om å oppgi SSH-passordet.

[Email protected]: / home / geekflare # ansible Client -m ping –ask-pass
SSH passord:
node1 | SUKSESS => {
"ansible_facts": {
"discovered_interpreter_python": "/ Usr / bin / python"
},
"endret": falsk,
"ping": "pong"
}

Kommandoen nedenfor gir deg funksjonen til å kjøre ad-hoc-kommandoer som en ikke-root-bruker med root-rettigheter. Alternativet – fordi det er root-privilegier og -K-alternativet ber om passord.

[Email protected]: / home / geekflare # ansible Client -m shell -a ‘fdisk -l’ -u geekflare –become -K
BLI passord:
node1 | ENDRE | rc = 0 >>
Disk / dev / loop0: 14,5 MiB, 15208448 bytes, 29704 sektorer
Enheter: sektorer på 1 * 512 = 512 byte
Sektorstørrelse (logisk / fysisk): 512 byte / 512 byte
I / O-størrelse (minimum / optimal): 512 byte / 512 byte

Disk / dev / loop2: 42.1 MiB, 44183552 bytes, 86296 sektorer
Enheter: sektorer på 1 * 512 = 512 byte
Sektorstørrelse (logisk / fysisk): 512 byte / 512 byte
I / O-størrelse (minimum / optimal): 512 byte / 512 byte

Disk / dev / loop3: 149,9 MiB, 157184000 bytes, 307000 sektorer
Enheter: sektorer på 1 * 512 = 512 byte
Sektorstørrelse (logisk / fysisk): 512 byte / 512 byte
I / O-størrelse (minimum / optimal): 512 byte / 512 byte

Disk / dev / loop5: 140,7 MiB, 147501056 bytes, 288088 sektorer
Enheter: sektorer på 1 * 512 = 512 byte
Sektorstørrelse (logisk / fysisk): 512 byte / 512 byte
I / O-størrelse (minimum / optimal): 512 byte / 512 byte

Disk / dev / loop6: 151.2 MiB, 158584832 bytes, 309736 sektorer
Enheter: sektorer på 1 * 512 = 512 byte
Sektorstørrelse (logisk / fysisk): 512 byte / 512 byte
I / O-størrelse (minimum / optimal): 512 byte / 512 byte

Disk / dev / loop7: 14,8 MiB, 15458304 bytes, 30192 sektorer
Enheter: sektorer på 1 * 512 = 512 byte
Sektorstørrelse (logisk / fysisk): 512 byte / 512 byte
I / O-størrelse (minimum / optimal): 512 byte / 512 byte

Disk / dev / sda: 500 GiB, 536870912000 bytes, 1048576000 sektorer
Enheter: sektorer på 1 * 512 = 512 byte
Sektorstørrelse (logisk / fysisk): 512 byte / 512 byte
I / O-størrelse (minimum / optimal): 512 byte / 512 byte
Disklabel type: dos
Diskidentifikator: 0xcef957f5

Enhetsstart Startslutt Sektorer Størrelse Id Type
/ dev / sda1 2048 462639103 462637056 220.6G 83 Linux
/ dev / sda2 * 462639104 464592895 1953792 954M 83 Linux
/ dev / sda3 464592896 482168831 17575936 8.4G 82 Linux-bytte / Solaris
/ dev / sda4 482168832 1048573951 566405120 270.1G 83 Linux

Disk / dev / loop8: 4 MiB, 4218880 bytes, 8240 sektorer
Enheter: sektorer på 1 * 512 = 512 byte
Sektorstørrelse (logisk / fysisk): 512 byte / 512 byte
I / O-størrelse (minimum / optimal): 512 byte / 512 byte

Denne ad-hoc-kommandoen brukes til å starte systemet på nytt med -f for å definere antall gafler.

[Email protected]: / home / geekflare # ansible Client -a "/ Sbin / omstart" -f 1

Filoverføring

Den ansvarsrike ad-hoc-kommandoen nedenfor brukes til å kopiere en fil fra en kilde til en destinasjon for en gruppe verter (klient) som er definert i varelagerfilen. Etter at du har angitt passordet, vil utdataene med “endre” -parameteren være “sann”, noe som betyr at filen er kopiert til destinasjonen.

[Email protected]: / home / geekflare # ansible Client -m copy -a ‘src = / home / geekflare / nginx.yml dest = / home / geekflare / Desktop / eier = root mode = 0644’ -u root –become -K
BLI passord:
node1 | ENDRET => {
"ansible_facts": {
"discovered_interpreter_python": "/ Usr / bin / python"
},
"endret": sant,
"sjekksum": "5631822866afd5f19b928edb3ba018385df22dd3",
"dest": "/home/geekflare/Desktop/nginx.yml",
"gid": 0,
"gruppe": "rot",
"md5sum": "0d6ffe1069fc25ad4f8ad700277c4634",
"modus": "0644",
"Eieren": "rot",
"størrelse": 280,
"src": "/root/.ansible/tmp/ansible-tmp-1562253463.3-214622150088155/source",
"stat": "fil",
"uid": 0
}

Kjør kommandoen nedenfor for å bekrefte om kopimodulen fungerte riktig eller ikke. Den kopierte filen skal komme til destinasjonen som er nevnt i forrige kommando.

[Email protected]: / home / geekflare # ls Desktop /

nginx.yml

Jeg oppretter en ny katalog for å kjøre hentemodul n neste ad-hoc-kommando.

[Email protected]: / home / geekflare # mkdir eksempel

[Email protected]: / home / geekflare # ls

Eksempler på skrivebordsdokumenter.desktop nginx_new.yml nginx.yml

Den ansible ad-hoc-kommandoen nedenfor brukes til å laste ned en fil fra en vert definert i kommandoen. I denne kommandoen laster vi ned en fil ved å bruke hentemodulen fra node1-serveren til en lokal destinasjon på en ansvarlig node.

[Email protected]: / home / geekflare # ansible node1 -m hente -a ‘src = / etc / sudoers.d / nginx.yml dest = / home / geekflare / eksempel / flat = ja’

node1 | SUKSESS => {

"endret": falsk,

"sjekksum": "5631822866afd5f19b928edb3ba018385df22dd3",

"dest": "/home/geekflare/example/nginx.yml",

"fil": "/etc/sudoers.d/nginx.yml",

"md5sum": "0d6ffe1069fc25ad4f8ad700277c4634"

}

Sjekk om filen ble lastet ned eller ikke til destinasjonen som er nevnt i kommandoen.

[Email protected]: / home / geekflare # ls eksempel

nginx.yml

Administrer pakker

Kommandoen nevnt nedenfor installerer nginx på en gruppe verter (klient) som er nevnt ved hjelp av en passende modul.

[Email protected]: / home / geekflare # ansible Client -m apt -a ‘name = nginx state = recent’ –become

node1 | SUKSESS => {

"ansible_facts": {

"discovered_interpreter_python": "/ Usr / bin / python"

},

"cache_update_time": 1562411227,

"cache_updated": falsk,

"endret": falsk

}

Kommandoen nevnt nedenfor fjerner nginx på en gruppe verter (klient) ved å bruke apt module og renser alle relaterte konfigurasjoner.

[Email protected]: / home / geekflare # ansible Client -m apt -a ‘name = nginx state = absent purge = yes’ –become

node1 | ENDRET => {

"ansible_facts": {

"discovered_interpreter_python": "/ Usr / bin / python"

},

"endret": sant,

"stderr": "",

"stderr_lines": [],

"stdout": "Lese pakkelister … \ nBygg avhengighetstræ … \ nLes statusinformasjon … \ nFølgende pakker ble automatisk installert og er ikke lenger påkrevd: \ n libnginx-mod-http-geoip libnginx-mod-http-image- filter \ n libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream \ n nginx-common nginx-core \ n Bruk ‘sudo apt autoremove’ for å fjerne dem. \ nFølgende pakker vil bli fjernet: \ n nginx * \ n0 oppgradert, 0 nylig installert, 1 for å fjerne og 241 ikke oppgradert. \ nEtter denne operasjonen blir 44,0 kB diskplass frigjort. \ n (Leser database … \ r (Leser database … 5% \ r (Lesedatabase … 10% \ r (Lesedatabase … 15% \ r (Lesedatabase … 20% \ r (Lesedatabase … 25% \ r (Lesedatabase … 30% \ r (Lesedatabase … 35% \ r (Lesedatabase … 40% \ r (Lesedatabase … 45% \ r (Lesedatabase … 50% \ r) (Lesedatabase … 55% \ r (Lesedatabase … 60% \ r (Lesedatabase … 65% \ r (Lesedatabase … 70% \ r (Lesedatabase … 75% \ r (Lesedatabase … 80% \ r (lesingen ng database … 85% \ r (Lese database … 90% \ r (Lese database … 95% \ r (Lese database … 100% \ r (Lese database … 180191 filer og kataloger for øyeblikket installert.) \ r \ nFjerne nginx (1.15.5-0ubuntu2.1) … \ r \ n",

"stdout_lines": [

"Lese pakkelister…",

"Byggeavhengighetstre…",

"Lese informasjon om staten…",

"Følgende pakker ble automatisk installert og er ikke lenger påkrevd:",

"  libnginx-mod-http-geoip libnginx-mod-http-image-filter",

"  libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream",

"  nginx-vanlig nginx-kjerne",

"Bruk ‘sudo apt autoremove’ for å fjerne dem.",

"Følgende pakker vil bli fjernet:",

"  Nginx *",

"0 oppgradert, 0 nylig installert, 1 for å fjerne og 241 ikke oppgradert.",

"Etter denne operasjonen blir 44,0 kB diskplass frigjort.",

"(Lesedatabase … ",

"(Leser database … 5%",

"(Leser database … 10%",

"(Leser database … 15%",

"(Leser database … 20%",

"(Leser database … 25%",

"(Leser database … 30%",

"(Leser database … 35%",

"(Leser database … 40%",

"(Leser database … 45%",

"(Leser database … 50%",

"(Leser database … 55%",

"(Leser database … 60%",

"(Leser database … 65%",

"(Leser database … 70%",

"(Leser database … 75%",

"(Leser database … 80%",

"(Leser database … 85%",

"(Leser database … 90%",

"(Leser database … 95%",

"(Leser database … 100%",

"(Leser database … 180191 filer og kataloger som for øyeblikket er installert.)",

"Fjerne nginx (1.15.5-0ubuntu2.1) …"

]

}

Administrer tjenester

Den ansible ad-hoc-kommandoen nedenfor kjører tjenestemodul for å starte nginx på verten. Tilstandsverdien bør startes.

[Email protected]: / home / geekflare # ansible Client -m service -a ‘name = nginx state = startet aktivert = ja’ –become

node1 | SUKSESS => {

"ansible_facts": {

"discovered_interpreter_python": "/ Usr / bin / python"

},

"endret": falsk,

"aktivert": sant,

"Navn": "Nginx",

"stat": "startet",

"status": {

"ActiveEnterTimestamp": "Lør 2019-07-06 08:28:02 EDT",

"ActiveEnterTimestampMonotonic": "31411371",

"ActiveExitTimestampMonotonic": "0",

"Active": "aktiv",

"Etter": "sysinit.target system.slice systemd-journald.socket basic.target network.target",

"AllowIsolate": "Nei",

"AmbientCapabilities": "",

"AssertResult": "ja",

"AssertTimestamp": "Lør 2019-07-06 08:27:59 EDT",

"AssertTimestampMonotonic": "27694868",

"Før": "multi-user.target shutdown.target",

"BlockIOAccounting": "Nei",

"BlockIOWeight": "[ikke satt]",

"CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend",

"CollectMode": "uvirksom",

"ConditionResult": "ja",

"ConditionTimestamp": "Lør 2019-07-06 08:27:59 EDT",

"ConditionTimestampMonotonic": "27694867",

"ConfigurationDirectoryMode": "0755",

"konflikter": "shutdown.target",

"Kontrollgruppe": "/system.slice/nginx.service",

"ControlPID": "0",

"ExecMainStartTimestamp": "Lør 2019-07-06 08:28:02 EDT",

"ExecMainStartTimestampMonotonic": "31411353",

"ExecMainStatus": "0",

"ExecReload": "{bane = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -g daemon på; master_process på; -s laste inn; ignore_errors = nei; start_time = [n / a]; stop_time = [n / a]; pid = 0; kode = (null); status = 0/0}",

"ExecStart": "{bane = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -g daemon på; master_process på; ; ignore_errors = nei; start_time = [n / a]; stop_time = [n / a]; pid = 0; kode = (null); status = 0/0}",

"ExecStartPre": "{bane = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -t -q -g daemon på; master_process på; ; ignore_errors = nei; start_time = [n / a]; stop_time = [n / a]; pid = 0; kode = (null); status = 0/0}",

"ExecStop": "{bane = / sbin / start-stop-daemon; argv [] = / sbin / start-stop-daemon – stille – stopp – retry QUIT / 5 –pidfile /run/nginx.pid; ignore_errors = ja; start_time = [n / a]; stop_time = [n / a]; pid = 0; kode = (null); status = 0/0}",

"FailureAction": "ingen",

"FileDescriptorStoreMax": "0",

"FragmentPath": "/lib/systemd/system/nginx.service",

"GID": "[ikke satt]",

"GuessMainPID": "ja",

"IOAccounting": "Nei",

"IOSchedulingClass": "0",

"IOSchedulingPriority": "0",

"IOWeight": "[ikke satt]",

}

}

Nedenstående kjører servicemodul for å stoppe nginx på verten. Tilstandsverdien endres til stoppet.

[Email protected]: / home / geekflare # ansible Client -m service -a ‘name = nginx state = stops’ –become

node1 | ENDRET => {

"ansible_facts": {

"discovered_interpreter_python": "/ Usr / bin / python"

},

"endret": sant,

"Navn": "Nginx",

"stat": "stoppet",

"status": {

"ActiveEnterTimestamp": "Lør 2019-07-06 08:28:02 EDT",

"ActiveEnterTimestampMonotonic": "31411371",

"ActiveExitTimestampMonotonic": "0",

"Active": "aktiv",

"Etter": "sysinit.target system.slice systemd-journald.socket basic.target network.target",

"AllowIsolate": "Nei",

"AmbientCapabilities": "",

"AssertResult": "ja",

"AssertTimestamp": "Lør 2019-07-06 08:27:59 EDT",

"AssertTimestampMonotonic": "27694868",

"Før": "multi-user.target shutdown.target",

"BlockIOAccounting": "Nei",

"BlockIOWeight": "[ikke satt]",

"CPUAccounting": "Nei",

"CPUQuotaPerSecUSec": "evighet",

"CanReload": "ja",

"CanStart": "ja",

"CanStop": "ja",

"CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend",

"CollectMode": "uvirksom",

"ConditionResult": "ja",

"ConditionTimestamp": "Lør 2019-07-06 08:27:59 EDT",

"ConditionTimestampMonotonic": "27694867",

"ConfigurationDirectoryMode": "0755",

"konflikter": "shutdown.target",

"Kontrollgruppe": "/system.slice/nginx.service",

"ControlPID": "0",

"DefaultDependencies": "ja",

"Delegat": "Nei",

"Beskrivelse": "En høy ytelse webserver og en omvendt proxy-server",

"DevicePolicy": "auto",

"dokumentasjon": "man: Nginx (8)",

"DynamicUser": "Nei",

}

}

Kontroller systemet

Den ansvarsrike ad-hoc-kommandoen som er nevnt nedenfor, kjører en skallmodul for å sjekke disken tilgjengelig på rotpartisjoner.

[Email protected]: / home / geekflare # ansible Client -m shell -a ‘df -h / dev / sda2’ –become

node1 | ENDRE | rc = 0 >>

Filstørrelse brukt benyttet Bruk% montert på

/ dev / sda2 923M 113M 748M 14% / boot

Denne kommandoen nevnt nedenfor kjører en skallmodul for å sjekke ledig minne (RAM) på verten.

[Email protected]: / home / geekflare # ansible Client -m shell -a ‘free -m’ –become

node1 | ENDRE | rc = 0 >>

totalt brukt gratis delt buff / cache tilgjengelig

Mem: 5101 854 2760 27 1487 3947

Bytt: 8581 0 8581

Denne kommandoen sjekker oppetid for hver server som kjører.

[Email protected]: / home / geekflare # ansible Client -a "oppetid"

node1 | ENDRE | rc = 0 >>

11:31:17 opp 1 dag, 2:40, 2 brukere, belastningsgjennomsnitt: 0,23, 0,05, 0,02

Samle fakta

Den ansvarsrike ad-hoc-kommandoen nedenfor vil gi deg all ad-hoc-informasjonen til systemet ditt, inkludert alle variablene som finnes i systemet.

[Email protected]: / home / geekflare # ansible all -m setup

node1 | SUKSESS => {

"ansible_facts": {

"ansible_all_ipv4_addresses": [

"172.17.0.1",

"10.0.2.15"

],

"ansible_all_ipv6_addresses": [

"fe80 :: 763e: c0b4: 14df: b273"

],

"ansible_apparmor": {

"status": "aktivert"

},

"ansible_architecture": "x86_64",

"ansible_bios_date": "12/01/2006",

"ansible_bios_version": "VirtualBox",

"ansible_cmdline": {

"BOOT_IMAGE": "/vmlinuz-4.18.0-25-generic",

"stille": sant,

"ro": sant,

"rot": "UUID = 5f85d8b7-0ab2-48c9-9e6e-4ecfbcbdaa83",

"sprut": sant

},

"ansible_date_time": {

"Dato": "2019-07-07",

"dag": "07",

"epoke": "1562525628",

"time": "14",

"ISO8601": "2019-07-07T18: 53: 48Z",

"iso8601_basic": "20190707T145348850596",

"iso8601_basic_short": "20190707T145348",

"iso8601_micro": "2019-07-07T18: 53: 48.850697Z",

"minutt": "53",

"måned": "07",

"sekund": "48",

"tid": "14:53:48",

"tz": "EDT",

"tz_offset": "-0400",

"ukedag": "søndag",

"weekday_number": "0",

"weeknumber": "26",

"år": "2019"

},

"ansible_default_ipv4": {

"adresse": "10.0.2.15",

"alias": "enp0s3",

"kringkaste": "10.0.2.255",

"inngangsport": "10.0.2.2",

"grensesnitt": "enp0s3",

"macaddress": "08: 00: 27: 68: 64: 9a",

"MTU": 1500,

"netmask": "255.255.255.0",

"Nettverk": "10.0.2.0",

"type": "eter"

},

"ansible_default_ipv6": {},

"ansible_device_links": {

"ids": {

"sda": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5"

],

"sda1": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part1"

],

"sda2": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part2"

],

"sda3": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part3"

],

"sda4": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part4"

],

"sr0": [

"ata-VBOX_CD-ROM_VB2-01700376"

]

},

"etiketter": {

"sr0": [

"VBox_GAs_6.0.2"

]

},

"mestere": {},

"UUID": {

"sda1": [

"5f85d8b7-0ab2-48c9-9e6e-4ecfbcbdaa83"

],

"sda2": [

"b8b7f87b-c3bf-48ed-a44c-f9b3ce0afbe5"

],

"sda3": [

"a6c77fa6-e292-4a0d-b21f-8804f1949bbd"

],

"sda4": [

"8207f970-4d9a-47dB-a5d5-f620e5b17b7b"

],

"sr0": [

"2019-01-14-14-57-19-65"

]

}

},

"ansible_devices": {

"loop0": {

"holdere": [],

"vert": "",

"lenker": {

"ids": [],

"etiketter": [],

"mestere": [],

"UUID": []

},

"modell": null,

"partisjoner": {},

"flytt": "0",

"rotasjons": "1",

"sas_address": null,

"sas_device_handle": null,

"scheduler_mode": "ingen",

"sektorer": "29704",

"sectorsize": "512",

"størrelse": "14,50 MB",

"support_discard": "4096",

"Leverandør": null,

"virtuell": 1

},

"loop1": {

"holdere": [],

"vert": "",

"lenker": {

"ids": [],

"etiketter": [],

"mestere": [],

"UUID": []

},

"modell": null,

"partisjoner": {},

"flytt": "0",

"rotasjons": "1",

"sas_address": null,

"sas_device_handle": null,

"scheduler_mode": "ingen",

"sektorer": "0",

"sectorsize": "512",

"størrelse": "0,00 byte",

"support_discard": "4096",

"Leverandør": null,

"virtuell": 1

},

}

Så det dreide seg om Ansible Ad-hoc-kommandoer. Forsøk å prøve disse kommandoene på ditt ansvarsfulle oppsett. Bruk disse kommandoene til å kjøre ansvarsfulle moduler uten å skrive noen Ansible spillbok for å utføre disse oppgavene. Slipp en kommentar hvis du har problemer med å kjøre disse kommandoene.

TAGS:

  • Ansible

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map