เบเบงเบเปเบฎเบปเบฒเบเบทเบเบเบฒเบกเบซเบผเบฒเบเบเบถเปเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ microservices เปเบ Kubernetes. เบเบฑเบเบเบฑเบเบเบฐเบเบฒ, เปเบเบเบชเบฐเปเบเบฒเบฐเบเบฒเบชเบฒเบเบตเปเบเบทเบเบเบตเบเบงเบฒเบก, เบเปเบญเบเบเบฒเบเปเบเปเปเบเบฅเบฐเบซเบฑเบเปเบงเปเบ IDE เบเบตเปเบเบงเบเปเบเบปเบฒเบกเบฑเบเปเบฅเบฐเปเบเบดเปเบเบเบปเบเปเบเปเบฎเบฑเบเปเบเบเบเปเปเบเปเบญเบเบฅเปเบเปเบฒเบเบฒเบเบเปเปเบชเปเบฒเบ / เบเปเบฒเปเบเป - เบเบฝเบเปเบเปเบเบปเบเบเบธเปเบก F5. เปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบตเปเบกเบฑเบเบกเบฒเบเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ monolithic, เบกเบฑเบเบเบฝเบเบเปเบเบตเปเบเบฐเบเบดเบเบเบฑเปเบเบเบฒเบเบเปเปเบกเบนเบเปเบฅเบฐเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเปเปเบเบเปเบญเบเบเบดเปเบ (เปเบ Docker, VirtualBox ... ), เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเบเบตเบกเบตเบเบงเบฒเบกเบชเบธเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ. เบเปเบงเบเบเบฒเบเบเบฑเบเบเบญเบ monoliths เปเบเบปเปเบฒเปเบเปเบ microservices เปเบฅเบฐเบเบฒเบเบกเบฒเปเบเบดเบเบเบญเบ Kubernetes, เบเปเบงเบเบฎเบนเบเบฅเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเปเบเบดเปเบเบเบฑเบเปเบฅเบฐเบเบฑเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบ.
เปเบเบเปเบงเบเปเบงเบฅเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฐเบเบฒเบเบฒเบกเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เปเบฅเบฐเบเปเบญเบเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบฒเบเปเบเปเปเบเบเบตเปเบชเบฐเบชเบปเบกเบซเบผเบทเบเบฝเบเปเบเป "เปเบกเปเบเปเบญเบเปเบเบปเปเบฒ".
1. เปเบกเปเบเปเบญเบ
IDE เบชเปเบงเบเปเบซเบเปเบกเบตเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเปเปเบเบฅเบฐเบซเบฑเบเปเบเบเบเบปเบเปเบเปเบเบตเบเปเบงเบตเปเบเบเปเบเป FTP/SFTP. เปเบชเบฑเปเบเบเบฒเบเบเบตเปเปเบกเปเบเบเบฐเปเบเปเบเบซเบผเบฒเบเปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบตเบเบฑเบเบชเบดเบเปเบเบเบตเปเบเบฐเบเปเบฒเปเบเปเบกเบฑเบ. เปเบเบเปเบเบทเปเบญเปเบเปเปเบฅเปเบงเบเบญเบเบกเบฑเบเบเบปเปเบกเบฅเบปเบเปเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:
- เปเบเบเบฑเบเบเบญเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเบฑเบเบเบฐเบเบฒ (dev/review), เบเปเบญเบเบเบฑเบเบเบธเปเบเบตเปเบกเปเบเบตเบกเปเบกเปเบเปเบเบตเบเบเบปเบงเบเปเบงเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ SSH เปเบฅเบฐเบชเบปเปเบเบเปเปเบฅเบฐเบซเบฑเบ SSH เบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบญเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบนเปเบเบตเปเบเบฐเบเบฐเบเบดเบเบฑเบ / เบเปเบฒเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ.
- เปเบเบเบฑเปเบเบเบญเบ init (เบเบฒเบเปเบเบเบฑเบเบเบธ
prepare-app
) เปเบญเบเบฅเบฐเบซเบฑเบเปเบemptyDir
เปเบเบทเปเบญเปเบซเปเบกเบตเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบฅเบฐเบซเบฑเบเบเบฒเบเบเบปเบงเบเบฑเบเบเบธเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ เปเบฅเบฐเปเบเบตเบเปเบงเบต SSH.
เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบเบเบญเบเปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเปเบเปเบเบตเบเบถเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบชเบฐเบซเบเบญเบเบเบดเปเบเบชเปเบงเบเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒ YAML เบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบ Kubernetes.
เบเบฒเบเบเบฑเปเบเบเปเบฒ
1.1. values.yaml
ssh_pub_key:
vasya.pupkin: <ssh public key in base64>
เบกเบฑเบเปเบเบฑเบ vasya.pupkin
เปเบกเปเบเบเปเบฒเบเบญเบเบเบปเบงเปเบ ${GITLAB_USER_LOGIN}
.
1.2. deployment.yaml
...
{{ if eq .Values.global.debug "yes" }}
volumes:
- name: ssh-pub-key
secret:
defaultMode: 0600
secretName: {{ .Chart.Name }}-ssh-pub-key
- name: app-data
emptyDir: {}
initContainers:
- name: prepare-app
{{ tuple "backend" . | include "werf_container_image" | indent 8 }}
volumeMounts:
- name: app-data
mountPath: /app-data
command: ["bash", "-c", "cp -ar /app/* /app-data/" ]
{{ end }}
containers:
{{ if eq .Values.global.debug "yes" }}
- name: ssh
image: corbinu/ssh-server
volumeMounts:
- name: ssh-pub-key
readOnly: true
mountPath: /root/.ssh/authorized_keys
subPath: authorized_keys
- name: app-data
mountPath: /app
ports:
- name: ssh
containerPort: 22
protocol: TCP
{{ end }}
- name: backend
volumeMounts:
{{ if eq .Values.global.debug "yes" }}
- name: app-data
mountPath: /app
{{ end }}
command: ["/usr/sbin/php-fpm7.2", "--fpm-config", "/etc/php/7.2/php-fpm.conf", "-F"]
...
1.3. secret.yaml
{{ if eq .Values.global.debug "yes" }}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Chart.Name }}-ssh-pub-key
type: Opaque
data:
authorized_keys: "{{ first (pluck .Values.global.username .Values.ssh_pub_key) }}"
{{ end }}
เบเบฒเบเบชเปเบฒเบเบฑเบเบชเบธเบเบเปเบฒเบ
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบฑเบเบซเบกเบปเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเปเบกเปเบเบเบฒเบเปเบญเบ
dev:
stage: deploy
script:
- type multiwerf && source <(multiwerf use 1.0 beta)
- type werf && source <(werf ci-env gitlab --tagging-strategy tag-or-branch --verbose)
- werf deploy
--namespace ${CI_PROJECT_NAME}-stage
--set "global.env=stage"
--set "global.git_rev=${CI_COMMIT_SHA}"
--set "global.debug=yes"
--set "global.username=${GITLAB_USER_LOGIN}"
tags:
- build
Voila: เบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบนเปเบเบตเปเปเบเบตเบเบเบปเบงเบเบฒเบเปเบเปเบเบฒเบเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเบเบเบทเปเบเบฒเบเบเปเบฅเบดเบเบฒเบ (เบงเบดเบเบตเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบเบปเปเบฒเปเบเบดเบ cluster เบขเปเบฒเบเบเบญเบเปเบ,
เบเบตเปโเปเบกเปเบโเบเบฒเบโเปเบเปโเปเบโเบเบตเปโเปเบฎเบฑเบโเบงเบฝเบโเบขเปเบฒเบโเบชเบปเบกโเบเบนเบโ, เปเบเปโเบเบฒเบโเบเบธเบโเบเบฐโเบเบดโเบเบฑเบโเบเบญเบโเบเบฒเบโเปเบเบดเปเบโเบกเบฑเบโเบกเบตโเบเปเปโเปเบชเบโเบเบตเปโเบเบฐโเปเบเปเบโ:
- เบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบเบฑเบเบเบธเบเบเบฒเบเบฐเบฅเบฒเบ Helm, เปเบเบดเปเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเบฒเบเบเบตเปเบเบฐเบญเปเบฒเบเปเบเบญเบฐเบเบฒเบเบปเบ;
- เบชเบฒเบกเบฒเบเบเบณเปเบเปเปเบเปเปเบเบเบเบนเปเบเบตเปเบเบณเปเบเปเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเบปเปเบฒเบเบฑเปเบ;
- เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบทเปเบเปเบฒเบเบตเปเบเบฐ synchronize เบกเบฑเบเบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบญเบเบเบดเปเบเบเปเบงเบเบฅเบฐเบซเบฑเบเปเบฅเบฐเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบเบฑเบ Git.
2. Telepresence
เปเบเบเบเบฒเบ
เปเบเบชเบฑเปเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเปเบซเบฑเบเบญเบญเบเบเปเปเปเบเบฑเบเบเบฒเบขเปเบฒเบเบซเบผเบฒเบ. เบเบงเบเปเบฎเบปเบฒเปเบเปเบงเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฑเบเบซเบกเบปเบเบเบตเปเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบเบฐเบเบดเบเบฑเบเบขเบนเปเปเบเบชเปเบงเบเบเบญเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบเปเบเบฅเปเบเปเปเบเบงเบฒเบก Helm เบเบตเปเบกเบตเบเบทเปเบงเปเบฒ NOTES.txt
. เบเบฑเปเบเบเบฑเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบฑเบ Kubernetes, เบเบนเปเบเบฑเบเบเบฐเบเบฒเปเบซเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก dev เบเปเบญเบเบเบดเปเบเปเบเบเบฑเบเบเบถเบเบงเบฝเบ GitLab:
!!! ะ ะฐะทัะฐะฑะพัะบะฐ ัะตัะฒะธัะฐ ะปะพะบะฐะปัะฝะพ, ะฒ ัะพััะฐะฒะต 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
#########################################################################
เบเบงเบโเปเบฎเบปเบฒโเบเบฐโเบเปเปโเปเบเปโเบขเบนเปโเปเบโเบฅเบฐโเบญเบฝเบโเบเปเบฝเบงโเบเบฑเบโเบเบฑเปเบโเบเบญเบโเบเบตเปโเบญเบฐโเบเบดโเบเบฒเบโเปเบโเบเปเบฒโเปเบเบฐโเบเปเบฒโเบเบตเป ... เบเบปเบโเปเบงเบฑเปเบโเบเบญเบโเบเบฑเปเบโเบชเบธเบโเบเปเบฒเบโ. เบเบฐเปเบเบตเบเบซเบเบฑเบเบเบถเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเบตเบเบเบปเบง Telepresence?
เปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Telepresence
เปเบกเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบ (เปเบเปเบเปเบฒเบชเบฑเปเบเบชเบธเบเบเปเบฒเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเปเบฒเปเบเบฐเบเปเบฒเบเปเบฒเบเปเบเบดเบ), เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบปเบ:
- namespace เบเบตเป microservice เบเปเบฒเบฅเบฑเบเปเบฅเปเบ;
- เบเบทเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเปเบฅเบฐเบเบฑเบเบเบธเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเปเบเบฒเบฐ.
เบเบฒเบเปเบเปเบเบฝเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเปเบกเปเบเบเบฒเบเปเบฅเบทเบญเบ. เบเปเบฒเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบปเบงเบเบฑเบเบเบฑเบ เปเบฅเบฐเบชเปเบฒเบฅเบฑเบ Kubernetes API --mount=true
(เบซเบผเบท --mount=/dst_path
), เปเบเบดเปเบเบเบฐเบเบดเบเบฎเบฒเบ (/) เบเบฒเบเบเบฑเบ Kubernetes เปเบเบซเบฒ desktop เบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบซเบผเบฑเบเบเบฒเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบ (เบเบถเปเบเบเบฑเบ OS เปเบฅเบฐเบงเบดเบเบตเบเบฒเบเปเบเบตเบเบเบปเบงเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ) เปเบเป "เบเบฐเปเบ" เบเบฒเบเบเบธเปเบก.
เบเปเบฒเบญเบดเบ, เปเบซเปเปเบเบดเปเบเบเบฒเบเปเบฅเบทเบญเบเบเบปเปเบงเปเบเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฅเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ - เปเบ Docker container. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเปเบเปเบเบตเปเบชเปเบฒเบเบฑเบ --docker-run
เปเบฅเบฐเบเบดเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบงเบเบฅเบฐเบซเบฑเบเปเบชเปเปเบเบเบฑเบเบเบธ: -v `pwd`:/app
เบเบฐโเบฅเบธโเบเบฒโเบชเบฑเบโเปเบเบโเบงเปเบฒโเบเบตเปโเบชเบปเบกโเบกเบธเบโเบงเปเบฒโเปเบฅเปเบโเบเบฒเบโเบฅเบฐโเบเบปเบโเปเบเบโเบเบฒเบโ. เบฅเบฐเบซเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฐเบเบทเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบต /app
เปเบเบเบฑเบ.
เบเปเปเปเบ: -v /tmp/app/var/run/secrets:/var/run/secrets
โ เปเบเบทเปเบญเบเบดเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบงเบเปเบเบฎเบฑเบเบฎเบญเบ/เปเบเปเบเบฑเบเปเบเบปเปเบฒเปเบเปเบเบเบฑเบ.
เบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบชเบธเบเบเปเบฒเบเปเบกเปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบฎเบนเบเบเบฒเบเบเบตเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบ. NB: เปเบกเบทเปเบญเบชเปเบฒเบเบฎเบนเบเบเบฒเบ, เบเปเบฒเบเบเปเบญเบเบฅเบฐเบเบธ CMD
เบซเบผเบท ENTRYPOINT
!
เบเบฐเปเบเบตเบเบซเบเบฑเบเบเบถเปเบเปเบเปเบเบญเบเบเปเปเปเบ?
- เปเบ Kubernetes, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบเบเบตเปเบฅเบฐเบเบธเปเบงเป, เบเปเบฒเบเบงเบเบเบญเบ replicas เบเบฐเบเบทเบเบเปเบฝเบเปเบเบฑเบ 0. เปเบเบเบเบตเปเบเบฐ, เบเบฒเบเบเบฑเบเบงเบฒเบเปเบซเบกเปเบเบฐเปเบเบตเบเบเบปเบง - เบกเบตเบเบปเบงเบเบฑเบเบเบธเบเบปเบเปเบเบ.
backend
. - 2 containers เบเบฐเปเบเบตเบเบเบปเบงเปเบ desktop: เบเปเบฒเบญเบดเบเบเบฑเบ Telepresence (เบกเบฑเบเบเบฐ proxy เบฎเปเบญเบเบเปเบเบฒเบ / เบเบฑเบ Kubernetes), เบญเบฑเบเบเบตเบชเบญเบเบเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเปเบเบทเบเบเบฑเบเบเบฐเบเบฒ.
- เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฑเบเปเบเบปเปเบฒเปเบเปเบเบเบฑเบเบเบตเปเบกเบตเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบปเบงเปเบ ENV เบเบฑเบเบซเบกเบปเบเบเบตเปเปเบญเบเปเบเบ Helm เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเปเบฒเปเบเปเบเปเบเบฐเบกเบตเปเบซเปเบเบงเบเปเบฎเบปเบฒ, เปเบฅเบฐเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบฑเบเบซเบกเบปเบเบเบฐเบกเบตเบขเบนเป. เบชเบดเปเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเปเบกเปเบเบเบฒเบเปเบเปเปเบเบฅเบฐเบซเบฑเบเปเบ IDE เบเบตเปเบเปเบฒเบเบกเบฑเบเปเบฅเบฐเปเบเบตเบเปเบเบตเบเบเบฑเบเบเบปเบเปเบเปเบฎเบฑเบ.
- เปเบเบเบญเบเบเปเบฒเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ, เบเปเบฒเบเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเบเบดเบ terminal เบเบตเป Telepresence เบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบงเบฝเบ (เบขเบธเบเปเบเบเบเบฑเบเบเปเบงเบ Ctrl+C) - Docker containers เบเบฐเบขเบธเบเบขเบนเปเปเบ desktop, เปเบฅเบฐเปเบ Kubernetes เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฐเบเบฑเบเบเบทเบเบชเบนเปเบชเบฐเบเบฒเบเปเบเบทเปเบญเบเบเบปเปเบเบเบญเบเบกเบฑเบ. เบเบฑเบเบซเบกเบปเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเปเบกเปเบเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒ, เบญเบญเบ MR เปเบฅเบฐเปเบญเบเปเบซเปเบเบฒเบเบเบปเบเบเบงเบเบเบทเบ / merge / ... (เบเบถเปเบเบเบฑเบ workflows เบเบญเบเบเปเบฒเบ).
เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเปเบเปเบญเบเบเบฒเบเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบ Docker container - เบเบปเบงเบขเปเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบฐเบเบฒเบเปเปเปเบเปเบขเบนเปเปเบ PHP, เปเบเปเปเบ Go, เปเบฅเบฐเบเบฑเบเบชเปเบฒเบเบกเบฑเบเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ - เบเบฒเบเปเบเบตเบเบเบปเบง Telepresence เบเบฐเบเปเบฒเบเบเบฒเบเบเบงเปเบฒ:
telepresence --namespace {{ .Values.global.env }} --swap-deployment {{ .Chart.Name }}:backend --mount=true
เบเปเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเบปเปเบฒเปเบเบดเบ Kubernetes API, เบเปเบฒเบเบเบฐเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบดเบเบเบฑเปเบเบฅเบฐเบเบปเบเบฅเบฐเบซเบฑเบ (https://www.telepresence.io/howto/volumes). เบกเบตเบเบปเบเบเบฐเปเบซเบเบเบชเปเบฒเบฅเบฑเบ Linux
proot -b $TELEPRESENCE_ROOT/var/run/secrets/:/var/run/secrets bash
เบซเบผเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบง Telepresence เปเบเบเบเปเปเบกเบตเบเบฒเบเปเบฅเบทเบญเบ --docker-run
เบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฑเบเบซเบกเบปเบเบเบฐเบกเบตเบขเบนเปเปเบ terminal เบเบฐเบเบธเบเบฑเบ, เบเบฑเปเบเบเบฑเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเบญเบเบเบทเบเปเบเบตเบเบเบปเบงเปเบเบกเบฑเบ.
NB: เปเบกเบทเปเบญเปเบเป, เบเบปเบงเบขเปเบฒเบ, PHP, เบเปเบฒเบเบเปเบญเบเบเบทเปเบเปเบฒเบเบตเปเบเบฐเบเบดเบเบเบฒเบเปเบเปเบเบฒเบ op_cache เบเปเบฒเบเป, apc เปเบฅเบฐเบเบปเบงเปเบฅเบฑเปเบเบญเบทเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ - เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเบฒเบเปเบเปเปเบเบฅเบฐเบซเบฑเบเบเบฐเบเปเปเบเปเบฒเปเบเบชเบนเปเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบเปเบญเบเบเบฒเบ.
เบเบปเบเปเบเปเบฎเบฑเบ
เบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเปเบญเบเบเบดเปเบเบเบฑเบ Kubernetes เปเบกเปเบเบเบฑเบเบซเบฒเบเบตเปเบเบฒเบเปเบเปเปเบเปเบกเปเบเบเบฒเบเบเบฐเบซเบเบฒเบเบเบปเบงเปเบเบญเบฑเบเบเบฒเบชเปเบงเบเบเบญเบเบเบฒเบเปเบเปเบเบฐเบเบฒเบเบเบญเบเปเบงเบเบตเบเบตเป. เปเบเปเบฎเบฑเบเบเบฒเบเบฎเปเบญเบเบเปเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฒเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒ (เบเบฒเบเบฅเบนเบเบเปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒ), เบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเปเบเปเปเบเบเบงเบเบกเบฑเบเบเปเบงเบเบงเบดเบเบตเบเปเบฒเบญเบดเบเบเบตเปเบกเบตเบขเบนเป, เปเบเบดเปเบ, เปเบเบงเปเบเบเปเปเบเบฒเบก, เบเปเปเปเบเปเบเบดเบชเบนเบเบเบปเบงเปเบญเบเปเบเปเบฅเบเบฐเบเบฒเบง. เปเบเบเบเบต, เบเบตเปเปเบเปเบเบฒเบเปเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบเปเปเบเบฝเบเปเบเปเปเบเบเบฑเบเบเบธเบเบฑเบเปเบฅเบฐเบเปเปเบเบฝเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒ, เบชเบฐเบเบฑเปเบเบงเบดเบเบตเบเบฒเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบซเบผเบฒเบเปเบเปเบเบฒเบเบปเบเบขเบนเปเปเบเปเบฅเบ, เปเบฅเบฐ Telepresence เปเบกเปเบเบกเบตเบเบทเปเบชเบฝเบเบเบตเปเบชเบธเบ (เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเบฑเบเบกเบต.
PS
เบญเบทเปเบเปเบเบฒเบเบเบธเบเปเบเบฑเบเบฅเบฑเบ เปเบฅเบฐเปเบเบฑเบเบฅเบฑเบเบเบญเบ K8s:
- ยซ
เบเบณเปเบเบฐเบเบณ เปเบฅเบฐเปเบเบฑเบเบฅเบฑเบ Kubernetes: เปเปเบฒเบเปเปเบเบดเบเบเบฒเบเปเบเบเบเบณเบเบปเบเปเบญเบเปเบ NGINX Ingress " - ยซ
เบเบฒเบเปเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบเบธเปเบกเปเบเบซเบฒเบเบฒเบเบเบฑเบเบเบฒเบ Helm 2 " - ยซ
เบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฑเบเบชเบฑเบ node เปเบฅเบฐเบเบฒเบเปเบซเบผเบเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบงเบฑเบ " - ยซ
เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบงเบฑเบเปเบเบเป dev " - ยซ
เปเบฅเบฑเปเบ bootstrap เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเบฐเบซเบเบฒเบเปเบซเบเป ".
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com