По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Если вы на пути изучения Kubernetes, начните с лабораторной среды. Использование лабораторной среды позволит вам правильно развернуть и получить рабочую среду Kubernetes и это является одним из лучших способов проведения экспериментов и обучения.
В этой статье рассмотрим установку Minikube на Windows Hyper-V Server 2019, его конфигурацию и работу с приложениями и их развертываниями.
Что такое Minikube?
Minikube это простой и быстрый способ создать локальный кластер Kubernetes. Он работает на MacOs, Lunix и Windows системах. Также это отличный вариант для разработчиков и тех, кто еще плохо знаком или только начинает изучать Kubernetes.
Некоторые возможности и особенности решения Minikube:
Кроссплатформенность, т.е. поддерживает все основные ОС: Linux, macOS и Windows;
В зависимости от возможностей, можно развернуть в виртуальной машине, контейнере или на железо;
Поддержка Docker;
Наличие драйверов для VmWare, VirtualBox, Docker, KVM, Hyper-V и др.;
Поддержка последних версий Kubernetes;
Docker API для быстрого развертывания образов;
Использование дополнений (addons);
Minikube обладает интегрированной поддержкой Dashboard Kubernetes
Установка Minikube
Для работы в Minikube на Hyper-v нужно выполнить следующие действия:
Проверить соответствие минимальным требованиям
Предварительно настроить Hyper-v server
Выбрать диспетчер пакетов для установки Minikube
Установить Minikube
Запустить кластер Kubernetes
Подключиться к кластеру, посмотреть дашборд
1. Проверка соответствия минимальным требованиям:
Для развертывания и использования Minikube в соответствии с его документацией должны удовлетворяться следующие требования:
2 GB свободной оперативной памяти
2 или более CPU
От 20 GB или более свободного дискового пространства
Наличие интернет
Docker container или виртуальная машина, например, VirtualBox или Hyper-V
2. Настройка Hyper-v server
Какой-то специальной настройки Hyper-v не требует, должны выполняться стандартные требования для работы Hyper-v: 64-разрядный процессор с преобразованием адресов второго уровня (SLAT), достаточный объем оперативной памяти и быстрые диски. Поддержка виртуализации в BIOS/UEFI (у Intel - Intel VT, у AMD - AMD-V). Чтобы виртуальные системы имели доступ в интернет, нужно заранее создать внешний виртуальный коммутатор.
Вначале посмотрим доступные сетевые адаптеры:
Get-NetAdapter
Найденное имя адаптера добавим в команду ниже.
Создать новый внешний сетевой адаптер можно командой PowerShell
New-VMSwitch -name ExternalSwitch -NetAdapterName "Ethernet 2" -AllowManagementOS $true
В противном случае при первом запуске Minikube покажет ошибку:
! StartHost failed, but will try again: creating host: create: precreate: no External vswitch nor Default Switch found. A valid vswitch must be available for this command to run.
Попросит выполнить minikube delete и отправит читать документацию: https://docs.docker.com/machine/drivers/hyper-v/
3. Диспетчер пакетов
В этой статье используется Windows Server 2019, и мы будем использовать Chocolatey, так как другой диспетчер пакетов - Windows Package Manager поддерживает только Windows 10.
Из PowerShell выполним команды:
iwr https://chocolatey.org/install.ps1 -outfile C:install.ps1
c:install.ps1
4. Инсталляция Minikube
После установки Chocolatey нужно выполнить команду:
choco install minikube
5. Запуск
Если после выполнения команды minikube start он не запускается, значит нужно установить соответствующие драйвера и провайдер
Для запуска с привилегированными правами, выполним:
runas /noprofile /user:администратор powershell
В нашем случае для Hyper-V выполняем:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Проверим установку компонентов:
Get-WindowsFeature –Name –hyper-v
Выяснилось, что актуальная версия Minikube не работает c Hyper-v, понизим версию командой
choco install minikube --version 1.6.2 --allow-downgrade
затем удалим minikube delete и снова запустим
minikube start
6. Подключение
Проверить, что VM запущена, поможет команда PowerShell
Get-vm
Просмотреть, что окружение запущено можно командой kubectl get po –A
Подготовим хостовую систему для работы браузеров, установив дополнительные компоненты:
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
И перезагрузим сервер, затем выполним команду minikube dashboard
На сервер предварительно скопирован браузер Firefox, в нем откроем ссылку и убедимся в работоспособности.
Работаете с IP – АТС Asterisk? Тогда этот материал для вас. Говорить будем про отправку уведомлений в VK (Вконтакте) при входящем звонке. От слов к делу.
Получаем access_token
Первым делом, перейдите Developers раздел VK. В хедере (верхнем меню навигации) нажмите Мои приложения после чего нажмите Создать приложение:
Название - дайте имя для вашего аппликейшна. Например, Asterisk;
Платформа - выбираем Standalone-приложение;
Переходим в раздел настроек созданного приложения. Копируем ID приложения, как показано на рисунке ниже:
Отлично. Теперь скопируйте ссылку ниже:
https://oauth.vk.com/authorize?client_id=1234567&scope= offline,messages&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.37&response_type=token
Предварительно замените client_id на ваше значение, полученное ранее (ID приложения). VK API спросит разрешения на доступ к некоторым данным:
Если все ОК, то VK вернет нам токен:
Если вы столкнулись с ошибкой вида «{"error":"invalid_request","error_description":"Security Error"}», то перелогиньтесь в вашей учетной записи в VK и повторите попытку
Сохраняем значение и переходим к настройке скрипта на стороне Asterisk.
Адаптация на Asterisk
Реализацию скрипта сделаем на .php. Создайте файл asteriskvk.php и наполните его следующим содержимым:
#!/usr/bin/php -q
<?php
require('phpagi.php');
$agi = new AGI();
$message = "Сейчас поступит звонок с номера: ";
$message .= $agi->request['agi_callerid'];
$id = "ID получателя сообщения";
$token = "Токен";
function send($id , $message, $token)
{
$url = 'https://api.vk.com/method/messages.send';
$params = array(
'user_id' => $id,
'message' => $message,
'access_token' => $token,
'v' => '5.37',
);
$result = file_get_contents($url, false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($params)
)
)));
}
send($id, $message, $token);
Скачать скрипт
В скрипте вам необходимо поменять следующие переменные:
$id - идентификатор пользователя, которому будет отправлено сообщение. Помимо user_id, это может быть ID группового чата;
$token - API - токен, который вы получили ранее;
Сохраняйте файл и загрузите в директорию /var/lib/asterisk/agi-bin/ после чего дайте следующие команды в консоли сервера:
chmod 755 /var/lib/asterisk/agi-bin/asteriskvk.php
chown asterisk:asterisk /var/lib/asterisk/agi-bin/asteriskvk.php
dos2unix /var/lib/asterisk/agi-bin/asteriskvk.php
Лезем в диалплан и на входящем маршруте адаптируем простенькую конструкцию:
exten => _.,n,AGI(asteriskvk.php)
Звоним и проверяем:
В данной статье мы расскажем вам как заблокировать к определенным вебсайтам (к их доменам) с самым обычным межсетевым экраном Cisco ASA. Данный метод работает как на старых 5500 моделях, так и на новых 5500-X. Единственное требование – наличие версии ПО старше 8.4(2) Кроме того, вам не требуется никаких фич, присущих МСЭ следующего поколения или дополнительных подписок.
Важный момент – даже если данное решение по блокировке вебсайтов выглядит довольно простым, оно не является заменой полноценному веб-прокси серверу. В случае Cisco, таким решением является Cisco WSA – Web Security Appliance, или же данный функционал можно активировать с помощью покупки подписки на URL фильтрацию для вашего МСЭ следующего поколения.
Используемые методы
Всего существует несколько способов блокировки страниц в интернете:
Регулярные выражения с MPF (Modular Policy Framework);
Блокировка по сетевому адресу с помощью листов контроля доступа (ACL);
Используя FQDN (Fully Qualified Domain Name) в листе контроля доступа (ACL);
Первый метод работает довольно хорошо с HTTP сайтами, но он не будет работать от слова совсем с HTTPS сайтами. Второй метод будет работать только для простых сайтов, у которых статический IP – адрес, то есть будет очень трудоемко настроить его для работы с такими сайтами как Facebook, VK, Twitter и т.д. Поэтому, в данной статье мы опишем третий метод.
Описание настройки
При использовании версии ПО выше или равной 8.4(2), появилась возможность добавлять в ACL такие объекты как FQDN (полные доменные имена). Таким образом, вы можете разрешить или запретить доступ к хостам используя их доменные имена вместо IP – адресов. То есть можно будет запретить доступ к Фейсбуку просто запретив доступ к FQDN объекту «www.facebook.com» внутри ACL.
Важное преимущество данного метода состоит в том, что это не скажется на производительности вашего МСЭ – т.к DNS лукап будет совершен до этого и все ассоциированные с этим FQDN будут храниться в памяти устройства. В зависимости от TTL на DNS лукапе, МСЭ может продолжать совершать DNS запросы для определенного доменного имени (каждые несколько часов, к примеру) и обновлять IP – адреса в памяти.
На примере сети ниже, мы хотим заблокировать доступ к www.website.com, который имеет IP-адрес 3.3.3.3. Наша ASA будет использовать внутренний DNS - сервер (или любой другой DNS – сервер) для получения адреса и запрета доступа к нему во входящем ACL на внутреннем интерфейсе.
Команды
Теперь настало время написать сам конфиг (точнее только его часть, которая касается блокировки страниц). Он указан ниже, с комментариями:
domain-name merionet.ru
interface GigabitEthernet0
nameif outside
security-level 0
ip address 1.2.3.0 255.255.255.0
interface GigabitEthernet1
nameif inside
security-level 100
ip address 192.168.1.1
!другие команды настройки интерфейса скрыты
!Указываем, какой DNS сервер использовать для определения IP – адресов
dns domain-lookup inside
dns server-group DefaultDNS
name-server 192.168.1.2
domain-name mycompany.com
!Создаем FQDN объекты для тех сайтов, которые хотим заблокировать. Указываем как с www так и без
object network obj-www.website.com
fqdn www.website.com
object network obj-website.com
fqdn website.com
!Добавляем FQDN объекты во входящий ACL на внутреннем интерфейсе
access-list INSIDE-IN extended deny ip any object obj-www.website.com
access-list INSIDE-IN extended deny ip any object obj-website.com
access-list INSIDE-IN extended permit ip any any
!Применяем ACL выше для внутреннего интерфейса
access-group INSIDE-IN in interface inside