- Ubuntu on public clouds
- Ubuntu Pro on public cloud
- Ubuntu Server
- A selection of our certified public cloud partners
- Fast service deployment with Juju
- Trusted Container (OCI) Images
- Managed Applications
- Ready to get started?
- Облако Ubuntu
- Обзор
- Необходимые требования
- Предварительная настройка сети
- Установка поддержки мостов
- Установка и настройка NTP
- Установка и настройка MySQL
- Установка вычислительного ресурса OpenStack (Nova)
- Установка сервиса образов систем (Glance)
- Работающие экземпляры (instances)
- Установка хранилища инфраструктуры (Swift)
Ubuntu on public clouds
Ubuntu is the world’s most popular cloud operating system across public clouds. Thanks to its security, versatility and policy of regular updates, Ubuntu is the leading cloud guest OS and the only free cloud operating system with the option of enterprise-grade commercial support.
Ubuntu Pro on public cloud
- 10 years of package updates and security maintenance with Ubuntu Pro
- Kernel Livepatch, which allows for continuous security patching and higher uptime and availability by allowing kernel security updates to be applied without a reboot
- Rigorous compliance profiles such as CIS benchmarks and DISA-STIG to enable high security and regulated environments
- FIPS 140 certified components for use in environments under compliance regimes such as FedRAMP, PCI, HIPAA and ISO
- Patch coverage for Ubuntu’s infrastructure and application repositories, spanning hundreds of open source workloads including Apache Kafka, MongoDB, Node.js, RabbitMQ, Redis and more
Ubuntu Server
- Maintenance and security updates guaranteed for five years with Ubuntu LTS
- Enterprise-grade support and management tools available direct from Canonical
- Proven for enterprise-scale workloads on all leading public clouds
- Free from licence fees, regardless of how many images you run
A selection of our certified public cloud partners
Fast service deployment with Juju
Juju is the fastest way to deploy and scale out your workloads on the leading public clouds. With Juju charm bundles, you can launch an entire cloud environment with one click, or just one command using the CLI. Use Juju to deploy your entire application infrastructure, all in one.
Trusted Container (OCI) Images
The provenance of base and application images is critical for security. While tooling like Docker makes retrieving and running images trivial, ensuring a trusted software supply chain is required. A simple way to get started is by using our hardened repositories. We maintain a set of stable & secure (LTS) tracks for application, runtime, and base container images. Get the best of the Ubuntu developer experience and commercial commitments for enterprise containers.
Managed Applications
Accelerate innovation across clouds with fully managed Apache Kafka, Kubeflow, ElasticSearch and more. We build and operate the solution for you, backed by a full SLA. With Canonical’s managed open source application services there’s no lock in and you can take over control whenever you want.
Ready to get started?
Ubuntu Pro for AWS is a premium image designed by Canonical to provide the most comprehensive feature set for production environments running in the public cloud.
Ubuntu Pro includes optimised kernel, hardening and security coverage for the entire collection of software packages shipped with Ubuntu.
Облако Ubuntu
Облачные вычисления являются моделью вычислений, позволяющей предоставлять требуемые вычислительные мощности по запросу из общего набора имеющихся ресурсов. Такие ресурсы, как хранилище, вычислительная мощность, сеть и программное обеспечение, являются абстрактными и предоставляются как сервис через интернет в любом месте в любое время. Счет на данные ресурсы выставляется по времени использования, аналогично тому как оплачиваются электричество, вода или телефония. Инфраструктура облака Ubuntu использует программное обеспечение с открытым кодом OpenStack для создания в высшей степени масштабируемых облачных вычислений как для открытых, так и частных облаков.
Обзор
Это руководство показывает установку OpenStack с образа Ubuntu 12.04 LTS Server Edition и предполагает базовую сетевую топологию с единственной обслуживающей системой по принципу облачной системы «все в одном». Поскольку рассмотрение упрощено, данные инструкции как есть не предназначены для построения промышленных серверов, а только позволяют вам получить проверку концепции построения облака Ubuntu с использованием OpenStack.
Необходимые требования
Для развертывания минимальной инфраструктуры облака Ubuntu вам потребуется как минимум:
выбранный сервер поддерживает VT (виртуальную технологию на аппаратном уровне) поскольку мы будем использовать в качестве виртуальной платформы KVM. Другие гипервизоры, как QEMU, UML, Vmware ESX/ESXi и XEN, тоже поддерживаются. Также поддерживается LXC (Linux Containers) через использование libvirt. Проверьте, что ваша система поддерживает kvm, выполнив sudo kvm-ok в линукс-терминале.
Минимальная топология, рекомендованная для промышленного использования предполагает три узла — один мастер-сервер для работы nova сервисов (кроме вычислений) и два сервера для запуска вычислительной среды nova. Такая установка не является избыточной и включает единую точку отказа (SPoF) в виде мастер-сервера.
Предварительная настройка сети
Перед тем, как устанавливать OpenStack нам требуется убедиться, что установлена поддержка сетевых мостов, база данных MySQL и сервер времени ntp. Это будет гарантировать, что мы будем содержать машины и сетевые узлы синхронизированными.
В этом примере «частная(private) сеть» будет из диапазона 10.0.0.0/24 на интерфейсе eth1. Все внутренние взаимодействия между экземплярами системы будут проходить там, в то время как «общедоступная(public) сеть» будет из диапазона 10.153.107.0/29 на интерфейсе eth0.
Установка поддержки мостов
sudo apt-get install bridge-utils
Установка и настройка NTP
Следующие две строки добавьте в файл /etc/ntp.conf:
server 127.127.1.0 fudge 127.127.1.0 stratum 10
Установка и настройка MySQL
sudo apt-get install mysql-server
Создайте базу данных и mysql пользователя для OpenStack:
sudo mysql -uroot -ppassword -e "CREATE DATABASE nova;" sudo mysql -uroot -ppassword -e "GRANT ALL ON nova.* TO novauser@localhost \ IDENTIFIED BY 'novapassword' ";
Символ продолжения строки «\» подразумевает, что вы включаете следующую строку как продолжение текущей команды.
Установка вычислительного ресурса OpenStack (Nova)
Вычислительный ресурс OpenStack (Nova) является диспетчером облачного процесса вычислений (основной частью системы IaaS — инфраструктура как сервис). Он написан на Python с использованием оболочек Eventlet и Twisted и опирается на стандарты AMQP протокола сообщений и SQLAlchemy для доступа хранилищам данных.
Установим компоненты OpenStack Nova:
sudo apt-get install nova-api nova-network nova-volume nova-objectstore nova-scheduler \ nova-compute euca2ools unzip
Перезапустим libvirt-bin просто чтобы быть уверенными, что libvirtd знает об ebtables (фильтре для сетевых мостов):
sudo service libvirt-bin restar
Установим RabbitMQ — расширенный протокол очереди сообщений (AMQP):
sudo apt-get install rabbitmq-server
Отредактируем /etc/nova/nova.conf и добавим следующее:
# Nova config FlatDHCPManager --sql_connection=mysql://novauser:novapassword@localhost/nova --flat_injected=true --network_manager=nova.network.manager.FlatDHCPManager --fixed_range=10.0.0.0/24 --floating_range=10.153.107.72/29 --flat_network_dhcp_start=10.0.0.2 --flat_network_bridge=br100 --flat_interface=eth1 --public_interface=eth0
Перезапустим сервисы OpenStack:
for i in nova-api nova-network nova-objectstore nova-scheduler nova-volume nova-compute; \ do sudo stop $i; sleep 2; done for i in nova-api nova-network nova-objectstore nova-scheduler nova-volume nova-compute; \ do sudo start $i; sleep 2; done
Перенесем базу данных Nova с sqlite на MySQL. Это может занять длительное время:
Определим отдельную частную сеть, в которой будут работать все ваши элементы. Она будет использоваться с фиксированными адресами IP, указанными в nova.conf:
sudo nova-manage network create --fixed_range_v4 10.0.0.0/24 --label private \ --bridge_interface br100
Определим отдельную общедоступную сеть и разместим в ней 6 плавающих IP адресов, начиная с 10.153.107.72, для использования элементами среды:
sudo nova-manage floating create --ip_range=10.153.107.72/29
Создадим пользователя (user1), проект (project1), загрузим учетную запись и получим конфигурационный файл:
cd ; mkdir nova ; cd nova sudo nova-manage user admin user1 sudo nova-manage project create project1 user1 sudo nova-manage project zipfile project1 user1 unzip nova.zip source novarc
Проверм установку вычислительного ресурса OpenStack, набрав:
sudo nova-manage service list sudo nova-manage version list
Если сервисы nova не отработают корректно, перезапустите сервисы OpenStack, как описывалось выше. Для дополнительной информации смотрите секцию Поддержка и решение проблем в этом руководстве.
Установка сервиса образов систем (Glance)
Nova использует сервис Glance для управления образами операционных систем, которые требуются для поднятия экземпляров системы. Glance может использовать различные типы систем хранилищ, такие как файловое хранение, S3 (Simple Storage Service) и пр. Glance состоит из двух компонентов: glance-api и glance-registry. Они могут управляться с использованием соответствующих задач загрузки сервисов. Для нашего примера в качестве хранилища мы будем использовать mysql.
Установка Glance:
sudo apt-get install glance
Создадим базу данных и пользователя для glance:
sudo mysql -uroot -ppassword -e "CREATE DATABASE glance;" sudo mysql -uroot -ppassword -e "GRANT ALL ON glance.* TO glanceuser@localhost \ IDENTIFIED BY 'glancepassword' ";
Отредактируем файл /etc/glance/glance-registry.conf и изменим строку, содержащую опцию «sql_connection =», на следующее:
sql_connection = mysql://glanceuser:glancepassword@localhost/glance
Удалим базу данных sqlite:
rm -rf /var/lib/glance/glance.sqlite
Перезапустим glance-registry после внесенных изменений в /etc/glance/glance-registry.conf. База данных MySQL будет автоматически заполнена:
sudo restart glance-registry
При поиске проблем посмотрите файлы журналов /var/log/glance/api.log и /var/log/glance/registry.log.
Работающие экземпляры (instances)
Прежде чем вы сможете предоставлять экземпляры образов систем, вам в первую очередь потребуется настроить пользовательские учетные записи. Как только первый шаг выполнен, вам еще потребуется загрузить образы систем, которые вы собираетесь запускать в облаке. Когда у вас в облаке будут загруженные образы систем, вы их сможете загрузить и подключиться. Здесь приведены шаги, чтобы получить работающие экземпляры OpenStack Nova:
Загрузите, зарегистрируйте и опубликуйте облачный образ Ubuntu:
distro=lucid wget http://cloud-images.ubuntu.com/$distro/current/$distro-server-cloudimg-amd64.tar.gz cloud-publish-tarball "$distro"-server-cloudimg-amd64.tar.gz "$distro"_amd64
Здесь используется дистрибутив lucid (10.04), но скорее всего можно использовать любой поддерживаемый, например, precise. (прим. пер.)
Создайте ключевую пару для пользователя и подготовьте экземпляр системы:
cd ~/nova source novarc euca-add-keypair user1 > user1.priv chmod 0600 user1.priv
Разрешите доступ по icmp (ping) и ssh к экземплярам:
euca-authorize default -P tcp -p 22 -s 0.0.0.0/0 euca-authorize -P icmp -t -1:-1 default
Запустите экземпляр системы:
ami=`euca-describe-images | awk | grep -m1 ami` euca-run-instances $ami -k user1 -t m1.tiny euca-describe-instances
Присвойте экземпляру адрес общедоступной сети:
euca-allocate-address euca-associate-address -i instance_id public_ip_address euca-describe-instances
Вы здесь должны ввести instance_id (ami) и public_ip_address, показанные выше командами euca-describe-instances и euca-allocate-address.
Теперь вы можете использовать SSH доступ к экземпляру:
ssh -i user1.priv ubuntu@ipaddress
Для выключения экземпляра:
euca-terminate-instances instance_id
Установка хранилища инфраструктуры (Swift)
Swift является распределенным хранилищем высокой доступности соответствия object/blob. Оно используется инфраструктурой OpenStack для предоставления S3-подобных облачных сервисов хранения. Оно также совместимо с S3 api от Amazon.
Организации используют Swift для хранения больших объемов данных эффективно, безопасно и дешево, где приложения используют специальный api для обеспечения взаимодействия между приложениями и с объектами, сохраненными в Swift.
Хотя вы можете установить Swift на единственный сервер, для промышленных сред требуется установка на несколько серверов. Если вы хотите установить хранилище объектов OpenStack (Swift) на отдельный сетевой сервер для разработки или тестирования, используйте инструкции установки ‘Swift все в одном’ на Ubuntu.