ansible devops codestyle
Hei! Ko toku ingoa
Ko tenei aratohu he huarahi ki te whakarite i nga taurangi i roto i te whakatakotoranga. Ko te tikanga tenei aratohu mo te hunga kua whai waahi ki o raatau pukapuka takaro me te hunga kua panui
- Ka kitea he taurangi i roto i te waehere, kaore e taea te mohio tonu he aha te kawenga;
- He maha nga mahi, me hono nga taurangi ki te uara kotahi, engari karekau e mahi;
- He uaua ki te whakamaarama ki etahi atu ka pehea te mahi a te arorau o nga taurangi kei roto i o pukapuka takaro
I pa ki a matou enei raruraru i runga i nga kaupapa i roto i to matou kamupene, na reira ka tae matou ki nga ture mo te hoahoa taurangi i roto i a matou pukapuka takaro, i etahi waahanga i whakatauhia enei raruraru.
Taurangi i roto i nga mahi
Ko te mahi he ahanoa motuhake o te punaha tuku. Pērā i tētahi ahanoa pūnaha, me whai atanga mo te taunekeneke me te toenga o te punaha. Ko taua atanga he taurangi mahi.
Me tango, hei tauira, te mahi api
, e whakauru ana i te tono Java ki runga i te tūmau. He aha nga taurangi kei a ia?
Ka taea te wehewehe i nga mahi rereke kia 2 nga momo i runga i te momo:
1. Свойства
a) независимые от среды
б) зависимые от среды
2. Связи
a) слушатели
б) запросы внутри системы
в) запросы в среду
āhuatanga taurangi he taurangi ka whakatau i te whanonga o tetahi mahi.
Taurangi Uiui - he taurangi enei e whakamahia ana te uara ki te tohu rauemi kei waho o te mahi.
Kai whakarongo taurangi - he taurangi enei e whakamahia ana te uara hei hanga taurangi tono.
I tetahi atu taha, ko te 1a, 2a, 2b he taurangi kaore i te whakawhirinaki ki te taiao (puoro, rauemi o waho, me etahi atu) ka taea te whakakii i nga uara taunoa i roto i nga mahi taunoa. Heoi, e kore e taea te whakaki i nga taurangi o te momo 1.b me te 2.c ki nga uara ke atu i te 'tauira', na te mea ka huri mai i te tuunga ki te tuunga i runga i te taiao.
kāhua waehere
- Me timata te ingoa taurangi ki te ingoa tūranga. Ma tenei ka ngawari ki te mohio a muri ake nei he aha te waahi o te taurangi me te aha te kawenga.
- I te wa e whakamahi ana i nga taurangi i roto i nga mahi, me tino whai koe i te maapono o te whakamaarama me te whakamahi i nga taurangi kua tautuhia i roto i te mahi ake, i roto ranei i nga mahi e whakawhirinaki ana te o naianei.
-
A ape i te whakamahi papakupu mo nga taurangi. Kaore e taea e Ansible te whakakore i nga uara takitahi i roto i te papakupu.
Tauira o te taurangi kino:
myrole_user: login: admin password: admin
I konei ko te takiuru te taurangi motuhake, ko te kupuhipa te taurangi whakawhirinaki. Engari
i te mea kua honoa ki roto i te papakupu, me tino tohu koe
I nga wa katoa. Ko te tino raruraru. He pai ake i tenei huarahi:myrole_user_login: admin myrole_user_password: admin
Nga taurangi kei roto i nga pukapuka whakaari
I te wa e whakahiato ana i te pukapuka takaro tuku (ka kiia i muri nei ko te pukapuka takaro), ka u matou ki te ture me tuu ki roto i tetahi putunga motuhake. He rite ano ki nga mahi: ia tangata kei roto i tana ake putunga git. Ma tenei ka mohio koe ko nga mahi me te pukapuka takaro he mea motuhake motuhake o te punaha tuku, a, ko nga huringa o tetahi mea kaore e pa ki te mahi o tetahi. Ka tutuki tenei ma te huri i nga uara taunoa o nga taurangi.
I te wa e whakahiato ana i te pukapuka takaro, hei whakarāpopoto, ka taea te whakakore i nga uara taunoa o nga taurangi mahi i nga waahi e rua: i nga taurangi pukapuka takaro me nga taurangi rarangi.
mydeploy # Каталог деплоя
├── deploy.yml # Плейбук деплоя
├── group_vars # Каталог переменных плейбука
│ ├── all.yml # Файл для переменных связи всей системы
│ └── myapi.yml # Файл переменных свойств группы myapi
└── inventories #
└── prod # Каталог окружения prod
├── prod.ini # Инвентори файл
└── group_vars # Каталог для переменных инвентори
└── myapi #
├── vars.yml # Средозависимые переменные группы myapi
└── vault.yml # Секреты (всегда средозависимы) *
Ko te rereketanga ko nga taurangi pukapuka takaro ka whakamahia i nga wa katoa ka karangahia nga pukapuka takaro kei te taumata kotahi ki tera. Ko te tikanga he pai enei taurangi mo te whakarereke i nga uara taunoa o nga taurangi motuhake-taiao. Engari, ka whakamahia noa nga taurangi rarangi mo tetahi taiao motuhake, he pai mo nga taurangi taiao-motuhake.
He mea nui kia mahara ko te kaupapa matua rereke e kore e taea e koe te takahi i nga taurangi i te tuatahi i roto i nga taurangi pukapuka purei katahi ka wehe ke i roto i te raarangi kotahi.
Ko te tikanga, i tenei wa, me whakatau mena ka whakawhirinaki te taurangi ki te taiao, kaore ranei ka tuu ki te waahi e tika ana.
Hei tauira, i roto i tetahi kaupapa, ko te taurangi te kawenga mo te whakaahei i te SSL he roa te whakawhirinaki ki te taiao, na te mea kaore e taea e matou te SSL mo nga take i tua atu i to maatau mana i tetahi o nga turanga. Whai muri i ta maatau whakatika tenei raru, ka noho motuhake te taiao, ka neke ki nga taurangi pukapuka takaro.
Taurangi Taonga mo nga Roopu
Kia whakawhänuihia ta tatou tauira i te Whakaahua 1 ma te taapiri i nga roopu 2 o nga kaitoro me tetahi tono Java rereke, engari he rereke nga tautuhinga.
Whakaarohia te ahua o te pukapuka takaro i tenei keehi:
- hosts: myapi
roles:
- api
- hosts: bbauth
roles:
- auth
- hosts: ghauth
roles:
- auth
E toru nga roopu kei roto i te pukapuka takaro, no reira ka tūtohu kia rite tonu te maha o nga konae roopu ki roto i nga taurangi rarangi ingoa group_vars me nga taurangi pukapuka takaro. Ko tetahi konae roopu i tenei keehi he whakaahuatanga mo tetahi waahanga o te tono i runga ake nei i roto i te pukapuka takaro. Ina whakatuwhera koe i tetahi konae roopu i roto i nga taurangi pukapuka purei, ka kite tonu koe i nga rereketanga katoa mai i te whanonga taunoa o nga mahi kua whakauruhia ki te roopu. I roto i nga taurangi rarangi ingoa: he rerekee te whanonga roopu mai i te turanga ki te tuunga.
Kāhua Waehere
- Ngana kia kaua e whakamahi i nga taurangi host_vars, na te mea kaore i te whakaahua i te punaha, engari he keehi motuhake anake, ka puta nga patai a muri ake nei: "He aha tenei kaihautu rereke i era atu?", Ko te whakautu kaore i te ngawari tonu te kimi.
Taurangi Whakawhitiwhiti
Heoi, koira te tikanga o nga taurangi rawa, engari me pehea nga taurangi korero?
Ko to raatau rereke ko te mea kia rite te tikanga i roto i nga roopu rereke.
I te tuatahi ko
hostvars[groups['bbauth'][0]]['auth_bind_port']
, otira whakakahore tonu ratou
na te mea he ngoikoretanga. Tuatahi, bulkiness. Tuarua, te ti'aturi i runga i te kaihautu motuhake o te roopu. Tuatoru, i mua i te tiimata o te tuku, he mea tika ki te kohi korero mai i nga kaihautu katoa mena kaore matou e hiahia kia puta he hapa o te taurangi kaore i tautuhia.
Ko te mutunga, i whakatauhia kia whakamahia nga taurangi whakawhitiwhiti.
Taurangi Whakawhitiwhiti - he taurangi enei no te pukapuka purei me te hiahia ki te hono i nga taonga punaha.
Ka nohoia nga taurangi whakawhitiwhiti ki nga taurangi punaha whanui group_vars/all/vars
ka hangaia ma te tango i nga taurangi whakarongo katoa mai i ia roopu, me te taapiri i te ingoa o te roopu i tangohia ai te kaiwhakarongo ki te timatanga o te taurangi.
Ma tenei ka whakarite kia taurite me te kore inaki o nga ingoa.
Me ngana ki te here i nga taurangi mai i te tauira i runga ake nei:
Me whakaaro tatou he taurangi kei te whakawhirinaki tetahi ki tetahi:
# roles/api/defaults:
# Переменная запроса
api_auth1_address: "http://example.com:80"
api_auth2_address: "http://example2.com:80"
# roles/auth/defaults:
# Переменная слушатель
auth_bind_port: "20000"
Me whakauru ki nga taurangi noa group_vars/all/vars
te hunga whakarongo katoa, me te taapiri i te ingoa o te roopu ki te taitara:
# group_vars/all/vars
bbauth_auth_bind_port: "20000"
ghauth_auth_bind_port: "30000"
# group_vars/bbauth/vars
auth_bind_port: "{{ bbauth_auth_bind_port }}"
# group_vars/ghauth/vars
auth_bind_port: "{{ ghauth_auth_bind_port }}"
# group_vars/myapi/vars
api_auth1_address: "http://{{ bbauth_auth_service_name }}:{{ bbauth_auth_bind_port }}"
api_auth2_address: "http://{{ ghauth_auth_service_name }}:{{ ghauth_auth_bind_port }}"
Na, ma te whakarereke i te uara o te hono, ka tino mohio ka haere te tono ki te waahi ano kei reira te tauranga.
Kāhua Waehere
- I te mea he rereke nga mahi a nga roopu me nga roopu, me whai ingoa rereke, katahi ka tohu tika nga taurangi hono kei roto ratou i tetahi roopu o nga kaitoro, kaore he mahi i roto i te punaha.
Ko nga konae e whakawhirinaki ana ki te taiao
Ka whakamahi pea nga mahi i nga konae rereke mai i te taiao ki tera taiao.
Ko tetahi tauira o aua konae ko nga tiwhikete SSL. Whakaorangia ki te ahua kuputuhi
i roto i te taurangi kaore i te tino watea. Engari he watea ki te penapena i te ara ki roto i tetahi taurangi.
Hei tauira, ka whakamahia e matou te taurangi api_ssl_key_file: "/path/to/file"
.
I te mea ka kitea ka huri te tiwhikete matua mai i te taiao ki te taiao, he taurangi-a-taiao tenei, ko te tikanga me noho ki roto i te konae
group_vars/myapi/vars
rārangi o ngā taurangi, me te uara 'hei tauira'.
Ko te huarahi tino watea i tenei keehi ko te whakatakoto i te konae matua ki roto i te putunga pukapuka purei i te taha o te huarahi
files/prod/certs/myapi.key
, ko te uara o te taurangi ko:
api_ssl_key_file: "prod/certs/myapi.key"
. Ko te waatea kei roto i te meka ko nga tangata e haangai ana ki te tuku i te punaha ki tetahi tuunga motuhake kei a raatau ake waahi kua whakatapua ki te putunga hei penapena i a raatau konae. I te wa ano, ka taea tonu te tautuhi i te huarahi tino ki te tiwhikete i runga i te tūmau, mena ka tukuna nga tiwhikete e tetahi atu punaha.
He maha nga turanga i roto i te taiao kotahi
I te nuinga o nga wa ka hiahia ki te whakatakoto i etahi tuunga tata rite tonu ki te taiao kotahi me nga rereketanga iti. I roto i tenei take, ka wehewehea e matou nga taurangi-a-taiao ki era karekau e huri i roto i tenei taiao me era ka huri. Na ka whakawhiti tika matou i enei mea ki roto i nga konae raarangi. Whai muri i tenei whawhe, ka taea te hanga i tetahi atu rarangi ingoa ki te raarangi taiao.
Ka whakamahia ano e ia te rarangi roopu_vars, ka taea hoki te tautuhi ano i etahi taurangi mo ia ake.
Ko te hanganga whaiaronga whakamutunga mo te kaupapa horahanga:
mydeploy # Каталог деплоя
├── deploy.yml # Плейбук деплоя
├── files # Каталог для файлов деплоя
│ ├── prod # Католог для средозависимых файлов стенда prod
│ │ └── certs #
│ │ └── myapi.key #
│ └── test1 # Каталог для средозависимых файлов стенда test1
├── group_vars # Каталог переменных плейбука
│ ├── all.yml # Файл для переменных связи всей системы
│ ├── myapi.yml # Файл переменных свойств группы myapi
│ ├── bbauth.yml #
│ └── ghauth.yml #
└── inventories #
├── prod # Каталог окружения prod
│ ├── group_vars # Каталог для переменных инвентори
│ │ ├── myapi #
│ │ │ ├── vars.yml # Средозависимые переменные группы myapi
│ │ │ └── vault.yml # Секреты (всегда средозависимы)
│ │ ├── bbauth #
│ │ │ ├── vars.yml #
│ │ │ └── vault.yml #
│ │ └── ghauth #
│ │ ├── vars.yml #
│ │ └── vault.yml #
│ └── prod.ini # Инвентори стенда prod
└── test # Каталог окружения test
├── group_vars #
│ ├── myapi #
│ │ ├── vars.yml #
│ │ └── vault.yml #
│ ├── bbauth #
│ │ ├── vars.yml #
│ │ └── vault.yml #
│ └── ghauth #
│ ├── vars.yml #
│ └── vault.yml #
├── test1.ini # Инвентори стенда test1 в среде test
└── test2.ini # Инвентори стенда test2 в среде test
Te whakarapopototanga
Whai muri i te whakariterite i nga taurangi kia rite ki te tuhinga: kei ia kōnae taurangi te kawenga mo tetahi mahi motuhake. A, i te mea he mahi etahi o te konae, ka taea te tautapa ki tetahi tangata e tika ana mo ia konae. Hei tauira, ko te kaiwhakawhanake o te tukunga punaha te kawenga mo te whakaki tika i nga taurangi pukapuka takaro, ko te kaiwhakahaere kei te whakaahuahia tona turanga i roto i te raarangi te kawenga tika mo te whakakii i te raarangi o nga taurangi.
Ka noho nga turanga ki a raatau ake waahanga whanaketanga me o raatau ake atanga, ka taea e te kaiwhakawhanake mahi te whakawhanake i nga kaha, kaua ki te whakarite i te mahi ki te punaha. Ko tenei raru e pa ana ki nga mahi noa mo nga punaha katoa i roto i te kaupapa whakatairanga.
Ko nga kaiwhakahaere o te punaha kaore e hiahia ki te mohio ki te waehere whakaurunga. Ko nga mea katoa e hiahiatia ana mo te tuku angitu ko te whakakii i nga konae o nga taurangi e whakawhirinaki ana ki te taiao.
Tuhinga
kaituhi
Kalyuzhny Denis Alexandrovich
Source: will.com