Админизм

заметки об администрировании и программировании (python, ruby, php). Траблшутинг в «примерах» и HOWTO.

😎 О себе | 📚 Литература и ресурсы | ⚡ Все посты | 📮 E-mail

Elasticsearch: перенос данных на другой диск системы

Elasticsearch: перенос данных на другой диск системы Ubuntu 16.04 / Ubuntu 18.04 / Ubuntu 20.04

Так как на основном разделе диска закончилось дисковое пространство, а в системе был второй диск был выполнен перенос данных из директории Elasticsearch в не стандартную. Для этого выполнены следующие шаги:

  1. Остановлены сервисы ELK-стека:

sudo systemctl stop elasticsearch.service kibana.service logstash.service


  1. Подмонтирован диск и создана партиция (описывать не буду, но если требуется — напишу)
  1. Директория для сохранения данных /srv/elastic_data создана и подправлены права

sudo mkdir /srv/elastic_data/
sudo mkdir /srv/elastic_data/logs/
sudo chown elasticsearch.elasticsearch /srv/elastic_data/


  1. Данные скопированы в /srv/elastic_data

cp -r --preserve=all /var/lib/elasticsearch/ /srv/elastic_data/


  1. В конфиге изменена директория для данных и логов

sudo vim /etc/elasticsearch/elasticsearch.yml


Правка следующая:


path.data: /srv/elastic_data/elasticsearch
path.logs: /srv/elastic_data/elasticsearch/logs


После поочередно запускаем сервисы — я начал с Elasticsearch и через минут 5 запустил остальное, убедившись, что система заработала


sudo systemctl start elasticsearch.service
sudo systemctl start kibana.service
sudo systemctl start logstash.service


Kubernetes: Postgresql открыть порт на NGINX-Ingress


apiVersion: v1
kind: Service
metadata:
  labels:
    app: postgres-container
    tier: backend
  name: postgres
spec:
  ports:
  - port: 5432
    protocol: TCP
  selector:
    app: postgres
  sessionAffinity: None
  type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-tutorial
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: my_kube.info
    http:
      paths:
      - path: /
        backend:
          serviceName: postgres-container
          servicePort: 5432


https://stackoverflow.com/a/50197893

Helm: Установка Elasticsearch + Kibana v7.3.2

Заметка как быстро засетапить стек Elasticsearch + Kibana v7.3.2. Сразу есть некоторые нюансы — сетапится в дефолтный namespace


helm repo add elastic https://helm.elastic.co
helm update


Установка Elasticsearch v7.3.2


helm install elastic/elasticsearch --namespace default --name elasticsearch --set imageTag=7.3.2 --set replicas=1 --set esMajorVersion=7 --set resources.requests.memory=1Gi --set volumeClaimTemplate.storageClassName=standard --set volumeClaimTemplate.resources.requests.storage=10Gi


Установка Kibana v7.3.2


helm install elastic/kibana --namespace default --name kibana --set imageTag=7.3.2,elasticsearch.hosts=http://elasticsearch-master.default.svc.cluster.local:9200


Сразу все не завелось, поэтому я смотрел статус и логи. Проблема была в том, что я указал elasticsearch.url, при установке Elasticsearch v7, где он был заменен на elasticsearch.hosts

Падало оно с ошибкой Readiness probe failed:


kubectl logs kibana-kibana-7754c47b67-vxc8q



kubectl describe po kibana-kibana-7754c47b67-vxc8q


После корректировки сетапа ошибка повторилась, но сервис запустился
Далее для проверки я пробросил порт на локальную машину


kubectl port-forward kibana-kibana-7754c47b67-vxc8q 5601:5601


Установка Istio в Kubernetes с помощью Helm


kubectl create namespace istio-system

git clone https://github.com/istio/istio

cd istio

git checkout release-1.3

kubectl apply -f install/kubernetes/helm/helm-service-account.yaml

helm init --service-account tiller

helm install install/kubernetes/helm/istio --name istio --namespace istio-system --set kiali.enabled=true --set gateways.istio-ingressgateway.type=NodePort

kubectl label namespace default istio-injection=enabled


PostgreSQL: Изменить владельца таблиц в БД

После разворачивания дампа БД от другого пользователя, потребовалось скорректировать права на таблицы в БД. Быстрый поиск выдал статейку от утилты TablePlus. Отработало идеально, поэтому забираю к себе в заметки, вдруг еше понадобится.

Tables:


for tbl in `psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" bdname` ; do  psql -c "alter table \"$tbl\" OWNER to NEWOWNER" DBNAME ; done


Sequences:


for tbl in `psql -qAt -c "select sequence_name from information_schema.sequences where sequence_schema = 'public';" dbname` ; do  psql -c "alter table \"$tbl\" OWNER to NEWOWNER" DBNAME ; done


Views:


for tbl in `psql -qAt -c "select table_name from information_schema.views where table_schema = 'public';" dbname` ; do  psql -c "alter table \"$tbl\" OWNER to NEWOWNER" DBNAME ; done


DBNAME — имя БД
OWNER — текущий владелец таблиц в БД
NEWOWNER — новый владелец таблиц в БД

Источник

Ранее Ctrl + ↓