![NodePort](https://www.itworkroom.com/wp-content/uploads/NodePort-.jpeg)
Чтобы создать службу NodePort, необходимо описать его в манифесте: kubia-svc-nodeport.yaml. В файле задается тип NodePort и указывается порт узла, к которому должна быть привязана эта служба на всех узлах кластера, при этом указание порта не является обязательным. Если его не указать, Kubernetes выберет случайный порт.
apiVersion: v1 kind: Service metadata: name: kubia-nodeport spec: type: NodePort ports: – port: 80 targetPort: 8080 nodePort: 30123 selector: app: kubia
![Endpoints](https://www.itworkroom.com/wp-content/uploads/Endpoints-1.png)
Конечные точки служб (Endpoints) Kubernetes используются для подключения к службам, находящимся за пределами кластера. Иногда через функционал служб Kubernetes требуется обеспечить доступ к внешним службам, чтобы она перенаправляла подключения на внешние IP-адреса и порты, что позволяет использовать преимущества и балансировки нагрузки служб и обнаружения служб. Клиентские модули, работающие в кластере, могут подключаться к внешней службе так же, как и к внутренним службам.
Службы (Service) не связываются с модулями напрямую. Вместо этого между ними находится ресурс конечных точек (Endpoints). Ресурс Endpoints – это список IP-адресов и портов, предоставляющих доступ к службе. Ресурс конечных точек похож на любой другой ресурс Kubernetes, поэтому можно вывести его основную информацию с помощью команды kubectl get:
$ kubectl get endpoints kubia
Если создать службу без селектора модулей, то Kubernetes не создаст ресурс конечных точек. Поэтому, необходимо вручную создать ресурсы Service и Endpoints и указать список конечных точек для службы. (далее…)
![Service-k8s](https://www.itworkroom.com/wp-content/uploads/Service-k8s.png)
Служба Kubernetes – это ресурс, который формирует единую постоянную точку входа в группу модулей, предоставляющих одну и туже службу. Каждая служба имеет IP-адрес и порт, которые никогда не меняются до тех пор, пока существует служба. Клиенты могут открывать подключения к этому IP-адресу и порту, а затем маршрутизировать эти подключения в один из модулей, поддерживающих эту службу. Благодаря этому, клиентам службы не требуется знать расположение отдельных модулей, предоставляющих службу, что позволяет перемещать данные модули по кластеру в любое время. Подключения к службе сбалансированы по нагрузке на всех поддерживающих модулях.
Создание службы
Создать службу (т.е создать объект Service) можно с помощью команды kubectl expose или путем отправки YAML на сервер API Kubernetes.
Для того чтобы создать службу с помощью команды, надо сообщить Kubernetes обеспечить доступ к контроллеру репликации:
$ kubectl expose replicationcontroller kubia --type=LoadBalancer --name kubia-http-service "kubia-http" exposed
Команда expose создаст ресурс Service с тем же селектором модуля, что и используемый контроллером репликации, обеспечивая доступ ко всем своим модулям через единый IP-адрес и порт.
(далее…)
![bitcoin-halving](https://www.itworkroom.com/wp-content/uploads/hal-btc.png)
Что такое халвинг Bitcoin?
Халвинг (halving) это уполовинивание Bitcoin, оно происходит после добычи каждых 210 000 блоков, или примерно каждые четыре года, уменьшая вдвое количество Bitcoin, вознаграждаемых за проверку одного блока транзакций. Первоначально майнеры получали по 50 BTC за блок перед первым событием сокращения пополам в 2012 году. Таким образом, три последующих сокращения пополам привели к текущему вознаграждению за блок в размере 6,25 Bitcoin. Этот процесс ограничивает предложение Bitcoin, что увеличивает их дефицит и потенциально повышает их стоимость.
Первое сокращение произошло 28 ноября 2012 года, в результате чего майнеры получили 25 BTC за добытый блок. После второго халвинга 9 июля 2016 года вознаграждение было уменьшено до 12,5 BTC за добытый блок. 11 мая 2020 года последнее сокращение вдвое принесло вознаграждение в размере 6,25 BTC, а следующее событие сокращения произойдет в 2024 году. Последующие сокращения будут продолжаться до тех пор, пока последний из 21 миллиона Bitcoin не будет полностью добыт, что, по оценкам, произойдет где-то в 2140 году.
Какова цель халвинга Bitcoin?
Концепция разделения Bitcoin вдвое была введена как часть исходного протокола Bitcoin. В нем воплощена идея дефляционной крипто валюты, используемой в первую очередь для контроля и сокращения предложения новых Bitcoin, поступающих в рыночное обращение. При ограниченном общем объеме поставок BTC никакие организации, правительства, органы власти или центральные банки не могут создавать больше Bitcoin. В результате в игру вступает идея экономики спроса и предложения.
Тем не менее, протокол Bitcoin был разработан таким образом по разным причинам. Давайте рассмотрим некоторые из них. (далее…)
Ресурс Kubernetes Job
Задания (Job) применяются для нерегулярных задач, где важно, чтобы задача закончилась правильно. Примером такого задания может служить хранение данных в каком-либо месте, а также их преобразование и экспорт.
Для определения ресурса Job создайте манифест ресурса Job:
apiVersion: batch/v1
(далее…)
kind: Job
metadata:
name: batch-job
spec:
template:
metadata:
labels:
app: batch-job
spec:
restartPolicy: OnFailure
containers:
– name: main
image: vasya/batch-job
0