Ինչպես տեղադրել Chef Infra սերվերը Debian 12-ում
Այս էջում
- Նախադրյալներ
- FQDN-ի կարգավորում
Սերվերների միջև ժամանակի համաժամացում
- Chrony-ի կարգավորումը խոհարարի սերվերում
- Շեֆ-խոհարարի աշխատակայանի և հաճախորդի վրա
Խոհարարի սերվերի տեղադրում և կարգավորում
Chef Workstation-ի տեղադրում և կարգավորում
Chef-ը Debian Linux-ի հզոր ավտոմատացման ծրագիր է, որը նախատեսված է լայնածավալ սերվերային միջավայրերը կառավարելու և կազմաձևելու համար: Այն հեշտացնում է հավելվածների և ենթակառուցվածքների տեղակայումը, կազմաձևումը և կառավարումը` օգտագործելով կոդ, խթանելով ենթակառուցվածքը որպես կոդի (IaC) սկզբունքներ: Խոհարարը օգտագործում է տիրույթի հատուկ լեզու (DSL), որը գրված է Ruby-ով, որպեսզի սահմանի «բաղադրատոմսեր» և «խոհարարական գրքեր», որոնք նշում են, թե ինչպես պետք է կազմաձևվեն սերվերները: Սա թույլ է տալիս համակարգի ադմինիստրատորներին և DevOps թիմերին ավտոմատացնել կրկնվող առաջադրանքները, ապահովել հետևողականություն տարբեր միջավայրերում և հեշտությամբ մասշտաբավորել ենթակառուցվածքը: Խոհարարը աջակցում է ռեսուրսների և ինտեգրումների լայն շրջանակ՝ այն դարձնելով բազմակողմանի գործիք՝ Debian, Ubuntu Linux և այլ հարթակներում բարդ միջավայրերը կառավարելու համար:
Այս ձեռնարկում մենք քայլ առ քայլ ցույց կտանք ձեզ, թե ինչպես տեղադրել Chef Server-ը և Chef Workstation-ը Debian 12 սերվերների վրա:
Նախադրյալներ
Այս ուղեցույցը լրացնելու համար համոզվեք, որ ունեք հետևյալը.
- 3 Debian 12 սերվեր:
- Ոչ արմատական օգտվող, ադմինիստրատորի արտոնություններով:
FQDN-ի կարգավորում
Այս առաջին քայլում դուք կկազմաձևեք FQDN-ը (Լիովին որակավորված տիրույթի անունը) խոհարարի սերվերի, խոհարարի աշխատակայանի և հաճախորդի համար:
Գործարկեք հետևյալ hostnamectl հրամանը՝ յուրաքանչյուր սերվերի համար fqdn կարգավորելու համար:
sudo hostnamectl set-hostname chef.howtoforge.local
sudo hostnamectl set-hostname workstation.howtoforge.local
sudo hostnamectl set-hostname client.howtoforge.local
Բացեք /etc/hosts ֆայլը յուրաքանչյուր սերվերի վրա՝ օգտագործելով հետևյալ նանո խմբագրիչի հրամանը:
sudo nano /etc/hosts
Տեղադրեք հետևյալ կոնֆիգուրացիան և անպայման փոխեք մանրամասն IP հասցեն, հոսթի անունը և fqdn-ը ձեր կարգավորումներով:
192.168.5.15 chef.howtoforge.local chef
192.168.5.20 workstation.howtoforge.local workstation
192.168.5.21 client.howtoforge.local client
Ավարտելուց հետո պահեք և փակեք ֆայլը:
Այժմ գործարկեք ստորև նշված հրամանը՝ համոզվելու համար, որ յուրաքանչյուր fqdn-ն ուղղված է սերվերի ճիշտ IP հասցեին:
sudo hostname -f
ping -c3 chef.howtoforge.local
Սերվերների միջև ժամանակի համաժամացում
FQDN-ը կարգավորելուց հետո դուք կհամոզվեք, որ յուրաքանչյուր սերվերի ժամանակի համաժամանակացում կա: Այս դեպքում, դուք կտեղադրեք NTP սերվերը Chef Server-ի վրա և կկարգավորեք Chef-ի աշխատանքային կայանը և հաճախորդը, որպեսզի միանան դրան:
Chrony-ի կարգավորումը խոհարարի սերվերում
Chef սերվերի վրա գործարկեք հետևյալ հրամանը՝ պահեստի փաթեթի ինդեքսը թարմացնելու և Chrony փաթեթը տեղադրելու համար։
sudo apt update
sudo apt install chrony -y
Chrony-ը տեղադրելուց հետո բացեք ֆայլը /etc/chrony/chrony.conf՝ օգտագործելով հետևյալ նանո խմբագրիչի հրամանը:
sudo nano /etc/chrony/chrony.conf
Տեղադրեք հետևյալ կոնֆիգուրացիան՝ լռելյայն NTP սերվերը սահմանելու համար: Համոզվեք, որ ընտրել եք ձեր սերվերի մոտակա գտնվելու վայրը, մանրամասների համար ստուգեք ntp.org կայքը:
Բացի այդ, դուք Chrony-ին կկարգավորեք Chef սերվերում որպես NTP սերվեր ինչպես Chef-ի աշխատակայանի, այնպես էլ հաճախորդների համար:
pool 0.nl.pool.ntp.org iburst
pool 1.nl.pool.ntp.org iburst
pool 2.nl.pool.ntp.org iburst
pool 3.nl.pool.ntp.org iburst
allow 192.168.5.0/24
Ավարտելուց հետո պահեք և փակեք ֆայլը:
Հաջորդը, գործարկեք հետևյալ հրամանը՝ լռելյայն ժամային գոտին կարգավորելու և NTP-ն ակտիվացնելու համար:
sudo timedatectl set-timezone Europe/Amsterdam
sudo timedatectl set-ntp true
Այնուհետև վերագործարկեք chrony ծառայությունը՝ փոփոխությունները կիրառելու համար:
sudo systemctl restart chrony
Վերջապես, ստուգեք NTP աղբյուրը, օգտագործելով ստորև նշված հրամանը:
chronyc sources
Դուք պետք է ստանաք հետևյալ արդյունքը.
Շեֆ-խոհարարի աշխատակայանի և հաճախորդի վրա
Այժմ տեղափոխվեք Chef-ի աշխատանքային կայան և հաճախորդի մեքենա: Այնուհետև գործարկեք հետևյալ հրամանը՝ պահեստը թարմացնելու և Chrnoy-ը երկու սերվերների վրա տեղադրելու համար։
sudo apt update
sudo apt install chrony -y
Դրանից հետո փոփոխեք Chrony կոնֆիգուրացիան /etc/chrony/chrony.conf՝ օգտագործելով հետևյալ նանո խմբագրիչի հրամանը:
sudo nano /etc/chrony/chrony.conf
Մեկնաբանեք լռելյայն NTP աղբյուրը՝ այն անջատելու համար, այնուհետև մուտքագրեք Chef սերվերի IP հասցեն որպես NTP սերվեր, ինչպես հետևյալը:
# default chrony
server 192.168.5.15 iburst
Ավարտելուց հետո պահեք և փակեք ֆայլը:
Հաջորդը, գործարկեք հետևյալ հրամանը՝ լռելյայն ժամային գոտին կարգավորելու և NTP-ն ակտիվացնելու համար:
sudo timedatectl set-timezone Europe/Amsterdam
sudo timedatectl set-ntp true
Այնուհետև վերագործարկեք Chrony ծառայությունը՝ ձեր փոփոխությունները կիրառելու համար:
sudo systemctl restart chrony
Վերջապես, ստուգեք NTP աղբյուրները ինչպես Chef-ի աշխատակայանում, այնպես էլ հաճախորդի վրա՝ օգտագործելով հետևյալ հրամանը:
chronyc sources
Դուք պետք է տեսնեք, որ ինչպես Chef-ի աշխատանքային կայանի, այնպես էլ հաճախորդի համար լռելյայն NTP աղբյուրը Chef սերվերն է, որն ունի 192.168.5.15 IP հասցե:
Խոհարարի սերվերի տեղադրում և կարգավորում
Այժմ, երբ դուք կարգավորել եք FQDN-ը և ժամանակի համաժամացումը սերվերների միջև, դուք պատրաստ եք տեղադրել Chef-ը: Նախ, դուք կտեղադրեք և կարգավորեք Chef Server-ը:
Chef Server-ը խոհարարի կենտրոնական էկոհամակարգ է, որը միացնում է յուրաքանչյուր մաս, այնպես որ նախ պետք է այն կարգավորել: Այս դեպքում մենք կօգտագործենք Chef Server-ը 8 ԳԲ օպերատիվ հիշողությամբ:
Խոհարարի սերվերի տեղադրում DEB-ի միջոցով
Տեղափոխեք խոհարարի սերվեր և գործարկեք ստորև նշված հրամանը, որպեսզի ներբեռնեք Chef սերվերի փաթեթը: Այս օրինակում դուք կօգտագործեք Chef 15-ը:
VERSION="15.7.0"
wget https://packages.chef.io/files/stable/chef-server/${VERSION}/ubuntu/22.04/chef-server-core_${VERSION}-1_amd64.deb
Այժմ տեղադրեք Chef սերվերը .deb ֆայլի միջոցով՝ օգտագործելով ստորև նշված հրամանը: Տեղադրումը կտևի մի քանի րոպե:
sudo apt install ./chef-server-core_*.deb
Տեղադրումն ավարտվելուց հետո դուք պետք է ստանաք «Շնորհակալություն Chef Infra Server-ը տեղադրելու համար» հաստատումը:
Հաջորդը, գործարկեք chef-server-ctl հրամանը ստորև՝ ձեր Chef Server-ի տեղադրումը վերակազմավորելու համար:
sudo chef-server-ctl reconfigure
Երբ հարցնում են, մուտքագրեք Y՝ խոհարարի արտոնագիրը հաստատելու համար:
Շեֆ-սերվերի սկզբնավորումը կսկսվի: Ավարտելուց հետո դուք պետք է ստանաք հաստատում, օրինակ՝ «Chef Infra Server Reconfigured»:
Օգտագործողի և կազմակերպության կազմաձևում
Այժմ, երբ դուք վերակազմավորել եք «Chef Server»-ը, դուք կստեղծեք օգտվող և կազմակերպություն ձեր Chef Server-ի տեղադրման վրա:
Ստեղծեք նոր գրացուցակ ~/.chef՝ օգտագործելով հետևյալ հրամանը:
mkdir -p ~/.chef
Այնուհետև ստեղծեք խոհարարի նոր օգտվող՝ օգտագործելով հետևյալ հրամանը: Այս օրինակում մենք կստեղծենք նոր օգտվող alice՝ գաղտնաբառով, և TLS վկայագիրը կպահվի ~/.chef/alice.pem հասցեում:
sudo chef-server-ctl user-create alice Alice Wonderland [email 'password' --filename ~/.chef/alice.pem
Այժմ ստեղծեք նոր կազմակերպություն՝ օգտագործելով ստորև նշված հրամանը: Համոզվեք, որ փոխում եք կազմակերպության անվանման մանրամասները, կապված օգտվողին և TLS վկայագրի ուղին:
sudo chef-server-ctl org-create hworgz 'HW Corp, Inc.' --association_user alice --filename ~/.chef/hworgz-validator.pem
Ամեն ինչ ավարտվելուց հետո ստուգեք ցուցակի օգտագործողն ու կազմակերպությունը Chef սերվերում՝ օգտագործելով ստորև նշված հրամանը:
sudo chef-server-ctl user-list
sudo chef-server-ctl org-list
Եթե ամեն ինչ լավ է ընթանում, դուք պետք է տեսնեք Chef Server-ը alice օգտագործողի և hworgz կազմակերպության հետ, ինչպես հետևյալը:
Բացի այդ, դուք կարող եք նաև ստուգել ստեղծված TLS վկայականները՝ օգտագործելով ստորև նշված հրամանը: Դուք պետք է տեսնեք alice.pem և hworgz-validator.pem վկայագրերը:
ls ~/.chef/
Այս պահին դուք ավարտել եք Chef Server-ի տեղադրումը:
Chef Workstation-ի տեղադրում և կարգավորում
Chef Server-ը տեղադրելուց հետո դուք կտեղադրեք Chef-ի աշխատանքային կայանը: Խոհարարի աշխատանքային կայանը հանգույց է, որը ադմինիստրատորները/օգտատերերն օգտագործում են խոհարարական գրքեր և բաղադրատոմսեր ստեղծելու և փորձարկելու համար:
Այս օրինակում դուք կտեղադրեք Chef աշխատանքային կայանը Debian 12 սերվերի վրա՝ 2 ԳԲ օպերատիվ հիշողությամբ:
Chef Workstation-ի տեղադրում DEB-ի միջոցով
Տեղափոխեք Chef-ի աշխատանքային կայան և գործարկեք ստորև նշված հրամանը՝ Chef-ի աշխատանքային կայանի փաթեթը ներբեռնելու համար՝ օգտագործելով ստորև նշված wget հրամանը: Այս դեպքում դուք կտեղադրեք Chef Workstation 23:
VERSION="23.7.1042"
wget https://packages.chef.io/files/stable/chef-workstation/${VERSION}/debian/11/chef-workstation_${VERSION}-1_amd64.deb
Ներբեռնվելուց հետո գործարկեք հետևյալ հրամանը՝ «Chef» աշխատանքային կայանի փաթեթը ձեր համակարգում տեղադրելու համար:
sudo apt install ./chef-workstation_*.deb
Ավարտելուց հետո դուք պետք է ստանաք հաստատումը «Շնորհակալություն Chef Workstation-ը տեղադրելու համար»:
Ի վերջո, գործարկեք ստորև նշված հրամանը, ստուգելու համար Chef տարբերակը:
chef -v
Հետևյալ արդյունքը հաստատում է, որ դուք տեղադրել եք Chef 23 ձեր Debian սերվերի վրա:
Խոհարարի աշխատանքային կայանի կարգավորում
Այժմ, երբ դուք տեղադրել եք Chef-ի աշխատանքային կայանը, հաջորդիվ կկարգավորեք ձեր տեղադրումը:
Նախ, ստեղծեք նոր SSH բանալի՝ օգտագործելով հետևյալ հրամանը. Մուտքագրեք, երբ ձեզ հուշում են, որ բանալիի համար ստեղծեք անցաբառ:
ssh-keygen -t ed25519
Այժմ գործարկեք ստորև նշված հրամանը՝ բանալին խոհարարի սերվեր բեռնելու համար chef.howtoforge.local: Սա կօգտագործվի շեֆ-սերվերից դեպի աշխատանքային կայան TLS վկայականները ստանալու համար:
ssh-copy-id [email
Մուտքագրեք ձեր գաղտնաբառը, երբ ձեզ հարցնեն:
Հաջորդը, ստեղծեք նոր խոհարարի ռեպո՝ օգտագործելով ստորև նշված հրամանը: Այս օրինակում դուք կստեղծեք նոր Chef repo test-repo:
chef generate repo test-repo
Այժմ ստեղծեք նոր գրացուցակ ~/test-repo/.chef և տեղափոխվեք այնտեղ:
mkdir ~/test-repo/.chef; cd ~/test-repo/.chef
Պատճենեք TLS վկայագրերը Chef Server-ից դեպի Workstation ընթացիկ գրացուցակում, օգտագործելով ստորև նշված հրամանը:
scp [email :~/.chef/*.pem .
Ավարտելուց հետո ստուգեք ֆայլերի ցանկը ~/test-repo/.chef գրացուցակում:
ls ~/test-repo/.chef/
Համոզվեք, որ ձեր TLS վկայականները հասանելի են Chef-ի աշխատանքային կայանի սերվերում:
Կազմաձևում է Knife Utility - միջերեսը խոհարարի սերվերին
Այժմ, երբ տեղադրեցիք Chef-ի աշխատանքային կայանը, դուք կկազմաձևեք Դանակը ձեր Chef-ի աշխատակայանում: Դանակը հրամանի տող գործիք է շեֆ-սերվերի հետ շփվելու համար, որը թույլ է տալիս կառավարել հանգույցները, խոհարարական գրքերը, բաղադրատոմսերը, դերերը և միջավայրերը:
Chef աշխատանքային կայանի մեքենայի վրա տեղափոխեք ~/test-repo/.chef գրացուցակ և ստեղծեք նոր ֆայլ knife.rb՝ օգտագործելով հետևյալ նանո խմբագրիչի հրամանը:
cd ~/test-repo/.chef
nano knife.rb
Տեղադրեք հետևյալ Ruby սկրիպտը և համոզվեք, որ փոխեք օգտվողի, կազմակերպությունների, TLS վկայագրի ֆայլերի և Chef Server URL-ի տվյալները:
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name 'alice'
client_key "alice.pem"
validation_client_name 'hworgz-validator'
validation_key "hworgz-validator.pem"
chef_server_url 'https://chef.howtoforge.local/organizations/hworgz'
cache_type 'BasicFile'
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
cookbook_path ["#{current_dir}/../cookbooks"]
Ավարտելուց հետո պահեք և փակեք ֆայլը:
Այժմ տեղափոխվեք ~/test-repo գրացուցակ և ստացեք վկայականներ Chef Server-ից՝ օգտագործելով ստորև բերված դանակի հրամանը:
cd ~/test-repo
knife ssl fetch
Ավարտելուց հետո դուք պետք է ստանաք հետևյալ արդյունքը.
Այսուհետ, դուք կարող եք օգտագործել դանակը շփվելու Chef Server-ի և bootstrap հաճախորդի մեքենայի հետ:
knife client list
Հաճախորդի/հանգույցի ուժեղացում՝ Chef Workstation-ից
Հետևյալ բաժնում դուք կսովորեք, թե ինչպես օգտագործել Դանակը 192.168.5.21 հանգույցը ավտոմատ կերպով SSH-ի միջոցով բեռնաթափելու համար Chef-ի աշխատանքային կայանից:
Նախ, անցեք ~/test-repo/.chef գրացուցակ:
cd ~/test-repo/.chef
Գործարկեք ստորև բերված դանակի հրամանը՝ հաճախորդը բեռնաթափելու համար 192.168.5.21: Համոզվեք, որ փոխեք օգտվողի արմատը և գաղտնաբառը գաղտնաբառը ձեր տեղեկություններով:
Այս օրինակում դուք կավելացնեք 192.168.5.21 հանգույցը և անվանեք այն որպես հաճախորդ:
knife bootstrap 192.168.5.21 -U root -P password --node-name client
Մուտքագրեք Y՝ գործընթացը շարունակելու և շարունակելու համար:
Ավարտելուց հետո դուք պետք է ստանաք «Ինֆրա փուլն ավարտված է» հաստատումը:
Այժմ ստուգեք Chef միջավայրում առկա հանգույցների ցանկը՝ օգտագործելով ստորև նշված հրամանը: Եթե ամեն ինչ լավ է ընթանում, դուք պետք է տեսնեք, որ հաճախորդի հանգույցը հասանելի է:
knife node list
Այնուհետև ստուգեք հաճախորդի հանգույցի մանրամասները՝ օգտագործելով ստորև բերված դանակի հրամանը:
knife node show client
Հետևյալ ելքում դուք կարող եք տեսնել հաճախորդի հանգույցը Debian 12 մեքենան FQDN client.howtoforge.local-ով:
Վերջապես, այժմ կարող եք կամայական հրամաններ գործարկել հաճախորդի հանգույցի վրա ստորև բերված դանակի հրամանի միջոցով:
knife ssh "client" "whoami;top" -u alice
Մուտքագրեք խոհարարի գաղտնաբառը alice-ի համար, երբ ձեզ հուշեն: Եթե հրամանը հաջողված է, դուք պետք է ստանաք հետևյալը.
Եզրակացություն
Շնորհավորում եմ: Դուք այժմ ավարտել եք Debian 12 սերվերների վրա Chef Server-ի և Workstation-ի տեղադրումը: Դուք նաև սովորել եք օգտագործել Knife հրամանի տող գործիքը՝ SSH-ի միջոցով հաճախորդի հանգույցները բեռնելու համար: Հիմա. Դուք կարող եք ավելացնել նոր Client հանգույցներ և ստեղծել խոհարարական գրքեր և բաղադրատոմսեր հավելվածների տեղադրման համար: