Как сделать OC cluster up стойким?
Я использую "OC cluster up", чтобы запустить исходную среду Openshift. Однако я вижу, что после завершения работы кластера мои проекты не сохраняются при перезапуске. Есть ли способ сделать их постоянными ? Спасибо
4 ответов
есть несколько способов сделать это. OC cluster up не имеет основного варианта использования существующих ресурсов.
есть несколько способов сделать это:
- плечо захвата etcd, как описано в oC cluster up README
- есть инструмент фантик, что делает его легко сделать это.
теперь есть пример в 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
предполагая, что вы используете машину docker с виртуальной машиной, такой как virtual box, самый простой способ, который я нашел, - это сделать снимок виртуальной машины, пока vm и кластер openshift работают. Этот снимок будет резервное копирование памяти в дополнение к диску, поэтому вы можете восстановить весь кластер позже, восстановив снимок виртуальной машины, а затем запустить docker-machine start ...
btw, начиная с последнего изображения os openshift / origin: v3.6.0-rc.0 и oc cli,--host-data-dir=/mydata
как предложено в другом ответе, не работает для меня.
Я использую:
VirtualBox 5.1.26
Kubernetes В1.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]
работал для меня тоже, используя виртуальную коробку Снимки и их восстановление.