рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдкреВрд░реЗ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЖрд╡рд╢реНрдпрдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдирд╣реАрдВ рд╣реИред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реНрдерд╛рдиреАрдп рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдорд┐рдирд┐рдХреНрдпреВрдм рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдорд┐рдирд┐рдХреНрдпреВрдм рдПрдХ рдХрд╛рдлреА рд╕рд░рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реИ, рдФрд░ рдорд┐рдирд┐рдХреНрдпреВрдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд╛рдареНрдпрдХреНрд░рдо рд╣реИрдВред рд▓реЗрдХрд┐рди, рдлрд┐рд░ рднреА, рдХреЛрдИ рднреА рдорд┐рдирд┐рдХреНрдпреВрдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЬ рдореИрдВ
MicroK8s рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ рдЕрддрд┐рд╢рдпреЛрдХреНрддрд┐ рдХреЗ рдмрд┐рдирд╛, рдЖрдкрдХреЛ рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рдбреЙрдХрдЯрд░ рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╕рднреА рд╕рдорд╛рд╡реЗрд╢реАред рдЗрд╕ рдкрд╛рда рдореЗрдВ, рдЖрдк рд╕реНрдерд╛рдиреАрдп рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ Django рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдПрдХ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ
рдорд╛рд░реНрдХ рдЧрд┐рдЯреБрдорд╛ рдХреЗ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдХрд╛рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдорд┐рдирд┐рдХреНрдпреВрдм рдХреЗ рд╕рд╛рде, рдФрд░ рдорд╛рдЗрдХреНрд░реЛрдХреЗ 8 рдХреЗ рд╕рд╛рде рдирд╣реАрдВред
рдлрд┐рд░ рднреА, рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХрд╛рдо рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреВрд░реА рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЗ рдкрд╛рд╕
рд╕реНрдиреИрдк рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓рд┐рдирдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
MicroK8s рдХреА рд╕реНрдерд╛рдкрдирд╛
рд╕рд╛рдЗрдЯ рдкрд░ рдореИрдиреБрдЕрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИ:
sudo snap install microk8s --classic
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
sudo microk8s.start
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдХреЛ
microk8s.enable --help
: рдбреИрд╢рдмреЛрд░реНрдб, dns, gpu, ingress, istio, рдореЗрдЯреНрд░рд┐рдХреНрд╕-рд╕рд░реНрд╡рд░, рд░рдЬрд┐рд╕реНрдЯреНрд░реА, рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рддреБрд░рдВрдд gpu рдФрд░ istio рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рд╕рдХреНрд░рд┐рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛ рдПрдХ рдкреВрд░реНрд╡рд╕реНрдерд╛рдкрд┐рдд рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ (рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореЗрд░реЗ рдХрдордЬреЛрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░) рд╕рд┐рд╕реНрдЯрдо рдХреЛ рднрд╛рд░реА рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
microk8s.enable dashboard dns ingress metrics-server registry storage
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдм рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рд╕реВрдЪреА рд╕реЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреИрд╢рдмреЛрд░реНрдб рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕рд╣рд┐рдд рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреАред
рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЙрдХрд░реАрдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ:
FROM python:3-slim LABEL maintainer="mark.gituma@gmail.com" WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt RUN django-admin startproject mysite /app EXPOSE 8000 STOPSIGNAL SIGINT ENTRYPOINT ["python", "manage.py"] CMD ["runserver", "0.0.0.0:8000"]
рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ред рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛:
celery==4.1.0 Django==2.0 kombu==4.1.0
рдЪрд▓реЛ рдЫрд╡рд┐ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдбреЙрдХрд░ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдпрд╣ MicroK8s рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ:
microk8s.docker build django -t apapacy/tut-django:1.0.0
рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рдбреЙрдХрдЯрд░ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЫрд╡рд┐ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЛ рднреЗрдЬрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдХреЗ 8 рдХреЗ рд╕рд╛рде рднреА рдЖрддрд╛ рд╣реИ, рдФрд░ 32000 рдкреЛрд░реНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
microk8s.docker tag apapacy/tut-django:1.0.0 localhost:32000/apapacy/tut-django:1.0.0 microk8s.docker push localhost:32000/apapacy/tut-django:1.0.0
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЗрд╕ рдХрджрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдЙрд╕реА рд╕рдордп рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрдерд╛рдиреАрдп рдбреЙрдХрдЯрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╣реИред
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдореВрд▓ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХ рдкреЛрдб (рдкреЙрдб) рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдПрдХ рд╣реЛрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХрдИ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдлрд▓реА рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЖрдЬ рд╣рдо рддреИрдирд╛рддреА (рддреИрдирд╛рддреА) рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рддреИрдирд╛рддреА рдЙрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреЙрдбреНрд╕ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рддреИрдирд╛рддреА рдХреЛ yml рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рдЖрдк рдкреЙрдб рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрд╕ рдЫрд╡рд┐ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдкреЙрдб рдФрд░ рдЗрд╕рдХреЗ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдПрдХрддреНрд░ рдХреА рдЬрд╛рдПрдВрдЧреА, рд╕рд╛рде рд╣реА рдкреЛрд░реНрдЯ (рдкреЛрд░реНрдЯ 8000 рдЬрд┐рд╕ рдкрд░ рдбреЙрдХрдлрд╛рдЗрд▓ рд╕реЗ Django рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдХреЛрдИ рдЬрд╛рджреВ рдирд╣реАрдВ):
apiVersion: apps/v1beta2 kind: Deployment metadata: name: django labels: app: django spec: replicas: 2 selector: matchLabels: pod: django-container template: metadata: labels: pod: django-container spec: containers: - name: django-web image: localhost:32000/apapacy/tut-django:1.0.0 ports: - containerPort: 8000
рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдмреБрдзрд╡рд╛рд░ рдХреЛ рдЬрдорд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
microk8s.kubectl apply -f config/deployment.yml
рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ, рдЖрдк рдПрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдЧрд╛:
watch microk8s.kubectl get all
рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ Django рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдкреЙрдбреНрд╕ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИред рдкреЙрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдФрд░ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдФрд░ рдЕрдореВрд░реНрдд рд╣реИ - рдпрд╣ рд╕реЗрд╡рд╛ рд╣реИред рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреА рддрд░рд╣ рд╕реЗрд╡рд╛, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рдЧрдИ рд╣реИ:
kind: Service apiVersion: v1 metadata: name: django-service spec: selector: pod: django-container ports: - protocol: TCP port: 8000 # targetPort: 8001 type: ClusterIP # type: NodePort
pod: django-container
рдЪрдпрдирдХрд░реНрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реА рд╕реЗрд╡рд╛ рджреНрд╡рд╛рд░рд╛ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдПрдЧреА (рдлрд▓реА рдЪрдпрдирдХрд░реНрддрд╛ рдХрд╛ рдирд╛рдо рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд▓реЗрдмрд▓ рд╣реИ рдЬреЛ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)ред рд╕реЗрд╡рд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рдорд╛рди рд▓реЛрдб рдХреА рдЧрдИ рд╣реИ:
microk8s.kubectl apply -f config/service.yml
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реЗрд╡рд╛ рдХреЛ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрддреЗ рдкрд░ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб
microk8s.kubectl get all
рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдкрддреЗ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
service/django-service ClusterIP 10.152.183.156 none 8000/TCP 3h33m
рдХрд░реНрд▓ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ (рдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓рдХрд░) рд╣рдореЗрдВ Django рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдкреГрд╖реНрда рдорд┐рд▓рддрд╛ рд╣реИ:
curl 10.152.183.156:8000
рд╕реЗрд╡рд╛ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рджреЛ рдЯрд┐рдкреНрдкрдгреА рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдирд╕реБрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реЗрд╡рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ 32000 рдФрд░ рдЙрдЪреНрдЪрддрд░ рд╢реНрд░реЗрдгреА рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреАред
рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдпреА рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, MicroK8s рджреЛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: 1) рдкреНрд░рд╡реЗрд╢ рдФрд░ 2) istioред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ред рдпрджрд┐ рдЕрднреА рддрдХ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрдВрдЧреНрд░реАрдбреЗрдВрдЯ рдШрдЯрдХ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
microk8s.enable ingress
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдШрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдФрд░ рдХрдорд╛рдВрдб
microk8s.kubectl get all
рдЪрд▓рд╛рдХрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреБрдЫ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ
default-http-backend
рдирд╛рдо рдХреЗ рд╕рд╛рде рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреЛрд░реНрдЯ 80 рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╕реЗрд╡рд╛ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП:
service/default-http-backend ClusterIP 10.152.183.42 none 80/TCP 179m
рдорд╛рдЗрдХреНрд░реЛ -8s рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдо http-http-backend рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╛рдо рд╣реИред рдпрд╣ рдЗрд╕ рдирд╛рдо рд╕реЗ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрдВрдЧреНрд░реАрдбрд┐рдПрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЗрд╕ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрдирдЧреНрд░реЗрдЪрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡реЗрдм рд╕рд░реНрд╡рд░ рдпрд╛ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдорд┐рд▓рддрд╛ рдЬреБрд▓рддрд╛ рд╣реИ, рдФрд░ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдВрджрд░ рднреА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореЗрдЬрдмрд╛рди, рдкрде рдФрд░ рдмрдВрджрд░рдЧрд╛рд╣ рдЙрдирдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ - рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЬреЛ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ:
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: tut-django annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: backend: serviceName: default-http-backend servicePort: 80 rules: - host: localhost http: paths: - path: /django backend: serviceName: django-service servicePort: 8000
рдЗрдВрдЧреНрд░реЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
microk8s.kubectl apply -f config/ingress.yml
рдЬрд┐рд╕рдХреЗ рдмрд╛рдж, Django рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдкреГрд╖реНрда
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / django рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛
рдЖрдЬ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред
рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ:
1.
github.com/apapacy/microk8s-tut2.
medium.com/@markgituma/kubernetes-local-to-production-with-django-2-docker-and-minikube-ba843d858817apapacy@gmail.com
10 рдлрд░рд╡рд░реА, 2019