Как сделать кластер oc постоянным?

Я использую «oc cluster up» для запуска среды Openshift Origin. Однако я вижу, что после закрытия кластера мои проекты не сохраняются при перезапуске. Есть ли способ сделать их постоянными? Спасибо


person Carla    schedule 11.01.2017    source источник
comment
Возможный дубликат сохранения исходных контейнеров docker openshift после перезагрузки   -  person Álvaro Pérez Soria    schedule 11.01.2017


Ответы (5)


Есть несколько способов сделать это. oc cluster up не имеет основного варианта использования сохраняющихся ресурсов.

Есть несколько способов сделать это:

person SteveS    schedule 11.01.2017
comment
Спасибо, что поделился этим, Стив! - person Carla; 12.01.2017
comment
Первый больше не работает. Вот новый github.com/openshift /origin/blob/v3.11.0/docs/ - person KeKru; 07.08.2019

Теперь в команде cluster up --help есть пример, он обязательно будет обновляться, поэтому сначала проверьте его.

oc cluster up --help

...


Examples:

  # Start OpenShift on a new docker machine named 'openshift'
  oc cluster up --create-machine

  # Start OpenShift using a specific public host name
  oc cluster up --public-hostname=my.address.example.com

  # Start OpenShift and preserve data and config between restarts
  oc cluster up --host-data-dir=/mydata --use-existing-config

Так что конкретно в v1.3.2 используйте --host-data-dir и --use-existing-config

person KCD    schedule 07.02.2017

Предполагая, что вы используете докер-машину с виртуальной машиной, такой как виртуальная коробка, самый простой способ, который я нашел, — это сделать снимок виртуальной машины, ПОКА виртуальная машина и кластер openshift запущены и работают. Этот моментальный снимок создает резервную копию памяти в дополнение к диску, поэтому вы можете позже восстановить весь кластер, восстановив моментальный снимок vm, а затем запустив docker-machine start ...

Кстати, в последнем образе ОС openshift/origin:v3.6.0-rc.0 и oc cli, --host-data-dir=/mydata, как было предложено в другом ответе, у меня не работает.

person abbr    schedule 25.07.2017
comment
Вы используете Windows? Использование постоянства в Windows сложнее с последними версиями OpenShift из-за изменений etcd. С этим справляется альтернативный скрипт-оболочка по адресу pypi.python.org/pypi/powershift-cluster. хотя. - person Graham Dumpleton; 26.07.2017

Я использую:

VirtualBox 5.1.26 Kubernetes v1.5.2+43a9be4
openshift v1.5.0+031cbe4

У меня не сработало использование --host-data-dir (и других):

oc cluster up  --logging=true --metrics=true --docker-machine=openshift --use-existing-config=true --host-data-dir=/vm/data --host-config-dir=/vm/config --host-pv-dir=/vm/pv --host-volumes-dir=/vm/volumes

С выходом:

-- Checking OpenShift client ... OK
-- Checking Docker client ...
   Starting Docker machine 'openshift'
   Started Docker machine 'openshift'
-- Checking Docker version ...
   WARNING: Cannot verify Docker version
-- Checking for existing OpenShift container ... OK
-- Checking for openshift/origin:v1.5.0 image ... OK
-- Checking Docker daemon configuration ... OK
-- Checking for available ports ... OK
-- Checking type of volume mount ...
   Using Docker shared volumes for OpenShift volumes
-- Creating host directories ... OK
-- Finding server IP ...
   Using docker-machine IP 192.168.99.100 as the host IP
   Using 192.168.99.100 as the server IP
-- Starting OpenShift container ...
   Starting OpenShift using container 'origin'
FAIL
   Error: could not start OpenShift container "origin"
   Details:
     Last 10 lines of "origin" container log:
     github.com/openshift/origin/vendor/github.com/coreos/pkg/capnslog.(*PackageLogger).Panicf(0xc4202a1600, 0x42b94c0, 0x1f, 0xc4214d9f08, 0x2, 0x2)
        /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/github.com/coreos/pkg/capnslog/pkg_logger.go:75 +0x16a
     github.com/openshift/origin/vendor/github.com/coreos/etcd/mvcc/backend.newBackend(0xc4209f84c0, 0x33, 0x5f5e100, 0x2710, 0xc4214d9fa8)
        /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/github.com/coreos/etcd/mvcc/backend/backend.go:106 +0x341
     github.com/openshift/origin/vendor/github.com/coreos/etcd/mvcc/backend.NewDefaultBackend(0xc4209f84c0, 0x33, 0x461e51, 0xc421471200)
        /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/github.com/coreos/etcd/mvcc/backend/backend.go:100 +0x4d
     github.com/openshift/origin/vendor/github.com/coreos/etcd/etcdserver.NewServer.func1(0xc4204bf640, 0xc4209f84c0, 0x33, 0xc421079a40)
        /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/github.com/coreos/etcd/etcdserver/server.go:272 +0x39
     created by github.com/openshift/origin/vendor/github.com/coreos/etcd/etcdserver.NewServer
        /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/github.com/coreos/etcd/etcdserver/server.go:274 +0x345

Openshift пишет в каталоги /vm/... (также определенные в VirtualBox), но успешно не запускается. См. [https://github.com/openshift/origin/issues/12602][1]

У меня тоже сработало, используя снимки виртуальных ящиков и восстанавливая их.

person Coffee Bean    schedule 17.08.2017

Чтобы сделать его постоянным после каждого выключения, вам нужно указать параметр base-dir.

$ mkdir ~/openshift-config
$ oc cluster up --base-dir=~/openshift-config 

Из справки

$ oc cluster up --help
...
Options:
--base-dir='': Directory on Docker host for cluster up configuration
--enable=[*]: A list of components to enable.  '*' enables all on-by-default components, 'foo' enables the component named 'foo', '-foo' disables the component named 'foo'.
--forward-ports=false: Use Docker port-forwarding to communicate with origin container. Requires 'socat' locally.
--http-proxy='': HTTP proxy to use for master and builds
--https-proxy='': HTTPS proxy to use for master and builds
--image='openshift/origin-${component}:${version}': Specify the images to use for OpenShift
--no-proxy=[]: List of hosts or subnets for which a proxy should not be used
--public-hostname='': Public hostname for OpenShift cluster
--routing-suffix='': Default suffix for server routes
--server-loglevel=0: Log level for OpenShift server
--skip-registry-check=false: Skip Docker daemon registry check
--write-config=false: Write the configuration files into host config dir

Но вы не должны его использовать, потому что в версии 4.0.0 "кластеризация" удалена. Подробнее здесь: https://github.com/openshift/origin/pull/21399

person Alexander    schedule 19.03.2019