iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 10
0
DevOps

Cloud Native 開發維運一條龍系列 第 10

Day 10. 實際部署 Docker 至 AWS

  • 分享至 

  • xImage
  •  

前面我們準備好了 3-tier 的 web app docker,接下來就是部署。其實無論是不是 AWS,任何的 cloud provider 在這個階段部署起來應該都是大同小異。

前幾天看到這張圖,覺得很經典 XDD

假設各位在 AWS 上的 VPC 已經建好了,那麼我們要做的就是

  • 開一個 EC2 的 instance
  • 確保 ssh agent 設好了 (可用 ansible all -m ping 來測試)
  • 以 Ansible 部署 docker
  • 設好 load balancer ,對應到 EC2 instance 上開放 access 的 port

一個簡單的 role ,可以組合各種 tasks,這就像是 ansbile 版的 docker compose

$ cat ansible/roles/compose.yaml
- hosts: "{{ variable_host | default('localhost') }}"
  gather_facts: true
  remote_user: centos
  become: true
  tasks:
    - debug:
        var: pg_user
    - name: Yum | Install Dependencies
      yum:
        name: "{{ yum_dependencies }}"
      vars:
        yum_dependencies:
        - epel-release
        - python-pip
    - name: Pip | Install Docker Module for Pip
      pip: 
        name: docker
    - name: Docker Network | Create Customized Network
      docker_network:
        name: mynet
        ipam_options:
          subnet: '172.20.0.0/16'
    - name: Docker | Run Nginx
      import_tasks: tasks/run_nginx.yaml
    - name: Docker | Run Postgresql
      import_tasks: tasks/run_postgresql.yaml
    - name: Docker | Run Flask
      import_tasks: tasks/run_flask.yaml
    - name: Docker | Run React
      import_tasks: tasks/run_react.yaml

上一篇
Day 9. 容器化的 Frontend Interface 開發與部署 - 以 React 為例
下一篇
Day 11. Kubernetes 基本概念與 Bootstrapping 方式介紹
系列文
Cloud Native 開發維運一條龍18
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言