Установка Helm в Unix/Linux
Так как helm нужен для помощи с k8s, то нужно установить Kubernetes. Если еще не сделали, то вот полезные маны:
Я буду использовать minikube (но это не столь важно) для стоих локальных тестов. И так, давайте приступим к установке хелма и посмотрим как можно работать с ним
-=== СПОСОБ 1 ===-
Можно вытянуть мастер ветку с гита через wget/curl, например:
$ wget https://codeload.github.com/helm/helm/zip/master -O /usr/local/src/helm.zip && unzip /usr/local/src/helm.zip -d /usr/local/src
Или через git:
$ cd /usr/local/src && git clone https://github.com/helm/helm.git
Перейдем в папку:
$ cd helm
И выполняем билд:
$ make bootstrap build
Готово!
-=== СПОСОБ 2 ===-
Зайти на сайт и выкачать последний релиз-кандидат. Я люблю автоматизацию и по этому захотелось найти способ получить последние релизы прям из терминала, вот команда:
$ curl -s --list-only https://github.com/helm/helm/releases | grep -E "https://storage.googleapis.com/kubernetes-helm/helm-"| grep -E "MacOS|Linux"| cut -d">" -f2| cut -d"=" -f2| cut -d '"' -f2
Покажет примерно вот такое:
https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-darwin-amd64.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-linux-amd64.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-linux-arm.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-linux-arm64.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-linux-386.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-linux-ppc64le.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-linux-s390x.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-rc.4-darwin-amd64.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-rc.4-linux-amd64.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-rc.4-linux-arm.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-rc.4-linux-arm64.tar.gz .............
Находим необходимую ссылку и качаем
$ wget https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-darwin-amd64.tar.gz -O /usr/local/src/helm-v2.11.0-darwin-amd64.tar.gz
Получаем бинарник из архива:
$ tar xfvz /usr/local/src/helm-v2.11.0-darwin-amd64.tar.gz -C /usr/local/src
Перемещаем бинарник:
$ mv darwin-amd64/helm /usr/local/bin/helm && sudo chmod +x /usr/local/bin/helm
Да! Иногда я велосипедю))) Но разве это плохо? xD
Почитав доку с хелмом, нашел их решение по уставновке (ЛОЛка):
$ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
Или:
$ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh $ chmod 700 get_helm.sh $ ./get_helm.sh
Можно юзать все кому что удобно.
-=== СПОСОБ 3 ===-
Для Mac OS X имеется установщик через homebrew (Установка homebrew тут):
$ brew install kubernetes-helm kubernetes-cli
Может есть еще другие способы установить данное ПО себе на машину, но думаю этих хватит.
Установка speedtest-cli для проверки скорости интернета в Unix/Linux
Есть несколько способов установить speedtest-cli:
- Первый способ — предполагает использование пакета python-pip.
- Второй способ — загрузить сценарий Python, сделать его исполняемым и запустить.
- Третий способ — использовать пакетный менеджер.
- Четвертый способ — скачать speedtest-cli используя Github.
Все команды я буду выполнять от суперпользователя, по этому — я залогинюсь под ним:
$ sudo su
Вводим пароль от пользователя root и получаем его права.
-=1=- Установка speedtest-cli используя pythin-pip
И так, для начала выполняем установку python-pip, если не знаете как это сделать — вот статья:
И, выполняем установку speedtest-cli пакета:
# pip install speedtest-cli
Для обновления speedtest-cli, используйте:
# pip install speedtest-cli --upgrade
-=2=- Установка speedtest-cli используя Python скрипт
Сначала загрузите скрипт python из github с помощью команды wget, распакуйте загруженный файл (master.zip):
$ cd /usr/local/src && wget https://github.com/sivel/speedtest-cli/archive/master.zip && unzip master.zip
После извлечения архива, перейдите в speedtest-cli-master папку и сделайте исполняемый файл:
$ cd speedtest-cli-master/ $ chmod 755 speedtest_cli.py
Затем переместите исполняемый файл в /usr/bin директорию:
$ sudo mv speedtest_cli.py /usr/bin/
Вот еще один вариант:
# cd /usr/local/src && wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py # chmod +x speedtest-cli
Или:
# cd /usr/local/src && curl -Lo speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py # chmod +x speedtest-cli
-=3=- Установка speedtest-cli используя пакетный менеджер.
Если вы используйте Debian/Ubuntu ОС, выполните:
# apt install speedtest-cli
Если вы используйте CentOS/Fedora/RHEL ОС, выполните:
# yum install speedtest-cli
Если вы используйте Mac OS X, выполните:
Для начала, устанавливаем HomeBrew:
И выполняем установку:
$ brew install speedtest_cli
-=4=- Установка speedtest-cli используя Github
Используем:
$ pip install git+https://github.com/sivel/speedtest-cli.git
Или
$ git clone https://github.com/sivel/speedtest-cli.git
И выполняем установку:
# python speedtest-cli/setup.py install
Или можно запустить следующую команду:
$ curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -
Команда chgrp Linux
Стандарт прав файлов пришёл в Linux из Unix. У каждого файла есть владелец (user) и группа (group), помимо этого описываются права остальных пользователей (other). Права состоят из трёх пунктов: чтение (read), запись (write), выполнение (execute). Для изменения прав используется команда umask, но для изменения непосредственно владельца и группы используются команды chown и chgrp. Для просмотра текущих прав можно использовать команду ls.
Синтаксис и опции chgrp
Общий вид команды chgrp:
$ chgrp новая_группа имя_файла
Список распространённых параметров команды chgrp:
- -h – работать непосредственно с самими символьными ссылками, а не с файлами, на которые они ссылаются;
- —dereference – работать с файлами, а не самими символьными ссылками. Используется по умолчанию;
- -R – рекурсивная обработка каталога со всем его содержимым;
- -H – перейти по символической ссылке и изменить атрибуты файла/каталога. Сама ссылка остаётся без изменений. Используется вместе с параметром -R;
- -L — перейти по символической ссылке и продолжить рекурсивную обработку. Сама ссылка остаётся без изменений. Используется вместе с параметром -R;
- -P – при встрече с символьной ссылкой обрабатывать только её. Используется вместе с параметром -R, является значением по умолчанию;
- —reference=имя_образца – использовать группу образца. Используется вместо новая_группа;
- -c – при обработке выводить только изменения;
- -v – выводить информацию о каждом обработанном файле.
Использование команды chgrp
Рассмотрим сразу несколько случаев использования, с реальным файлом и каталогом, а затем с символическими ссылками на них. Простейший пример использования команды chgrp без параметров. Следующая команда меняет группу на www-data для файла file в текущей папке:
А эта меняет группу на www-data для папки folder:
С реальными файлами и каталогами команда работает весьма предсказуемо, меняя их группу. Файлы в папке остаются неизменными. Если же обрабатывать символические ссылки, то их атрибуты останутся неизменными, а файлы получат новую группу. Такое поведение аналогично работе с параметром —dereference. Например, эти команды, применённые к символическим ссылкам, отработают как показано на снимке:
Теперь посмотрим на то, как будет работать параметр -h, меняющий атрибуты символической ссылки:
С параметром -h изменились только атрибуты ссылок, а не сами файлы. Теперь рассмотрим работу c параметром -R, предназначенным для рекурсивной обработки каталогов:
Новая группа была задана не только каталогу, но и всем файлам внутри
Обратите внимание на то, что поведение изменилось, теперь при обработке символической ссылки атрибуты выставляются для самой ссылки, а не файла
Чтобы увидеть разницу между параметрами -H и -L, рассмотрим ещё пару примеров. Напомним, что их надо использовать совместно с параметром -R:
С использованием параметра -H поведение при обработке символических ссылок изменилось, теперь они обрабатываются так, как будто команды выполняются по отдельности. Атрибуты ссылок не меняются, меняются атрибуты самих файлов, при переходе на каталог рекурсивная обработка прекращается.
С использованием параметра -L при переходе к папке по символической ссылке рекурсивная обработка не прекращается
Обращаем ваше внимание на то, что параметры -H и -L использовать небезопасно, они могут дойти до системных файлов
Использование xhost в Unix/Linux
Данная утилита имеет следующий синтаксис:
$ xhost remote_host_name ...]
Опции:
- -help — Служит командой для вывода помощи по командам и опциям.
- +name — Добавляет «name» (название IP или хостнейма) в список, кто имеет право подключаться к X-серверу.
- -name — Удаляет «name» (название IP или хостнейма) со списка тех, кто имеет право подключаться к X-серверу.
- + — Контроль доступа к X-серверу отключен; разрешение всем и отовсюду.
- — — Контроль доступа к X-серверу включен; разрешение только по списку.
- <ничего> — Если аргументов не указано то выводится информации о текущем состоянии разрешения подключений.
Выведем информацию о текущем состоянии разрешений пользователей или хостов на подключение:
$ xhost
Разрешить полный доступ к X-серверу (всем и отовюсду):
# xhost +
Запретить доступ к X-серверу (разрешение только по списку):
# xhost -
Разрешить запуск графических программ от имени root на локальной машине:
# xhost local:root
Разрешить запуск графических программ от имени root на локальной машине:
# xhost local:root
Или:
# xhost +si:localuser:root
Разрешить запуск графических программ с 192.168.13.113 на локальной машине:
# xhost + 192.168.13.113
Запретить запуск графических программ с 192.168.13.113 на локальной машине:
# xhost - 192.168.13.113
Можно указать вот так:
- 192.168.13.113:0 Нулевой дисплей на компьютере Sky
- 192.168.13.113:0.1 Первый экран нулевого дисплея данного компьютера
- 192.168.13.113:3 Третий дисплей данного компьютера
Чаще всего имя дисплея — это или просто «:0.0», или «компьютер:0.0». Чтобы узнать какой дисплей используется в системе, выполните:
$ echo $DISPLAY
Чтобы установить DISPLAY переменную, выполните (bash):
$ DISPLAY=192.168.13.113:0.0; export DISPLAY
Чтобы установить DISPLAY переменную, выполните (bash):
$ setenv DISPLAY 192.168.13.113:0.0
xhost + — огромная дыра в безопасности, поскольку она дает каждому доступ к вашим ресурсам X-сервера (не только вашему дисплею, но также и вашу мышь и клавиатуру), поэтому каждый может читать или изменять то, что вы набираете/нажимаете. Плохая привычка использовать «xhost +». Даже когда вы используете «xhost + localhost», вы открываете доступ всем людям кто на localhost-е. Тогда, как быть и что исользовать? Простейшим способом является ssh-туннелирование.
$ ssh -X oracle@localhost Last login: Fri Max 2 11:33:55 2017 from localhost $ if xterm -e true; then echo success; fi success
Другой способ это — использовать cookie X:
$ xauth extract ~/my-x-cookie $DISPLAY< $ setfacl -m u:oracle:r ~/my-x-cookie $ su - oracle -c "DISPLAY=$DISPLAY bash" Password: $ if xterm -e true; then echo success; fi Xlib: connection to ":0.0" refused by server Xlib: No protocol specified xterm Xt error: Can't open display: :0.0 $ xauth merge ~lsc/my-x-cookie xauth: creating new authority file ~oracle/.Xauthority $ if xterm -e true; then echo success; fi success
Можно создать алиас:
alias oracle=' xauth extract $HOME/my-x-cookie $DISPLAY; setfacl -m u:oracle:r $HOME/my-x-cookie; su - oracle -c "export DISPLAY=$DISPLAY; xauth merge $HOME/my-x-cookie; bash"'
Вот и все, статья «Утилита xhost в Unix/Linux» подошла к завершению.
Установка mtr в Unix/Linux
MTR — бесплатное приложение, которое сочетает в себе функциональность трассировки и пинг в качестве инструмента для диагностики единой сети. При этом, вы сможете проверить потери пакетов и низкой скорости соединения, чтобы помочь в устранении неполадок программного обеспечения.
Хочу рассказать в своей статье «Установка mtr в Unix/Linux» как можно установить и пользоваться утилитой MTR в Unix/Linux.
Установка MTR в Debian/Ubuntu/Mint:
$ apt-get install mtr
Установка MTR в CentOS/RedHat/Fedora:
$ yum install mtr
Установка MTR в Arch:
$ pacman -S mtr
Установка MTR на Mac OS
1. Можно скачать и установить пакет:
https://rudix.googlecode.com/files/mtr-0.82-0.pkg
Я этот метод не проверял.
2. Скачать и установить из исходного кода.
$ cd Downloads && wget ftp://ftp.bitwizard.nl/mtr/mtr-0.86.tar.gz $ tar xvzf mtr-0.86.tar.gz $ cd mtr-0.81 # export LIBS='-lm -ltermcap -lresolv' # ./configure && make && sudo make install
После этого, я добавлю алиас команды, для более удобного использования. Для этого, я открою файл и добавлю строчку:
$ vim ~/.bash_profile alias mtr=/usr/local/sbin/mtr
Скопируйте данные (полезно, если вы хотите подать жалобу, например на вашего провайдера).
Вы можете сделать скриншот экрана с помощью:
- Command+Shift+3: Сделает скриншот экрана и сохранит его в виде файла на рабочем столе.
- Command+Shift+4, затем выберите площадь: Сделает скриншот области и сохранит его в виде файла на рабочем столе.
Loss % — все потерянные пакеты между компьютером и серверами.
SNT — количество отправленных пакетов.
LAST — Задержка последнего отправляемого пакета .
Avrg — Среднее время ожидания всех пакетов.
Best — Отображает лучший Round Trip Time для этого пакета на этом хосте (shortest RTT).
Disregard 100% — это сто процентная потеря если есть другие узлы, перечисленные после.
Wrst — Отображает худший Round Trip Time для этого пакета на этом хосте (longest RTT).
Опции программы MTR
Показать сводку параметры аргументов в командной строке :
-h —help
Распечатать установленную версию:-v —version
Помещает mtr в режим отчета. В этом режиме, mtr обработает количество циклов, определенных опцией -c, затем отобразит статистику и завершит работу. Этот режим полезен для генерации статистики о качестве сети:
-r —report
Установить количество циклов, после которых mtr завершит работу:
-c COUNT —report-cycles COUNT
Размер посылаемых пакетов:
-p BYTES —psize BYTES
Вынуждает mtr использовать curses based terminal interface если доступно:
-t —curses
Используйте эту опцию, чтобы заставить МТР для отображения числовых число IP, а не пытаться разрешать имена хостов. Не использовать DNS. Отображать IP-адреса и не пытаться получить их хостнеймы:
-n —no-dns
Используйте эту опцию, чтобы заставить МТР использовать GTK +, основанный на оконном интерфейсе X11 (если имеется). GTK +, должно быть доступным в системе, когда ССО был построен для этого, чтобы работать. См веб-страницу GTK + на http://www.gimp.org/gtk/ для получения дополнительной информации о GTK +.
-g —gtk
Выводить информацию построчно, без перерисовки экрана, с разделением полей пробелом. Этот формат удобен, если вы используете какую-то дополнительную программу-парсер или скрипт для анализа, которому передаются данные:
-s —split
Использовать «сырой» формат вывода. То есть выводить неформатированные данные:
-l —raw
Указать адрес интерфейса, с которого будут отправляться пакеты:
-a IP.ADD.RE.SS —address IP.ADD.RE.SS
Интервал между отправляемыми запросами:
-i SECONDS —interval SECONDS
Использовать протокол UDP для отправки пакетов:
-u
Использовать только IPv4:
-4
Использовать только IPv6:
-6
Примеры использования.
Выполнить MTR для домена
MTR работает в двух режимах, графический режим (X11) и текстовом режиме на основе (Ncurses). По умолчанию, команда mtr работает в режиме X11.
$ mtr linux-notes.org
mtr linux-notes.org
Запуск в текстовом режиме -curses
Используйте опцию «-curses» чтобы работать с mtr в терминальном режиме.
$ mtr --curses linux-notes.org
Исключить Обратный DNS с помощью «-no-DNS»
MTR находит имя хоста каждого маршрутизатора / узла с помощью обратного просмотра DNS. Если вы хотите, чтобы избежать выполнение обратного поиска DNS, используйте «-no-DNS» вариант.
$ mtr --curses --no-DNS linux-notes.org
Использовать mtr в режиме отчета с помощью «-report»
$ mtr --no-DNS --report linux-notes.org
Установка mtr в Unix/Linux завершена.