Skip to content

asemnurzhanova/int

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задание 1

  1. Перейти в каталог проекта
cd /path/to/project/docker/image
  1. Отредактировать Dockerfile
  2. Собрать образ при помощи Dockerfile
docker build -t asemn00/golang_app_intern:latest .
  1. Создать и запустить контейнер из образа
docker run -d -p 3000:3000 asemn00/golang_app_intern:latest
  1. Открыть ссылку http://localhost:3000 в браузере для проверки приложения

Загрузка образа в репозиторий

  1. Войти в реестр Docker Hub
export DOCKER_REGISTRY=https://index.docker.io/v1/
export DOCKER_USER=asemn00 # пользователь registry
read -s DOCKER_PASSWORD # пароль от registry
echo $DOCKER_PASSWORD | docker login -u ${DOCKER_USER} --password-stdin ${DOCKER_REGISTRY}
  1. Загрузить созданный образ в репозиторий
docker push asemn00/golang_app_intern:latest
  1. Выйти из рееста
docker logout

Output:

Removing login credentials for https://index.docker.io/v1/

Задание 2

  1. Перейти в каталог проекта ansible
cd /path/to/project/ansible
  1. Написать Playbook golang.yaml
  2. Установить библиотеку виртуального окружения
python3 -m pip install virtualenv
  1. Создать и активировать виртуальное окружение
python3 -m virtualenv ansible
source ansible/bin/activate
  1. Записать в requirements.txt библиотеки, необходимые для запуска Playbook
  2. Установить их
pip install -r requirements.txt
  1. Запустить Playbook
ansible-playbook golang.yaml

Задание 3

  1. Установить Инструмент командной строки Kubernetes, Minikube, Helm
  2. Запустить minikube
minikube start
  1. Перейти в каталог проекта helm
cd /path/to/project/helm
  1. Создать чарт в каталоге golang-app
helm create golang-app
  1. Перейти в каталог чарта
cd golang-app
  1. Отредактировать файл values.yaml
  2. Развернуть чарт
helm install --values values.yaml golang-app .
  1. Проверить запустился ли контейнер
kubectl get pods

Output:

NAME                          READY   STATUS    RESTARTS   AGE  
golang-app-77658fc567-jwkl9   1/1     Running   0          97s
  1. Получить URL приложения
export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services golang-app)
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
echo https://$NODE_IP:$NODE_PORT
  1. Проверить приложение
curl http://$NODE_IP:$NODE_PORT

Output:

Hello !

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published