!!! Разработка сервиса локально, в составе Kubernetes !!!
* Настройка окружения
* * Должен быть доступ до кластера через VPN
* * На локальном ПК установлен kubectl ( https://kubernetes.io/docs/tasks/tools/install-kubectl/ )
* * Получить config-файл для kubectl (скопировать в ~/.kube/config)
* * На локальном ПК установлен telepresence ( https://www.telepresence.io/reference/install )
* * Должен быть установлен Docker
* * Необходим доступ уровня reporter или выше к репозиторию https://gitlab.site.com/group/app
* * Необходимо залогинится в registry с логином/паролем от GitLab (делается один раз):
#########################################################################
docker login registry.site.com
#########################################################################
* Запуск окружения
#########################################################################
telepresence --namespace {{ .Values.global.env }} --swap-deployment {{ .Chart.Name }}:backend --mount=/tmp/app --docker-run -v `pwd`:/app -v /tmp/app/var/run/secrets:/var/run/secrets -ti registry.site.com/group/app/backend:v8
#########################################################################
که موږ د غوښتنلیک سره کانټینر ته ورسوو، نو د ګمارلو پرمهال د هیلم لخوا لیږدول شوي ټول ENV تغیرات به موږ ته شتون ولري، او ټول خدمتونه به هم شتون ولري. ټول هغه څه چې پاتې دي دا دي چې ستاسو په غوره IDE کې کوډ ایډیټ کړئ او له پایلې څخه خوند واخلئ.
د کار په پای کې ، تاسو اړتیا لرئ هغه ټرمینل وتړئ چیرې چې ټیلی پریزنس روان دی (د Ctrl+C سره ناسته پای ته ورسوئ) - د ډاکر کانټینرونه به په ډیسټاپ کې ودریږي ، او په کوبرنیټس کې به هرڅه خپل لومړني حالت ته راستون شي. ټول هغه څه چې پاتې دي هغه ژمنې دي، MR صادر کړئ او بیاکتنې/ضمې/... (ستاسو د کاري جریان پورې اړه لري).
که موږ نه غواړو غوښتنلیک په ډاکر کانټینر کې پرمخ بوځو - د مثال په توګه ، موږ په PHP کې نه ، مګر په Go کې وده کوو ، او بیا هم دا په ځایی ډول جوړوو - د ټیلیپریسینس پیل کول به خورا ساده وي:
د اختیار پرته د Telepresence په لاره اچولو وروسته --docker-run ټول چاپیریال متغیرونه به په اوسني ټرمینل کې شتون ولري، نو غوښتنلیک باید په دې کې پیل شي.
NB: کله چې د مثال په توګه PHP کاروئ، تاسو باید په یاد ولرئ چې د پراختیا لپاره مختلف op_cache، apc او نور سرعت کونکي غیر فعال کړئ - که نه نو د کوډ ترمیم به مطلوب پایلې ته ونه رسیږي.
پایلې
د Kubernetes سره محلي پراختیا یوه ستونزه ده چې حل یې د دې پلیټ فارم د خپریدو په تناسب وده کوي. د پراختیا کونکو (زموږ د پیرودونکو څخه) اړونده غوښتنې ترلاسه کول ، موږ دوی د لومړي موجود وسیلو سره حل کول پیل کړل ، کوم چې په هرصورت ، د اوږدې مودې لپاره ځان ثابت نه کړ. خوشبختانه ، دا نه یوازې اوس او نه یوازې موږ ته څرګنده شوې ، نو لا دمخه په نړۍ کې ډیر مناسب وسیلې څرګندې شوې ، او ټیلیپریسنس د دوی ترټولو مشهور دی (په لاره کې ، دلته هم شتون لري. سکافولډ د ګوګل څخه). زموږ د دې کارولو تجربه لاهم عالي نه ده ، مګر دا دمخه موږ ته دلیل راکوي چې زموږ "په پلورنځي کې همکارانو" ته یې وړاندیز وکړو - هڅه وکړئ!