hitcounter
  • September 22, 2019
  • Iurii Medvedev

Установка crc (CodeReady Containers): Запуск OpenShift 4.x локально

OPENSHIFT 4.1 NEW FEATURES

OpenShift получил множество новшеств начиная с версии 4.1 :

Установка : Новый процесс установки, направленный на снижение боли и проблем при установки OpenShift - CoreOS Tectonic feature

Обновление: Процесс обновления станет более прозрачным и легким ! - CoreOS Tectonic feature

NOTE: Процесса обновления с 3.x до 4.x нет и не будет, собственно и не надо.

Red Hat Enterprise Linux CoreOS: Операционная система специально предназначеная для урпавления/запуска контейнеров - CoreOS Tectonic feature

Operators: Новый подход для сборки, распространения и управление приложениями. CoreOS Tectonic feature

Установка OpenShift 4.1 локально

Как известно в Openshift 3.x для старта локального кластера, можно было воспользоваться MiniShift, но с ним было куча проблем и по факту после запуска, мы получали не совсем полноценный кластер Openshift. Нужно было доустанавливать плагины и работа был мягко говоря не удобной. В OpenShift 4.x поменялся поход и появился Code Ready Containers (aka CRC). Если Вы хотите попробовать OpenShift 4 локально, теперь это стало намного проще и так по шагам

Получение и установка crc

Для получения бинарника crc перейти на сайт https://try.openshift.com/

Далее надо заогиниться под своей учетной записью Red Hat; Если у Вас нет учетной записи, то вы можете ее завести бесплатно

Дальше вас перенаправит на Red Hat OpenShift Cluster Manager:

Выбираете Create Cluster.

Далее выбираем тип установки, в нашем случае Laptop(проматываем в самый низ)

После этого выбираем под какую ОС необходим установщик

Windows: Download (HyperV)

macOS: Download (HyperKit)

Linux: Download (Libvirt)

Так же необходимо скачать pull secret, на этом подготовка закончена.

Теперь можно запускать процесс конфигурации и настройки, для этого в консоле достаточно

wget https://mirror.openshift.com/pub/openshift-v4/clients/crc/latest/crc-macos-amd64.tar.xz -O /tmp/crc-macos-amd64.tar.xz
cd /tmp
tar xfz crc-macos-amd64.tar.xz 
mv crc-macos-*/crc  /usr/local/bin/crc

После перемещения, давайте проверим версию

crc version
version: 1.0.0-beta.5+f2aa58c
OpenShift version: 4.1.14 (embedded in binary)

На момент написание это последняя версия

Теперь нужно указать откуда crc будет читать pull-secret.txt

crc config set pull-secret-file /полный_путь_до/pull-secret.txt

После этого запускаем настройку

crc setup
crc setup
INFO Checking if running as non-root              
INFO Caching oc binary                            
INFO Setting up virtualization with HyperKit      
INFO Will use root access: change ownership of /Users/dev/.crc/bin/hyperkit 
INFO Will use root access: set suid for /Users/iuriimedvedev/.crc/bin/hyperkit 
INFO Installing crc-machine-hyperkit              
INFO Will use root access: change ownership of /Users/dev/.crc/bin/crc-driver-hyperkit 
INFO Will use root access: set suid for /Users/dev/.crc/bin/crc-driver-hyperkit 
INFO Setting file permissions for /etc/resolver/testing 
INFO Setting file permissions for /etc/hosts      
INFO Will use root access: change ownership of /etc/hosts 
INFO Unpacking bundle from the CRC binary         
Setup is complete, you can now run 'crc start' to start a CodeReady Containers instance

После настройки можно непосредственно стартовать crc

crc start

Если в процессе старта, вы получите, ошибку как у меня ниже:

crc start
INFO Checking if running as non-root              
INFO Checking if oc binary is cached              
INFO Checking if HyperKit is installed            
INFO Checking if crc-driver-hyperkit is installed 
INFO Checking file permissions for /etc/resolver/testing 
FATA /etc/hosts is not readable/writable by the current user 

То необходимо подправить права на файл hosts:

chmod 0600 /etc/hosts

И пробуем заново

crc start
INFO Checking if running as non-root              
INFO Checking if oc binary is cached              
INFO Checking if HyperKit is installed            
INFO Checking if crc-driver-hyperkit is installed 
INFO Checking file permissions for /etc/resolver/testing 
INFO Checking file permissions for /etc/hosts     
INFO Extracting bundle: crc_hyperkit_4.1.14.crcbundle ... 
INFO Creating VM ...                              
INFO Verifying validity of the cluster certificates ... 
INFO Restarting the host network                  
INFO Check internal and public dns query ...      
INFO Copying kubeconfig file to instance dir ...  
INFO Adding user's pull secret and cluster ID ... 
INFO Starting OpenShift cluster ... [waiting 3m]  
INFO                                              
INFO To access the cluster, first set up your environment by following 'crc oc-env' instructions 
INFO Then you can access it by running 'oc login -u developer -p developer https://api.crc.testing:6443' 
INFO To login as an admin, username is 'kubeadmin' and password is BMLkR-NjA28-v7exC-8bwAk 
INFO                                              
INFO These credentials can also be used to access the OpenShift web console at https://console-openshift-console.apps-crc.testing 

Сама виртуальная машина находится

~/.crc/machines/crc

К моему сожалению при поднятом cisco anyconect crc не работает, хотя тоже самое было и с minishft и minikube Но все же первое впечатление крайне положительное, по мне намного лучше minishift/minikube

Официальная докуметация доступна по ссылке