На самом деле, Kubernetes играет роль оркестратора и обеспечивает достаточный способ для построения каналов связи между контейнерами в кластере и использует Docker по умолчанию в качестве контейнера времени выполнения .
Контейнеры представляют среду выполнения для изображений, однако изображения состоят из уровня ОС и двоичных файлов приложения, хорошее объяснение вы можете найти здесь . Чтобы создать собственное изображение, вы можете рассмотреть два способа позволить себе это: создать изображение из существующего в Docker Hub или создать изображение из Dockerfile . Хранить настроенное изображение может быть возможность вставить его в репозиторий Docker Hub или занять какое-то частное изолированное хранилище, развернув сервер реестра .
Когда вы будете готовы с образом и планируете внедрить приложение в кластер Kubernetes, самое время создать первый микросервис. Хотя в мире существует множество материалов о кластере Kubernetes и его архитектуре механизма исполнения , я бы остановился на жизненном цикле развертывания приложения.
Развертывание является основным механизмом, который определяет, каким образом модули должны быть реализованы в кластере, и предоставляет конкретную конфигурацию для дальнейшего рабочего процесса приложения.
Служба описывает способ взаимодействия конкретного Pod с другими ресурсами в кластере, предоставляя IP-адрес конечной точки и порт, на который будет отвечать ваше приложение.
В общем сценарии с Kubernetes Dashboard , используемый метод kubectl proxy
представит приложение путем прокси-шлюза между хостом и API Kubernetes, что больше похоже на тестирование и не является безопасным, по сравнению с типом Nodeport , который предоставляет более удобный способ сделать приложение доступным вне кластера, как описано в этой теме стека .
Я призываю вас получить больше учебных материалов в официальной документации Kubernetes .
There is no programmatic way to do this unfortunately. Rake tasks can be loaded either from rails itself, lib/tasks, or from any plugin with a tasks directory.
This should nab most everything not within Rails itself:
find . -name "*.rake" | xargs grep "whatever"
As for db:schema:dump
, here's the source:
desc "Create a db/schema.rb file that can be portably used against any DB supported by AR"
task :dump => :environment do
require 'active_record/schema_dumper'
File.open(ENV['SCHEMA'] || "#{RAILS_ROOT}/db/schema.rb", "w") do |file|
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
end
end
It can be found on line 242 of lib/tasks/database.rake in the rails 2.2.2 gem. If you've got a different version of Rails, just search for "namespace :schema
".
You probably actually want the source of the ActiveRecord::SchemaDumper
, but I think you should have no trouble figuring out where that is. :-)
Для большинства задач rake в Rails поищите в каталоге гемов Rails в lib / tasks.
Если вы включили Rails в структуру каталогов вашего приложения, то посмотрите в vendor / rails / railties / lib / tasks
В любом случае db: schema: dump находится в базе данных databases.rake.