Translate

неділя, 1 квітня 2018 р.

OpenLDAP Server. Part II: FusionDirectory LDAP Browser

Нещодавно я оновив статтю про установку та налаштування OpenLDAP серверу, де також торкнувся теми підвищення безпеки інсталяції та використання панелі адміністрування phpLDAPadmin. Цього ж разу я хочу приділити увагу іншій веб-інтерфейсу FusionDirectory.

FusionDirectory - програмний комплекс, що забезпечує зручне управління даними в LDAP-каталозі. Це форк проекту Gosa², який відбувся в 2011 році через обмежений доступ до коду та процесу розробки оригінального продукту. Таким чином FusionDirectory хотів залучити в проект сторонніх розробників та покращити документацію.

У 2010 році Gosa² була обрана як фронтенд управління LDAP інфраструктурою німецького міста Мюнхен у межах проекта LiMux. На жаль, проект планують згорнути до 2020 на користь продуктів компанії Microsoft. Та і самій Gosa² пощастило не більше: останній реліз датується 2012 роком, хоча варто визнати, що пакети для її установки і досі присутні в офіційних репозиторіях Ubuntu.


1. INSTALLATION


Проте її форк FusionDirectory і досі відносно активно розвивається: останній реліз з версією 1.2 відбувся влітку 2017 року. Для того, щоб виконання подальших інструкцій в цій статті мало сенс, спочатку необхідно встановити OpenLDAP сервер, про інсталяцію якого я вже писав і згадував. Спершу встановимо пакети-залежності, які потребує FusionDirectory, але не запитує явно:

# apt install make
# cpan -i Archive::Extract

На відміну від Gosa², останні пакети FusionDirectory не присутні в стандартних репозиторіях Ubuntu, тому необхідно додати сторонні:

# cat << EOF > /etc/apt/sources.list.d/fusiondirectory.list
# FusionDirectory
deb http://repos.fusiondirectory.org/fusiondirectory-current/debian-wheezy wheezy main
deb http://repos.fusiondirectory.org/fusiondirectory-extra/debian-jessie jessie main
EOF

середа, 10 січня 2018 р.

Kubernetes. Part V: Configure And Use Ingress

Ця стаття вже п'ята з серії статей про Kubernetes. Перед її прочитанням рекомендую ознайомитись хоча б з базовими об'єктами кластеру та їх використанням для вирішення задач.

Сервіси Kubernetes надають можливість створення постійних точок входу до контейнерів додатків, що працюють в подах, проте IP адреси сервісів обираються з діапазону оверлейної мережі, і тому є видимими лише в межах кластеру. Тож у разі необхідності доступу до таких додатків ззовні існують наступні варіанти:

hostNetwork: true. Под, створений із такою опцією, матиме можливість бачити мережеві інтерфейси Kubernetes хосту, де його було запущено.

apiVersion: v1
kind: Pod
metadata:
  name: influxdb
spec:
  hostNetwork: true
  containers:
    - name: influxdb
      image: influxdb

Порт такого додатку буде прослуховуватись на всіх інтерфейсах вузла. Використання цієї опції не рекомендовано, адже в цьому випадку вичерпується простір портів хост-машини, що зі зростанням кількості працюючих додатків може з легкістю призвести до конфліктів. Більш того, у разі перестворення поду, він може "переселитись" на інший вузол, що додасть складності в його пошуках. Виключенням можуть слугувати поди утиліт, котрим дійсно необхідний вищезгаданий доступ задля управлінням мережею і т.п.

hostPort: integer. Ця опція дозволяє поду активувати лише один порт на всіх інтерфейсах вузла Kubernetes. Yaml для створення такого поду буде виглядати наступним чином:

apiVersion: v1
kind: Pod
metadata:
  name: influxdb
spec:
  containers:
    - name: influxdb
      image: influxdb
      ports:
        - containerPort: 8086
          hostPort: 8086

Його, як і попередній варіант, дуже не рекомендовано використовувати по тим же причинам.