-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathindex.xml
3166 lines (2466 loc) · 395 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Yevhen Lebid's website</title>
<link>https://ealebed.github.io/</link>
<description>Recent content on Yevhen Lebid's website</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Thu, 26 Aug 2021 11:07:20 +0300</lastBuildDate><atom:link href="https://ealebed.github.io/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Healthcheck для Apache Airflow в Kubernetes кластере</title>
<link>https://ealebed.github.io/posts/2021/healthcheck-for-apache-airflow-in-k8s-cluster/</link>
<pubDate>Thu, 26 Aug 2021 11:07:20 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2021/healthcheck-for-apache-airflow-in-k8s-cluster/</guid>
<description><p>В одной из предыдущих статей мы довольно подробно рассматривали процесс <a href="https://ealebed.github.io/posts/2020/%D1%80%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-apache-airflow-%D0%B2-kubernetes/">развертывания Apache Airflow в Kubernetes кластере</a>, особенностью которого был запуск веб-сервера и планировщика в одном docker-контейнере. В такой реализации довольно скоро я столкнулся с необходимостью использования кастомного хелсчека для проверки работоспособности сервиса - давайте разберемся!</p></description>
</item>
<item>
<title>Интеграция Apache Airflow и Slack для отправки уведомлений</title>
<link>https://ealebed.github.io/posts/2021/apache-airflow-and-slack-integration/</link>
<pubDate>Mon, 12 Jul 2021 10:26:22 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2021/apache-airflow-and-slack-integration/</guid>
<description><p>Ранее мы уже рассматривали процесс <a href="https://ealebed.github.io/posts/2020/%D1%80%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-apache-airflow-%D0%B2-kubernetes/">развертывания <code>Apache Airflow</code> (далее <code>Airflow</code>) в кластере <code>Kubernetes</code></a> и <a href="https://ealebed.github.io/posts/2021/apache-airflow-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-kubernetespodoperator-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-api/">запуск задач с помощью API</a>. Как и обещал, в данной статье на конкретном примере я покажу как настроить отправку уведомлений о статусе задач <code>Airflow</code> в <code>Slack</code>. Давайте разберемся!</p></description>
</item>
<item>
<title>Apache Airflow: запуск Kubernetes Pod Operator через API</title>
<link>https://ealebed.github.io/posts/2021/apache-airflow-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-kubernetespodoperator-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-api/</link>
<pubDate>Sat, 22 May 2021 06:33:56 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2021/apache-airflow-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-kubernetespodoperator-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-api/</guid>
<description><p>Ранее мы уже упоминали об <a href="https://ealebed.github.io/posts/2020/%D1%80%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-apache-airflow-%D0%B2-kubernetes/"><code>Apache Airflow</code></a> - инструменте для разработки, планирования и мониторинга batch-процессов обработки данных. В данной статье рассмотрим запуск Airflow-задач (Directed Acyclic Graph, далее DAG) и передачу параметров с помощью Airflow REST API - давайте разберемся!</p></description>
</item>
<item>
<title>Безопасная работа с секретами при сборке docker-образов</title>
<link>https://ealebed.github.io/posts/2021/%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%B0%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D0%B0%D0%BC%D0%B8-%D0%BF%D1%80%D0%B8-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B5-docker-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2/</link>
<pubDate>Fri, 30 Apr 2021 07:14:15 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2021/%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%B0%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D0%B0%D0%BC%D0%B8-%D0%BF%D1%80%D0%B8-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B5-docker-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2/</guid>
<description><p>При сборке Docker-образов иногда необходимо использовать секреты (например, пароль к приватному репозиторию пакетов), которые не должны в конечном итоге оставаться в образе. В последних версиях Docker этого можно добиться благодаря <a href="https://docs.docker.com/develop/develop-images/build_enhancements/#new-docker-build-secret-information">BuildKit</a> - давайте разберемся!</p></description>
</item>
<item>
<title>Валидация миграций flyway c помощью testcontainers</title>
<link>https://ealebed.github.io/posts/2021/%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B9-flyway-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-testcontainers/</link>
<pubDate>Fri, 05 Feb 2021 10:51:00 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2021/%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B9-flyway-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-testcontainers/</guid>
<description><p>Ранее мы уже упоминали о необходимости <a href="https://ealebed.github.io/posts/2020/flyway-version-control-for-db/">контроля версий БД и применения миграций с помощью инструмента Flyway</a> и даже реализовали <a href="https://ealebed.github.io/posts/2020/%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B9-flyway-%D0%B1%D0%B5%D0%B7-%D1%81%D0%BC%D1%81-%D0%B8-%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8/">функционал валидации миграций</a> в бесплатной (community edition) версии. Но мир не стоит на месте и с каждым днем появляются новые варианты решения проблем - в данной статье рассмотрим валидацию миграций flyway с помощью <a href="https://www.testcontainers.org/">testcontainers</a>. Давайте разберемся!</p></description>
</item>
<item>
<title>Использование PostStart хука при запуске пода в Kubernetes-кластере</title>
<link>https://ealebed.github.io/posts/2020/%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-poststart-%D1%85%D1%83%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B5-%D0%BF%D0%BE%D0%B4%D0%B0-%D0%B2-kubernetes/</link>
<pubDate>Tue, 08 Dec 2020 08:37:14 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2020/%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-poststart-%D1%85%D1%83%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B5-%D0%BF%D0%BE%D0%B4%D0%B0-%D0%B2-kubernetes/</guid>
<description><p>После написания статьи о <a href="https://ealebed.github.io/posts/2020/%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-redis-%D0%BD%D0%B0-%D1%81%D1%82%D0%B0%D1%80%D1%82%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0/">вставке данных в redis при запуске контейнера в кластере Kubernetes</a> <a href="https://www.linkedin.com/in/alexander-kosenko-281a2581/">Александр Косенко</a> вполне резонно заметил, что для решения такой задачи можно использовать <code>PostStart</code> хук, который предоставляется &ldquo;из коробки&rdquo; для управления жизненным циклом контейнера. Давайте разберемся!</p></description>
</item>
<item>
<title>Вставка данных в Redis при запуске контейнера в Kubernetes кластере</title>
<link>https://ealebed.github.io/posts/2020/%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-redis-%D0%BD%D0%B0-%D1%81%D1%82%D0%B0%D1%80%D1%82%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0/</link>
<pubDate>Tue, 01 Dec 2020 16:22:56 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2020/%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-redis-%D0%BD%D0%B0-%D1%81%D1%82%D0%B0%D1%80%D1%82%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0/</guid>
<description><p>Довольно часто встречаются варианты конфигурирования и запуска <a href="https://redis.io/"><code>Redis</code></a> сервиса в кластере <code>Kubernetes</code> классифицируемые как <strong>stateless</strong> (т.е. без сохранения данных). В данной статье рассмотрим вариант вставки данных в <code>Redis</code> на старте <a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3-pods/">пода</a> в кластере - давайте разберемся!</p></description>
</item>
<item>
<title>Отправка логов Apache Airflow в Elasticsearch</title>
<link>https://ealebed.github.io/posts/2020/%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0-%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2-apache-airflow-%D0%B2-elasticsearch/</link>
<pubDate>Thu, 09 Apr 2020 07:49:37 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2020/%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0-%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2-apache-airflow-%D0%B2-elasticsearch/</guid>
<description><p>В одной из предыдущих <a href="https://ealebed.github.io/posts/2020/%D1%80%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-apache-airflow-%D0%B2-kubernetes/">статей</a> мы рассматривали особенности развертывания <code>Apache Airflow</code> в кластере <code>Kubernetes</code>, а в данном материале поговорим об отправке логов из <code>Airflow</code> в <code>Elasticsearch</code>. Давайте разберемся!</p></description>
</item>
<item>
<title>Валидация flyway-миграций без СМС и регистрации</title>
<link>https://ealebed.github.io/posts/2020/%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B9-flyway-%D0%B1%D0%B5%D0%B7-%D1%81%D0%BC%D1%81-%D0%B8-%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8/</link>
<pubDate>Fri, 27 Mar 2020 09:28:09 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2020/%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B9-flyway-%D0%B1%D0%B5%D0%B7-%D1%81%D0%BC%D1%81-%D0%B8-%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8/</guid>
<description><p>В одной из предыдущих статей мы уже рассматривали <a href="https://ealebed.github.io/posts/2020/flyway-version-control-for-db/">контроль версий БД и миграции с помощью инструмента Flyway</a>, причем довольно подробно и с конкретным примером, а в конце статьи я обещал показать, как можно организовать валидацию миграций до их применения к БД (фича, доступная только в платной подписке) своими силами и совершенно бесплатно. Давайте разберемся!</p></description>
</item>
<item>
<title>Сбор и анализ логов Kubernetes кластера с помощью EFK-стека</title>
<link>https://ealebed.github.io/posts/2020/%D1%81%D0%B1%D0%BE%D1%80-%D0%B8-%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7-%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2-kubernetes-%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B0-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-efk/</link>
<pubDate>Sun, 15 Mar 2020 10:18:43 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2020/%D1%81%D0%B1%D0%BE%D1%80-%D0%B8-%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7-%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2-kubernetes-%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B0-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-efk/</guid>
<description><p>На дворе уже 2020 год, а стандартного решения для агрегации логов в <code>Kubernetes</code> до сих пор нет. В данной статье рассмотрим особенности сбора и анализа логов в кластере <code>Kubernetes</code> с помощью EFK-стека. Давайте разберемся!</p></description>
</item>
<item>
<title>Миграции и контроль версий БД с помощью Flyway</title>
<link>https://ealebed.github.io/posts/2020/flyway-version-control-for-db/</link>
<pubDate>Fri, 21 Feb 2020 07:57:33 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2020/flyway-version-control-for-db/</guid>
<description><p>Процесс преобразования одной структуры базы данных в другой без потери косистентности, при котором меняется схема (таблицы и их колонки, индексы и пр.) называется миграцией. В данной статье рассмотрим использование инструмента <a href="https://flywaydb.org/"><code>flyway</code></a> для работы с миграциями в БД postgres - давайте разберемся!</p></description>
</item>
<item>
<title>Gradle запуск checkstyle только на измененных файлах</title>
<link>https://ealebed.github.io/posts/2020/gradle-checkstyle-on-changed-files-only/</link>
<pubDate>Sun, 09 Feb 2020 10:34:59 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2020/gradle-checkstyle-on-changed-files-only/</guid>
<description><p>В одной из предыдущих статей мы уже рассматривали настройку <a href="https://ealebed.github.io/posts/2019/gradle-checkstyle-plugin/">плагина checkstyle</a> для статического анализа кода на языке Java, однако теперь требования усложнились - необходимо проводить анализ только действительно измененных файлов, а не всего содержимого проекта. Давайте разберемся!</p></description>
</item>
<item>
<title>Развертывание Apache Airflow в Kubernetes кластере</title>
<link>https://ealebed.github.io/posts/2020/%D1%80%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-apache-airflow-%D0%B2-kubernetes/</link>
<pubDate>Tue, 28 Jan 2020 07:41:43 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2020/%D1%80%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-apache-airflow-%D0%B2-kubernetes/</guid>
<description><p>В данной статье разберемся с особенностями установки, настройки и эксплуатации <a href="https://github.com/apache/airflow"><code>Apache Airflow</code></a> (далее <code>Airflow</code>) в кластере <code>Kubernetes</code>. Давайте разберемся!</p></description>
</item>
<item>
<title>Приоритетность подов в Kubernetes</title>
<link>https://ealebed.github.io/posts/2019/%D0%BF%D1%80%D0%B8%D0%BE%D1%80%D0%B8%D1%82%D0%B5%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%BF%D0%BE%D0%B4%D0%BE%D0%B2-%D0%B2-kubernetes/</link>
<pubDate>Thu, 19 Sep 2019 10:53:04 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2019/%D0%BF%D1%80%D0%B8%D0%BE%D1%80%D0%B8%D1%82%D0%B5%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%BF%D0%BE%D0%B4%D0%BE%D0%B2-%D0%B2-kubernetes/</guid>
<description><p>Поды (<a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3-pods/"><code>Pods</code></a>) могут иметь приоритет. Приоритет отображает важность пода относительно других подов в кластере. Если под не может быть запущен на подходящем узле из-за нехватки ресурсов, то планировщик (<code>scheduler</code>) пытается &ldquo;вытеснить&rdquo; поды с более низким приоритетом и переместить их на другие узлы кластера, чтобы освободить ресурсы и запустить ожидающий под. Давайте разберемся!</p></description>
</item>
<item>
<title>Ресурсы в Kubernetes. Часть 2: Процессор (CPU)</title>
<link>https://ealebed.github.io/posts/2019/%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D1%8B-%D0%B2-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2-cpu/</link>
<pubDate>Thu, 25 Jul 2019 10:06:18 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2019/%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D1%8B-%D0%B2-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2-cpu/</guid>
<description><p>В <a href="https://ealebed.github.io/posts/2019/%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D1%8B-%D0%B2-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1-memory/">первой части</a> мы рассмотрели два типа требований (<code>requests</code> и <code>limits</code>) к ресурсам с точки зрения <code>Kubernetes</code> и разобрались с указанием этих параметров применительно к памяти. В данной статье рассмотрим нюансы настройки параметров <code>requests</code> и <code>limits</code> в контексте работы процессора (CPU). Давайте разберемся!</p></description>
</item>
<item>
<title>Ресурсы в Kubernetes. Часть 1: Память (Memory)</title>
<link>https://ealebed.github.io/posts/2019/%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D1%8B-%D0%B2-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1-memory/</link>
<pubDate>Mon, 15 Jul 2019 10:23:16 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2019/%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D1%8B-%D0%B2-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1-memory/</guid>
<description><p>Чтобы <code>Kubernetes</code> смог максимально эффективно использовать доступную инфраструктуру и корректно выделить ресурсы, необходимые для работы вашего приложения, вам следует указать требования в ресурсам каждого контейнера. В данный момент есть возможность задавать два типа требований (<code>requests</code> и <code>limits</code>) для двух типов ресурсов - памяти (<code>memory</code>) и процессора (<code>CPU</code>). В данной статье рассмотрим <code>requests</code> и <code>limits</code> применительно к памяти - давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 19: HorizontalPodAutoscaler</title>
<link>https://ealebed.github.io/posts/2019/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-19-horizontalpodautoscaler/</link>
<pubDate>Wed, 12 Jun 2019 08:08:15 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2019/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-19-horizontalpodautoscaler/</guid>
<description><p>В этой статье рассмотрим использование <code>HorizontalPodAutoscaler</code> - объектов, предназначенных для автоматического масштабирования количества подов (<a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3-pods/"><code>Pods</code></a>) в <code>Replication Controller</code>, <a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-4-replicaset/"><code>Replica Set</code></a> или <a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-5-deployments/"><code>Deployment</code></a>, основываясь на использовании CPU (или, при поддержке custom metrics, на других метриках приложения). Давайте разберемся!</p></description>
</item>
<item>
<title>Deploy to k8s with Spinnaker. Часть 1: Установка</title>
<link>https://ealebed.github.io/posts/2019/deploy-to-k8s-with-spinnaker-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0/</link>
<pubDate>Thu, 24 Jan 2019 11:59:25 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2019/deploy-to-k8s-with-spinnaker-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0/</guid>
<description><p>Spinnaker - мультиоблачная платформа для непрерывной доставки (continuous delivery) с открытым исходным кодом (open-source) от разработчиков Netflix. Платформа предназначена для управления и деплоя приложений в AWS EC2, Kubernetes, GCE, GKE, GAE, Microsoft Azure и Openstack. Давайте разберемся!</p></description>
</item>
<item>
<title>Gradle Checkstyle plugin</title>
<link>https://ealebed.github.io/posts/2019/gradle-checkstyle-plugin/</link>
<pubDate>Tue, 08 Jan 2019 06:50:42 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2019/gradle-checkstyle-plugin/</guid>
<description><p>Возникла необходимость настроить статический анализ кода (<a href="http://checkstyle.sourceforge.net/index.html">checkstyle</a>) для проекта на языке Java. Давайте разберемся!</p></description>
</item>
<item>
<title>Сборка проектов с помощью Gradle</title>
<link>https://ealebed.github.io/posts/2019/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%B2-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-gradle/</link>
<pubDate>Thu, 03 Jan 2019 06:19:13 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2019/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%B2-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-gradle/</guid>
<description><p>На просторах Интернета существует множество статей и видеоуроков (как платных, так и бесплатных) о том, как установить Gradle, написать собственную конфигурацию сборки (файл <code>build.gradle</code>) и, наконец, собрать Java-приложение с помощью Gradle. В данной статье мы не будем рассматривать эти простейшие вещи, а разберемся как следовать принципу DRY (Don’t Repeat Yourself) при работе с большим количеством схожих проектов!</p></description>
</item>
<item>
<title>GRPC REST Gateway</title>
<link>https://ealebed.github.io/posts/2018/grpc-rest-gateway/</link>
<pubDate>Sat, 29 Dec 2018 11:10:09 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/grpc-rest-gateway/</guid>
<description><p>Наверняка многие слышали о gRPC — открытом RPC-фреймворком от Google, который активно используется Netflix, Kubernetes, Docker и многими другими. Давайте разберемся как можно начать использовать gRPC не отказываясь от уже существующего REST-варианта!</p></description>
</item>
<item>
<title>Практические примеры использования tcpdump</title>
<link>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-tcpdump/</link>
<pubDate>Thu, 18 Oct 2018 06:02:45 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-tcpdump/</guid>
<description><p><code>Tcpdump</code> - пакетный сниффер и главный инструмент сетевого анализа для специалистов по информационной безопасности. Рассмотрим несколько практических примеров &ldquo;подслушивания&rdquo; сетевого траффика.</p></description>
</item>
<item>
<title>Практические примеры использования tar</title>
<link>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-tar/</link>
<pubDate>Thu, 11 Oct 2018 07:03:20 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-tar/</guid>
<description><p>Для создания и манипуляций с архивами в Linux-дистрибутивах используется утилита командной строки <code>tar</code>. C помощью этой утилиты можно как извлечь данные из файлов <code>tar</code>, <code>pax</code>, <code>cpio</code>, <code>zip</code>, <code>jar</code>, <code>ar</code> и даже <code>ISO</code> (образы cdrom), так и создать соотвествующие архивы.</p></description>
</item>
<item>
<title>Практические примеры использования netstat</title>
<link>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-netstat/</link>
<pubDate>Mon, 08 Oct 2018 06:00:53 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-netstat/</guid>
<description><p><code>Netstat</code> - утилита командной строки для мониторинга сетевой статистики - входящих и исходящих сетевых подключений, просмотра таблиц маршрутизации, статистики интерфейсов и т.д. <code>Netstat</code> доступен не только во всех Unix-подобных операционных системах, но и в ОС Windows.</p></description>
</item>
<item>
<title>Проверка занятости порта сервисом в Linux</title>
<link>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0-%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%BE%D1%81%D1%82%D0%B8-%D0%BF%D0%BE%D1%80%D1%82%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%BC-%D0%B2-linux/</link>
<pubDate>Thu, 04 Oct 2018 06:09:25 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0-%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%BE%D1%81%D1%82%D0%B8-%D0%BF%D0%BE%D1%80%D1%82%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%BC-%D0%B2-linux/</guid>
<description><p>Однажды вам обязательно понадобится проверить используемый порт определенного сервиса (или наоборот, найти сервисы, слушающие конкретный порт) - в Linux существует несколько утилит командной строки, которые могут с этим помочь. Давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 18: PodPresets</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-18-podpresets/</link>
<pubDate>Mon, 01 Oct 2018 06:01:02 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-18-podpresets/</guid>
<description><p>В этой статье рассмотрим использование <code>PodPresets</code> - объектов, с помощью которых можно добавлять определенную информацию в поды во время их создания. Информация может включать в себя <a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-14-%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D1%8B-secrets/">секреты</a>, тома и <a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-8-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/">переменные окружения</a>. Давайте разберемся!</p></description>
</item>
<item>
<title>6 способов очистки терминала в Linux</title>
<link>https://ealebed.github.io/posts/2018/6-%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BE%D0%B2-%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B8-%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%B0-%D0%B2-linux/</link>
<pubDate>Thu, 27 Sep 2018 07:01:43 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/6-%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BE%D0%B2-%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B8-%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%B0-%D0%B2-linux/</guid>
<description><p>Иногда при работе в терминале вызываемые команды и результаты их выполнения полностью &ldquo;засоряют&rdquo; экран и делают работу в консоли некомфортной. Давайте разберемся с <strong>несколькими способами быстрой очистки терминала в Linux</strong>!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 17: Введение в YAML</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-17-%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-yaml/</link>
<pubDate>Mon, 24 Sep 2018 07:03:44 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-17-%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-yaml/</guid>
<description><p>В предыдущих статьях цикла мы создавали объекты в кластере <code>Kubernetes</code> несколькими способами - исключительно с помощью командной строки или с использованием манифестов в формате JSON или YAML. В этой статье подробнее остановимся на описании манифестов с помощью YAML-синтаксиса - как наиболее удобного (на мой взгляд).</p></description>
</item>
<item>
<title>Выводим список установленных пакетов в Linux по дате</title>
<link>https://ealebed.github.io/posts/2018/%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D0%BC-%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2-%D0%B2-linux-%D0%BF%D0%BE-%D0%B4%D0%B0%D1%82%D0%B5/</link>
<pubDate>Thu, 20 Sep 2018 07:02:13 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D0%BC-%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2-%D0%B2-linux-%D0%BF%D0%BE-%D0%B4%D0%B0%D1%82%D0%B5/</guid>
<description><p>Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим <strong>как вывести список установленных пакетов в Linux, отсортированный по дате установки</strong> - давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 16: Различия в Replication Controller, Replica Set и Deployments</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-16-%D1%80%D0%B0%D0%B7%D0%BB%D0%B8%D1%87%D0%B8%D1%8F-%D0%B2-replication-controller-replica-set-%D0%B8-deployments/</link>
<pubDate>Fri, 14 Sep 2018 07:04:29 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-16-%D1%80%D0%B0%D0%B7%D0%BB%D0%B8%D1%87%D0%B8%D1%8F-%D0%B2-replication-controller-replica-set-%D0%B8-deployments/</guid>
<description><p>Как инструмент оркестрации контейнеров, <code>Kubernetes</code> предусматривает управление несколькими экземплярами (репликами) контейнеров. На сегодняшний день существует несколько способов организации репликации - в данной статье мы рассмотрим три варианта: <code>Replication Controllers</code>, <a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-4-replicaset/"><code>Replica Sets</code></a> и <a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-5-deployments/"><code>Deployments</code></a>. Давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №38: Топ-10 опций команды docker run</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-38-%D1%82%D0%BE%D0%BF-10-%D0%BE%D0%BF%D1%86%D0%B8%D0%B9-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-docker-run/</link>
<pubDate>Thu, 13 Sep 2018 07:02:14 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-38-%D1%82%D0%BE%D0%BF-10-%D0%BE%D0%BF%D1%86%D0%B8%D0%B9-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-docker-run/</guid>
<description><p>Консольная команда <code>docker run</code> имеет около сотни опций, в том числе <code>-d</code>, <code>-i</code>, <code>-t</code>, <code>-v</code> и <code>-w</code>. В данной статье рассмотрим десять наиболее популярных опций, с которыми наверняка придется работать. Давайте разберемся!</p></description>
</item>
<item>
<title>Jenkins as a code. Часть 4</title>
<link>https://ealebed.github.io/posts/2018/jenkins-as-a-code-%D1%87%D0%B0%D1%81%D1%82%D1%8C-4/</link>
<pubDate>Mon, 10 Sep 2018 07:08:19 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/jenkins-as-a-code-%D1%87%D0%B0%D1%81%D1%82%D1%8C-4/</guid>
<description><p>Возникла необходимость разграничения прав доступа пользователей на Jenkins-сервере - давайте разберемся, как можно это сделать без использования webUI!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 15: Установка и настройка kubectl</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-15-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-kubectl/</link>
<pubDate>Thu, 06 Sep 2018 07:04:48 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-15-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-kubectl/</guid>
<description><p><code>Kubectl</code> - консольная утилита, без которой даже нельзя представить работу с кластером <code>Kubernetes</code>. В предыдущих статьях цикла мы неоднократно использовали данную утилиту для создания и управления объектами в кластере, получения информации и обновления интересующих нас ресурсов. Давайте разберемся с установкой и настройкой <code>kubectl</code>!</p></description>
</item>
<item>
<title>Jenkins as a code. Часть 3</title>
<link>https://ealebed.github.io/posts/2018/jenkins-as-a-code-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3/</link>
<pubDate>Mon, 03 Sep 2018 07:02:21 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/jenkins-as-a-code-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3/</guid>
<description><p>В данной статье цикла &ldquo;Jenkins as a code&rdquo; рассмотрим самый интересный (и полезный) пример - автоматическое создание задач (job) при запуске сервиса. Давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №37: Incorrect Username or Password при скачивании образов</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-37-incorrect-username-or-password-%D0%BF%D1%80%D0%B8-%D1%81%D0%BA%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2/</link>
<pubDate>Thu, 30 Aug 2018 07:07:15 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-37-incorrect-username-or-password-%D0%BF%D1%80%D0%B8-%D1%81%D0%BA%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2/</guid>
<description><p>Использование команды <code>docker pull</code> для скачивания общедоступных (публичных) docker-образов не требует аутентификации, однако, если ваши учетные данные от Docker Hub некорректны - скачивание завершится ошибкой. Давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 14: Секреты (Secrets)</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-14-%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D1%8B-secrets/</link>
<pubDate>Mon, 27 Aug 2018 06:06:07 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-14-%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D1%8B-secrets/</guid>
<description><p>В кластере <code>Kubernetes</code> объекты типа секрет (<code>secret</code>) предназначены для хранения конфиденциальной информации, такой как пароли, OAuth-токены или ssh-ключи. Давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №36: Что происходит при запуске docker-compose up?</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-36-%D1%87%D1%82%D0%BE-%D0%BF%D1%80%D0%BE%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BF%D1%80%D0%B8-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B5-docker-compose-up/</link>
<pubDate>Thu, 23 Aug 2018 07:01:43 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-36-%D1%87%D1%82%D0%BE-%D0%BF%D1%80%D0%BE%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BF%D1%80%D0%B8-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B5-docker-compose-up/</guid>
<description><p>В этой статье попробуем разобраться, что же на самом деле происходит &ldquo;под капотом&rdquo; при запуске команды <code>docker-compose up</code>. Давайте разберемся!</p></description>
</item>
<item>
<title>Jenkins as a code. Часть 2</title>
<link>https://ealebed.github.io/posts/2018/jenkins-as-a-code-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2/</link>
<pubDate>Mon, 20 Aug 2018 07:04:45 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/jenkins-as-a-code-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2/</guid>
<description><p>В <a href="https://ealebed.github.io/posts/2018/jenkins-as-a-code-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1/">первой статье</a> цикла &ldquo;Jenkins as a code&rdquo; мы разобрали несколько примеров настройки экземпляра Jenkins под собственные нужды, в данной статье рассмотрим автоматическую настройку общих библиотек (<a href="https://ealebed.github.io/posts/2018/jenkins-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-shared-libraries/">Shared Libraries</a>) - давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №35: Проверка кода завершения работы контейнера</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-35-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0-%D0%BA%D0%BE%D0%B4%D0%B0-%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%B8%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0/</link>
<pubDate>Thu, 16 Aug 2018 07:03:58 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-35-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0-%D0%BA%D0%BE%D0%B4%D0%B0-%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%B8%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0/</guid>
<description><p>Возможно, однажды вам потребуется узнать код завершения работы doсker-контейнера. Давайте разберемся, как можно это сделать!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 13: Конфигмапы (ConfigMap)</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-13-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D0%BC%D0%B0%D0%BF%D1%8B-configmap/</link>
<pubDate>Mon, 13 Aug 2018 07:03:49 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-13-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D0%BC%D0%B0%D0%BF%D1%8B-configmap/</guid>
<description><p>Использование конфигмапов (<code>ConfigMaps</code>) позволяет разделять конфигурационные файлы и контейнеры с приложениями, избавляя от необходимости упаковывать конфиги в docker-образ. В данной статье рассмотрим несколько примеров использования конфигмапов - давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №33: Разница между форматами CMD</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-34-%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B0%D0%BC%D0%B8-cmd/</link>
<pubDate>Thu, 09 Aug 2018 07:09:16 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-34-%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B0%D0%BC%D0%B8-cmd/</guid>
<description><p>Инструкция <code>CMD</code> может быть определена в двух форматах, которые называются <code>exec</code> и <code>shell</code>. Оба выполняют практически идентичные вещи, но все же между ними есть существенно различие. Давайте разберемся!</p></description>
</item>
<item>
<title>Jenkins as a code. Часть 1</title>
<link>https://ealebed.github.io/posts/2018/jenkins-as-a-code-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1/</link>
<pubDate>Mon, 06 Aug 2018 07:08:20 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/jenkins-as-a-code-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1/</guid>
<description><p>Идея &ldquo;инфраструктура как код&rdquo; далеко не нова и широко используется в повседневной жизни большинством компаний. В серии статей &ldquo;Jenkins as a code&rdquo; предлагаю разобраться с автоматическим развертыванием и настройкой сервера Jenkins!</p></description>
</item>
<item>
<title>Docker совет №33: Использование двух Dockerfile в одном compose-проекте</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-33-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B2%D1%83%D1%85-dockerfile-%D0%B2-%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC-compose-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B5/</link>
<pubDate>Thu, 02 Aug 2018 07:08:18 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-33-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B2%D1%83%D1%85-dockerfile-%D0%B2-%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC-compose-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B5/</guid>
<description><p>Зачастую использование двух <code>Dockerfile</code> требуется когда вы работаете над проектом, в котором можно (и нужно) четко разграничить составляющие - например, на frontend и backend. Давайте разберемся!</p></description>
</item>
<item>
<title>Jenkins: использование shared libraries</title>
<link>https://ealebed.github.io/posts/2018/jenkins-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-shared-libraries/</link>
<pubDate>Mon, 30 Jul 2018 07:04:56 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/jenkins-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-shared-libraries/</guid>
<description><p>При использовании Jenkins в компании с большим количеством проектов, рано или поздно вы заметите, что ваши описания пайплайнов (Pipeline) имеют много общего. И, возможно, вам захочется избавиться от избыточности и следовать принципу DRY (Don&rsquo;t Repeat Yourself) - давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №32: Разница между create, start и run</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-32-%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-create-start-%D0%B8-run/</link>
<pubDate>Thu, 26 Jul 2018 07:02:48 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-32-%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-create-start-%D0%B8-run/</guid>
<description><p>Команды <code>docker create</code>, <code>docker start</code> и <code>docker run</code> выглядят одинаковыми по смыслу, но на самом деле они выполняют совершенно различные роли. Давайте разберемся, чем же отличаются данные команды!</p></description>
</item>
<item>
<title>Запуск docker-compose с помощью systemd unit</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-docker-compose-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-systemd-unit/</link>
<pubDate>Mon, 23 Jul 2018 07:02:12 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-docker-compose-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-systemd-unit/</guid>
<description><p>Возникла необходимость запускать сервисы, описанные в файле <code>docker-compose.yml</code>, при загрузке сервера. Давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №31: Использование build и image в одном сервисе в docker-compose</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-31-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-build-%D0%B8-image-%D0%B2-%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B5-%D0%B2-docker-compose/</link>
<pubDate>Thu, 19 Jul 2018 07:06:51 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-31-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-build-%D0%B8-image-%D0%B2-%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B5-%D0%B2-docker-compose/</guid>
<description><p>Всем известно, что при запуске сервиса, описанного в <code>docker-compose.yaml</code>, можно скачать готовый образ из docker-registry (указав <code>image:</code>) или собрать образ из существующего <code>Dockerfile</code> (указав <code>build:</code>). Но что случится, если указать обе инструкции?</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 12: Аннотации</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-12-%D0%B0%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8/</link>
<pubDate>Mon, 16 Jul 2018 07:02:34 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-12-%D0%B0%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8/</guid>
<description><p>Для добавления произвольных, неидентифицирующиих метаданных к создаваемым в кластере <code>Kubernetes</code> объектам можно использовать аннотации. Клиенты (в том числе инструменты и библиотеки) могут получать и использовать эти данные. Давайте разберемся!</p></description>
</item>
<item>
<title>Как исправить ошибку getpwnam(nginx) failed</title>
<link>https://ealebed.github.io/posts/2018/%D0%BA%D0%B0%D0%BA-%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D1%83-getpwnam-nginx-failed/</link>
<pubDate>Thu, 12 Jul 2018 07:08:36 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BA%D0%B0%D0%BA-%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D1%83-getpwnam-nginx-failed/</guid>
<description><p>Скорее всего, вы столкнетесь с данной ошибкой если вы собираете из исходников популярный web-сервер Nginx. Давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 11: Сервисы (services)</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-11-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B-services/</link>
<pubDate>Mon, 09 Jul 2018 07:06:58 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-11-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B-services/</guid>
<description><p>Поды в кластере <code>Kubernetes</code> смертны - они создаются (рождаются), но когда под по какой-либо причине умирает, то он не воскресает. И хотя каждый под при создании получает свой собственный IP-адрес, этот адрес нельзя назвать постоянным и стабильным вследствие &ldquo;смертности&rdquo; подов. Давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №30: Монтирование ssh-ключей в docker-контейнер</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-30-%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-ssh-%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9-%D0%B2-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80/</link>
<pubDate>Thu, 05 Jul 2018 07:09:29 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-30-%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-ssh-%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9-%D0%B2-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80/</guid>
<description><p>Казалось бы, все очень просто - монтируете нужный каталог с ssh-ключами в соответствующее место внутри docker-контейнера. Но все становится куда интереснее, если вы используете Docker for Windows - давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 10: Неймспейсы (namespaces)</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-10-%D0%BD%D0%B5%D0%B9%D0%BC%D1%81%D0%BF%D0%B5%D0%B9%D1%81%D1%8B-namespaces/</link>
<pubDate>Mon, 02 Jul 2018 07:02:27 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-10-%D0%BD%D0%B5%D0%B9%D0%BC%D1%81%D0%BF%D0%B5%D0%B9%D1%81%D1%8B-namespaces/</guid>
<description><p><code>Kubernetes</code> поддерживает несколько виртуальных кластеров, работающих в одном и том же физическом кластере. Эти виртуальные кластеры называются пространствами имен или неймспейсами (namespaces). Давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 9: Метки и селекторы</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-9-%D0%BC%D0%B5%D1%82%D0%BA%D0%B8-%D0%B8-%D1%81%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D1%8B/</link>
<pubDate>Mon, 25 Jun 2018 07:07:18 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-9-%D0%BC%D0%B5%D1%82%D0%BA%D0%B8-%D0%B8-%D1%81%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D1%8B/</guid>
<description><p>Метки (labels) представляют собой пары ключ/значение, которые назначаются объектам (например, <a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3-pods/">подам</a>) в кластере <code>Kubernetes</code>. Эти метки предназначены для указания идентифицирующих атрибутов объектов, осмысленных и имеющих отношение к пользователям.</p></description>
</item>
<item>
<title>Docker совет №29: Создание read-only контейнеров</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-29-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-read-only-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2/</link>
<pubDate>Thu, 21 Jun 2018 07:00:59 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-29-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-read-only-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2/</guid>
<description><p>Возможно, вам захочется запускать docker-контейнеры в режиме только для чтения (read-only) - например, для повышения безопасности или из-за специфических требований вашего приложения. Давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 8: Переменные окружения</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-8-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/</link>
<pubDate>Mon, 18 Jun 2018 07:02:29 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-8-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/</guid>
<description><p>В данной статье рассмотрим какие ресурсы и переменные окружения доступны контейнерам и как переопределять переменные окружения для контейнера при запуске пода (<a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3-pods/"><code>Pod</code></a>) в кластере <code>Kubernetes</code>. Давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №28: Как исправить ошибку 'Connection Reset by Peer'</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-28-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D1%83-connection-reset-by-peer/</link>
<pubDate>Thu, 14 Jun 2018 07:04:41 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-28-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D1%83-connection-reset-by-peer/</guid>
<description><p>Вы наверняка видели эту ошибку, когда пытались подключиться к web-серверу, запущенному в docker-контейнере. К слову, отсутствие ответа от web-сервера - тоже довольно распространенная ошибка. Давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 7: Образы (Images)</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-7-images/</link>
<pubDate>Mon, 11 Jun 2018 07:05:55 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-7-images/</guid>
<description><p>Перед тем, как описывать в манифесте какого-либо объекта <code>Kubernetes</code> образ контейнера, его необходимо создать и разместить в реестре образов. Давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №27: Разница между реестром, репозиторием и образом</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-27-%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D1%80%D0%B5%D0%B5%D1%81%D1%82%D1%80%D0%BE%D0%BC-%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B5%D0%BC-%D0%B8-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%BC/</link>
<pubDate>Thu, 07 Jun 2018 07:06:31 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-27-%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D1%80%D0%B5%D0%B5%D1%81%D1%82%D1%80%D0%BE%D0%BC-%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B5%D0%BC-%D0%B8-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%BC/</guid>
<description><p>Docker-репозиторий позволяет хранить одну или несколько версий определенного docker-образа. Образ может иметь одну или более версий (в терминологии docker версия называется &ldquo;тэг&rdquo;).</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 6: Сборщик мусора (Garbage Collector)</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-6-garbage-collector/</link>
<pubDate>Mon, 04 Jun 2018 07:16:52 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-6-garbage-collector/</guid>
<description><p>Задача сборщика мусора (<code>Garbage Collector</code>) в <code>Kubernetes</code> заключается в удалении определенных объектов, которые больше не имеют владельца. Давайте разберемся, что это значит!</p></description>
</item>
<item>
<title>Docker совет №26: Использование коротких ID</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-26-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D1%80%D0%BE%D1%82%D0%BA%D0%B8%D1%85-id/</link>
<pubDate>Thu, 31 May 2018 07:25:24 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-26-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D1%80%D0%BE%D1%82%D0%BA%D0%B8%D1%85-id/</guid>
<description><p>Для идентификации docker-контейнеров и docker-образов используются уникальные ID, состоящие из 64 символов. Давайте разберемся с использованием более коротких идентификаторов при работе с <code>docker</code>!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 5: Развертывания (Deployments)</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-5-deployments/</link>
<pubDate>Mon, 28 May 2018 07:33:21 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-5-deployments/</guid>
<description><p>Контроллер развертывания (Deployment controller) предоставляет возможность декларативного обновления для объектов типа поды (<a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3-pods/"><code>Pods</code></a>) и наборы реплик (<a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-4-replicaset/"><code>ReplicaSets</code></a>). Давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №25: Какую API версию docker compose использовать?</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-25-%D0%BA%D0%B0%D0%BA%D1%83%D1%8E-api-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8E-docker-compose-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C/</link>
<pubDate>Thu, 24 May 2018 07:08:48 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-25-%D0%BA%D0%B0%D0%BA%D1%83%D1%8E-api-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8E-docker-compose-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C/</guid>
<description><p>На сегодняшний день Docker Compose имеет 3 основные версии API (v1, v2 и v3). В зависимости от используемой версии вам могут быть доступны (или недоступны) некоторые полезные функции и возможности.</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 4: Реплики (ReplicaSet)</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-4-replicaset/</link>
<pubDate>Mon, 21 May 2018 07:02:15 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-4-replicaset/</guid>
<description><p><code>ReplicaSet</code> гарантирует, что определенное количество экземпляров подов (<a href="https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3-pods/"><code>Pods</code></a>) будет запущено в кластере <code>Kubernetes</code> в любой момент времени. Давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №24: Запуск Insecure Docker Registry</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-24-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-insecure-docker-registry/</link>
<pubDate>Thu, 17 May 2018 07:56:35 +0300</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-24-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-insecure-docker-registry/</guid>
<description><p>Запуск <strong>Insecure Docker Registry</strong> для хранения своих docker-образов не самый лучший вариант с точки зрения безопасности, но порой это самое простое и разумное решение. Давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 3: Поды (Pods)</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3-pods/</link>
<pubDate>Mon, 14 May 2018 06:17:12 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-3-pods/</guid>
<description><p>В данной статье цикла о знакомстве с оркестратором <code>Kubernetes</code> детальнее разберемся с подами (<code>Pods</code>) - наименьшей функциональной единицей для развертывания в объектной модели <code>Kubernetes</code>.</p></description>
</item>
<item>
<title>Docker совет №23: Импорт SQL-файла с docker-compose</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-23-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82-sql-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-%D1%81-docker-compose/</link>
<pubDate>Thu, 10 May 2018 06:30:16 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-23-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82-sql-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-%D1%81-docker-compose/</guid>
<description><p>При работе с базами данных (например, PostgreSQL, MariaDB или MySQL) в docker-контейнере, вам наверняка понадобится импортировать данные из SQL-файла. Давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 2: Терминология</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2-%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F/</link>
<pubDate>Mon, 30 Apr 2018 07:32:11 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2-%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F/</guid>
<description><p>В данной статье предлагаю перечислить и кратко рассмотреть базовые понятия <code>Kubernetes</code> - это будет основой для понимания работы оркестратора и пригодится перед ознакомлением с остальными статьями цикла.</p></description>
</item>
<item>
<title>Docker совет №22: Получаем список изменений в контейнере</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-22-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B0%D0%B5%D0%BC-%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5/</link>
<pubDate>Thu, 26 Apr 2018 07:59:48 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-22-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B0%D0%B5%D0%BC-%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5/</guid>
<description><p>Бывают случаи, когда вносятся изменения внутри уже запущенного docker-контейнера, после чего нужно увидеть, насколько измененный контейнер отличается от оригинального образа. Давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 1: Установка</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0/</link>
<pubDate>Mon, 23 Apr 2018 07:35:44 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0/</guid>
<description><p>Только ленивый еще не писал об установке, настройке и использовании <code>Kubernetes</code> - будь-то в облаке (AWS, GCE, Azure) или на bare-metal серверах.</p></description>
</item>
<item>
<title>Как восстановить пользователя root в mysql?</title>
<link>https://ealebed.github.io/posts/2018/%D0%BA%D0%B0%D0%BA-%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F-root-%D0%B2-mysql/</link>
<pubDate>Thu, 19 Apr 2018 06:25:05 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BA%D0%B0%D0%BA-%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F-root-%D0%B2-mysql/</guid>
<description><p>В интернете есть множество примеров (в том числе и в <a href="https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html">официальной документации</a>) сброса пароля суперпользователя в базе данных MySQL. Но что делать, если случайно <strong>удалил пользователя <code>root@localhost</code> в БД MySQL</strong> - давайте разберемся!</p></description>
</item>
<item>
<title>Знакомство с Kubernetes. Часть 0: Что это?</title>
<link>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-0-%D1%87%D1%82%D0%BE-%D1%8D%D1%82%D0%BE/</link>
<pubDate>Sun, 15 Apr 2018 14:17:50 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-kubernetes-%D1%87%D0%B0%D1%81%D1%82%D1%8C-0-%D1%87%D1%82%D0%BE-%D1%8D%D1%82%D0%BE/</guid>
<description><p><code>Kubernetes</code> - это проект с открытым исходным кодом для управления &ldquo;флотом&rdquo; контейнеров на нескольких хостах, объединенных в кластер. Данный инструмент призван обеспечить основные механизмы развертывания, обслуживания и масштабирования приложений, упакованных в контейнеры.</p></description>
</item>
<item>
<title>Docker совет №21: Использование переменных окружения</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-21-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/</link>
<pubDate>Thu, 12 Apr 2018 08:07:05 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-21-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/</guid>
<description><p>Docker позволяет нам устанавливать переменные окружения как во время сборки docker-образов, так и во время запуска docker-контейнеров (к слову, при запуске также можно переопределять переменные указанные во время сборки). Давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №20: Используйте WORKDIR</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-20-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-workdir/</link>
<pubDate>Thu, 05 Apr 2018 08:02:05 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-20-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9%D1%82%D0%B5-workdir/</guid>
<description><p>Если вы заметили, что часто меняете каталоги своем <code>Dockerfile</code> (инструкции по сборке docker-образа), то самое время познакомиться с использованием инструкции <code>WORKDIR</code>. Давайте разберемся!</p></description>
</item>
<item>
<title>Применение DRY к docker-compose.yml</title>
<link>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-dry-%D0%BA-docker-compose.yml/</link>
<pubDate>Mon, 02 Apr 2018 07:50:38 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-dry-%D0%BA-docker-compose.yml/</guid>
<description><p>Мы уже знаем, что файлы <code>docker-compose.yml</code> - отличный способ определения нескольких сервисов (контейнеров), которые должны работать как единый стек. Но при большом количестве сервисов в файле неизменно появляются одинаковые, повторяющиеся для каждого контейнера блоки кода (описания) - давайте разберемся с ними!</p></description>
</item>
<item>
<title>Docker совет №19: docker-compose stop или down?</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-19-docker-compose-stop-%D0%B8%D0%BB%D0%B8-down/</link>
<pubDate>Thu, 29 Mar 2018 07:28:35 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-19-docker-compose-stop-%D0%B8%D0%BB%D0%B8-down/</guid>
<description><p>Связку контейнеров, описанных в конфигурационном файле <code>docker-compose.yml</code> можно остановить с помощью команд <code>stop</code> или <code>down</code>, однако вторая команда делает гораздо больше, чем просто остановка контейнеров. Давайте разберемся!</p></description>
</item>
<item>
<title>Установка Minikube</title>
<link>https://ealebed.github.io/posts/2018/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-minikube/</link>
<pubDate>Mon, 26 Mar 2018 08:15:43 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-minikube/</guid>
<description><p><code>Minikube</code> - утилита командной строки для настройки и запуска однонодового кластера <code>Kubernetes</code> в виртуальной машине на локальном компьютере.</p></description>
</item>
<item>
<title>Docker совет №18: Использование диска</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-18-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B8%D1%81%D0%BA%D0%B0/</link>
<pubDate>Thu, 22 Mar 2018 08:15:03 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-18-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B8%D1%81%D0%BA%D0%B0/</guid>
<description><p>Сегодня мы познакомимся с одной довольно простой но полезной командой, которая предоставит информацию о том, как много места на вашем диске занимают docker образы, контейнеры, тома и кеш сборки - давайте разберемся!</p></description>
</item>
<item>
<title>Let's Encrypt: Wildcard-сертификаты теперь доступны!</title>
<link>https://ealebed.github.io/posts/2018/letsencrypt-wildcard-%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D1%8B-%D1%82%D0%B5%D0%BF%D0%B5%D1%80%D1%8C-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B/</link>
<pubDate>Mon, 19 Mar 2018 08:13:41 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/letsencrypt-wildcard-%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D1%8B-%D1%82%D0%B5%D0%BF%D0%B5%D1%80%D1%8C-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B/</guid>
<description><p>Еще в прошлом году разработчики <a href="https://letsencrypt.org/">Let&rsquo;s Encrypt</a> обещали внедрить в январе 2018 года поддержку возможности генерации wildcard-сертификатов для доменов и вот, наконец, этот день настал. Давайте разберемся, <strong>как сгенерировать wildcard-сертификат Let&rsquo;s Encrypt для всех поддоменов</strong>!</p></description>
</item>
<item>
<title>Docker совет №17: Команда docker-compose config</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-17-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0-docker-compose-config/</link>
<pubDate>Thu, 15 Mar 2018 08:26:57 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-17-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0-docker-compose-config/</guid>
<description><p>Docker Compose поддерживает переопределение yaml-файлов и подстановку переменных из env-файла (variable substitution). Команда <code>config</code> позволяет проверить какие значения переменных будут установлены при старте контейнеров, описанных в файле <code>docker-compose.yml</code>.</p></description>
</item>
<item>
<title>Sphinxsearch в docker-контейнере</title>
<link>https://ealebed.github.io/posts/2018/sphinxsearch-%D0%B2-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5/</link>
<pubDate>Mon, 12 Mar 2018 08:50:13 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/sphinxsearch-%D0%B2-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5/</guid>
<description><p>В данной статье рассмотрим процесс сборки docker-образа включающего в себя систему полнотекстового поиска Sphinxsearch с возможностью переиндексации - давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №16: Использование флага --add-host</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-16-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%84%D0%BB%D0%B0%D0%B3%D0%B0--add-host/</link>
<pubDate>Thu, 08 Mar 2018 09:05:04 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-16-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%84%D0%BB%D0%B0%D0%B3%D0%B0--add-host/</guid>
<description><p>В данной статье рассмотрим один из весьма полезных флагов, - <code>--add-host</code>, который можно использовать при запуске docker-контейнеров с помощью команды <code>docker run</code>.</p></description>
</item>
<item>
<title>Docker совет №15: Использование контейнеров для длительных и разовых задач</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-15-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85-%D0%B8-%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D1%8B%D1%85-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87/</link>
<pubDate>Mon, 05 Mar 2018 07:35:57 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-15-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85-%D0%B8-%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D1%8B%D1%85-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87/</guid>
<description><p>Как всем хорошо известно, docker идеально подходит для изоляции процессов, которые могут быть как длительными по времени выполнения (например, запущенный web-сервер), так и непродолжительными, разовыми задачами. Давайте разберемся!</p></description>
</item>
<item>
<title>Docker: перенаправление логов в Graylog2</title>
<link>https://ealebed.github.io/posts/2018/docker-%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2-%D0%B2-graylog2/</link>
<pubDate>Thu, 01 Mar 2018 08:53:38 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2-%D0%B2-graylog2/</guid>
<description><p>Мы уже упоминали о Graylog2 - централизованном хранилище логов и рассматривали вариант <a href="https://ealebed.github.io/posts/2017/%D1%81%D0%B1%D0%BE%D1%80-%D0%B8-%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7-%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2-nginx-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-graylog2/">сбора и анализа логов от популярного веб-сервера Nginx</a>. В данной статье настроим отправку логов в Graylog2 от docker-контейнеров - давайте разберемся!</p></description>
</item>
<item>
<title>Cron в docker контейнере</title>
<link>https://ealebed.github.io/posts/2018/cron-%D0%B2-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5/</link>
<pubDate>Mon, 26 Feb 2018 08:57:38 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/cron-%D0%B2-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5/</guid>
<description><p>Как мы уже упоминали <a href="https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-14-%D0%BA%D0%B0%D0%BA-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D1%82%D1%8C-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8-%D0%BF%D0%BE-%D0%BA%D1%80%D0%BE%D0%BD%D1%83-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5-%D0%B8%D0%BB%D0%B8-%D0%BD%D0%B0-%D1%85%D0%BE%D1%81%D1%82-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B5/">ранее</a>, иногда есть смысл собрать отдельный docker-контейнер для запуска периодических задач. Давайте разберемся!</p></description>
</item>
<item>
<title>Docker cовет №14: Как запускать задачи по крону - в контейнере или на хост-машине?</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-14-%D0%BA%D0%B0%D0%BA-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D1%82%D1%8C-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8-%D0%BF%D0%BE-%D0%BA%D1%80%D0%BE%D0%BD%D1%83-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5-%D0%B8%D0%BB%D0%B8-%D0%BD%D0%B0-%D1%85%D0%BE%D1%81%D1%82-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B5/</link>
<pubDate>Thu, 22 Feb 2018 08:56:32 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-14-%D0%BA%D0%B0%D0%BA-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D1%82%D1%8C-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8-%D0%BF%D0%BE-%D0%BA%D1%80%D0%BE%D0%BD%D1%83-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5-%D0%B8%D0%BB%D0%B8-%D0%BD%D0%B0-%D1%85%D0%BE%D1%81%D1%82-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B5/</guid>
<description><p>Docker предоставляет прекрасный функционал для изоляции отдельных процессов в контейнерах, но когда дело доходит до запуска периодических задач, неизменно возникают вопросы. Давайте разберемся!</p></description>
</item>
<item>
<title>Пересборка Nginx с поддержкой TLS v1.3</title>
<link>https://ealebed.github.io/posts/2018/%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-nginx-%D1%81-%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%BE%D0%B9-tls-v1.3/</link>
<pubDate>Mon, 19 Feb 2018 08:58:04 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-nginx-%D1%81-%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%BE%D0%B9-tls-v1.3/</guid>
<description><p>В рамках этой статьи исключительно из &ldquo;спортивного интереса&rdquo; рассмотрим процесс <strong>пересборки Nginx с поддержкой TLS v1.3</strong> - данная возможность уже существует, хотя сам стандарт TLSv1.3 пока находится в драфте. Давайте разберемся!</p></description>
</item>
<item>
<title>Использование MozJPEG в docker-контейнере</title>
<link>https://ealebed.github.io/posts/2018/%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-mozjpeg-%D0%B2-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5/</link>
<pubDate>Thu, 15 Feb 2018 08:55:32 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-mozjpeg-%D0%B2-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5/</guid>
<description><p>Ранее мы уже упоминали о важности <strong>оптимизации и сжатия изображений</strong> перед размещением на сайте и <a href="https://ealebed.github.io/posts/2018/%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D0%B8-%D1%81%D0%B6%D0%B0%D1%82%D0%B8%D0%B5-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8/">рассматривали несколько утилит</a> для работы с картинками.</p></description>
</item>
<item>
<title>Практические примеры использования sysdig</title>
<link>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-sysdig/</link>
<pubDate>Mon, 12 Feb 2018 08:55:05 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-sysdig/</guid>
<description><p>В Linux используется целый набор утилит для сбора и анализа информации о состоянии системы. Примеры работы со многими из этих диагностических инструментов мы уже рассматривали — <a href="https://ealebed.github.io/posts/2016/4-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%B8%D0%B0%D0%B3%D0%BD%D0%BE%D1%81%D1%82%D0%B8%D0%BA%D0%B8-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BD%D1%8B%D1%85-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC/">раз</a>, <a href="https://ealebed.github.io/posts/2016/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-lsof/">два</a>, <a href="https://ealebed.github.io/posts/2016/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-nmap/">три</a>.</p></description>
</item>
<item>
<title>Практические примеры использования wget</title>
<link>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-wget/</link>
<pubDate>Thu, 08 Feb 2018 08:27:59 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-wget/</guid>
<description><p>Всем нам не единожды приходилось скачивать файлы из интернета. Когда такая необходимость возникает при работе в командной строке Linux, просто не обойтись без подходящих инструментов.</p></description>
</item>
<item>
<title>Redis в docker-контейнере не сохраняет данные</title>
<link>https://ealebed.github.io/posts/2018/redis-%D0%B2-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5-%D0%BD%D0%B5-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D1%8F%D0%B5%D1%82-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5/</link>
<pubDate>Mon, 05 Feb 2018 08:57:22 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/redis-%D0%B2-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5-%D0%BD%D0%B5-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D1%8F%D0%B5%D1%82-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5/</guid>
<description><p>Случайно заметил, что при остановке docker-контейнера redis не сохраняет данные из памяти в файл <code>dump.rdb</code>, и, следовательно, при следующем запуске данных в redis&rsquo;е не окажется.</p></description>
</item>
<item>
<title>Как изменить значение Open File Limit — 3 варианта</title>
<link>https://ealebed.github.io/posts/2018/%D0%BA%D0%B0%D0%BA-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-open-file-limit-3-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D0%B0/</link>
<pubDate>Thu, 01 Feb 2018 08:56:10 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BA%D0%B0%D0%BA-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-open-file-limit-3-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D0%B0/</guid>
<description><p>Операционная система при открытии файла создает временный номер (неотрицательное целое число), называемый файловым дескриптором. Данный дескриптор (handle) можно использовать для работы с файлом.</p></description>
</item>
<item>
<title>JetBrains Products License Server in docker</title>
<link>https://ealebed.github.io/posts/2018/jetbrains-products-license-server-in-docker/</link>
<pubDate>Mon, 29 Jan 2018 09:22:32 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/jetbrains-products-license-server-in-docker/</guid>
<description><p>В последнее время после обновления PhpStorm (особенно до версии 2017.3.3) все чаще &ldquo;слетает&rdquo; активация продукта по методу &ldquo;License server&rdquo; - за последние пару дней приходилось раз 5 менять адрес сервера лицензий.</p></description>
</item>
<item>
<title>Docker совет №13: Какой флаг лучше использовать Volume или Mount?</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-13-%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9-%D1%84%D0%BB%D0%B0%D0%B3-%D0%BB%D1%83%D1%87%D1%88%D0%B5-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-volume-%D0%B8%D0%BB%D0%B8-mount/</link>
<pubDate>Thu, 25 Jan 2018 09:36:51 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-13-%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9-%D1%84%D0%BB%D0%B0%D0%B3-%D0%BB%D1%83%D1%87%D1%88%D0%B5-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-volume-%D0%B8%D0%BB%D0%B8-mount/</guid>
<description><p>Для проброса данных из каталога на хост-машине в docker-контейнер можно успешно использовать оба параметра.</p></description>
</item>
<item>
<title>Мониторинг Redis с помощью Nixstats</title>
<link>https://ealebed.github.io/posts/2018/%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3-redis-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-nixstats/</link>
<pubDate>Mon, 22 Jan 2018 08:54:37 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3-redis-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-nixstats/</guid>
<description><p>Ранее мы уже рассматривали <strong>сервис мониторинга Nixstats</strong> и настраивали сбор метрик от <a href="https://ealebed.github.io/posts/2017/%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3-nginx-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-nixstats/">Nginx</a> и <a href="https://ealebed.github.io/posts/2017/%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3-php-fpm-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-nixstats/">php-fpm</a> с помощью данной системы мониторинга.</p></description>
</item>
<item>
<title>Оптимизация и сжатие изображений из консоли</title>
<link>https://ealebed.github.io/posts/2018/%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D0%B8-%D1%81%D0%B6%D0%B0%D1%82%D0%B8%D0%B5-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8/</link>
<pubDate>Thu, 18 Jan 2018 10:00:06 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D0%B8-%D1%81%D0%B6%D0%B0%D1%82%D0%B8%D0%B5-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8/</guid>
<description><p>Скорость загрузки практически любого сайта так или иначе зависит от количества и качества используемых изображений.</p></description>
</item>
<item>
<title>Redis Inside или что хранится в редисе?</title>
<link>https://ealebed.github.io/posts/2018/redis-inside-%D0%B8%D0%BB%D0%B8-%D1%87%D1%82%D0%BE-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D1%82%D1%81%D1%8F-%D0%B2-%D1%80%D0%B5%D0%B4%D0%B8%D1%81%D0%B5/</link>
<pubDate>Mon, 15 Jan 2018 08:48:18 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/redis-inside-%D0%B8%D0%BB%D0%B8-%D1%87%D1%82%D0%BE-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D1%82%D1%81%D1%8F-%D0%B2-%D1%80%D0%B5%D0%B4%D0%B8%D1%81%D0%B5/</guid>
<description><p>На дашбордах в Grafana увидел заметный рост использования памяти Redis’ом (Total memory usage), и мне стало интересно узнать, <strong>что же хранится в БД</strong>.</p></description>
</item>
<item>
<title>Nginx: ошибка (24: Too many open files) и ее решение</title>
<link>https://ealebed.github.io/posts/2018/nginx-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-24-too-many-open-files-%D0%B8-%D0%B5%D0%B5-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5/</link>
<pubDate>Thu, 11 Jan 2018 11:43:39 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/nginx-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-24-too-many-open-files-%D0%B8-%D0%B5%D0%B5-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5/</guid>
<description><p>На одном из серверов в логе ошибок веб-сервера Nginx появились сообщения вида</p>
<pre tabindex="0"><code>2017/11/22 08:21:02 [crit] 29098#29098: *174583882 open() &#34;/var/www/public/blackfriday/img/tabs/img4.png&#34; failed (24: Too many open files), client: 176.113.144.142, server: example.com, request: &#34;GET /blackfriday/img/tabs/img4.png HTTP/2.0&#34;, host: &#34;example.com&#34;
</code></pre></description>
</item>
<item>
<title>Prometheus 2.0: Новый формат Alert rules</title>
<link>https://ealebed.github.io/posts/2018/prometheus-2.0-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82-alert-rules/</link>
<pubDate>Mon, 08 Jan 2018 11:43:07 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/prometheus-2.0-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82-alert-rules/</guid>
<description><p>Как уже упоминал <a href="https://ealebed.github.io/posts/2017/prometheus-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%BD%D0%B0-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8E-2.0/">ранее</a>, обновление на новую версию (2.0) <strong>системы мониторинга и сбора метрик Prometheus</strong> в моем случае не прошло гладко. Отдельно стоит рассказать о новом формате <code>rules</code>-файлов — давайте разберемся!</p></description>
</item>
<item>
<title>Docker совет №12: Установка пароля redis без правки конфига</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-12-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8F-redis-%D0%B1%D0%B5%D0%B7-%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D0%B0/</link>
<pubDate>Thu, 04 Jan 2018 11:42:40 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-12-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8F-redis-%D0%B1%D0%B5%D0%B7-%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D0%B0/</guid>
<description><p>Почти каждое веб-приложение использует Redis, поэтому крайне важна возможность легко установить/изменить на нем пароль. Давайте разберемся, как это можно сделать!</p></description>
</item>
<item>
<title>Docker совет №11: Автоматическое удаление ненужных данных docker</title>
<link>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-11-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5-%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B5%D0%BD%D1%83%D0%B6%D0%BD%D1%8B%D1%85-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-docker/</link>
<pubDate>Mon, 01 Jan 2018 11:42:13 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2018/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-11-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5-%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B5%D0%BD%D1%83%D0%B6%D0%BD%D1%8B%D1%85-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-docker/</guid>
<description><p>Ранее мы уже упоминали о проблеме быстрого «засорения» локального хранилища при работе с docker-контейнерами и рассматривали варианты <a href="https://ealebed.github.io/posts/2017/%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B0-%D0%BC%D0%B5%D1%81%D1%82%D0%B0-%D0%BD%D0%B0-%D0%B4%D0%B8%D1%81%D0%BA%D0%B5-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-docker/">очистки места на диске</a> после docker вручную.</p></description>
</item>
<item>
<title>Docker совет №10: Алиасы для часто используемых команд</title>
<link>https://ealebed.github.io/posts/2017/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-10-%D0%B0%D0%BB%D0%B8%D0%B0%D1%81%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%87%D0%B0%D1%81%D1%82%D0%BE-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC%D1%8B%D1%85-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4/</link>
<pubDate>Thu, 28 Dec 2017 11:41:44 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2017/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-10-%D0%B0%D0%BB%D0%B8%D0%B0%D1%81%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%87%D0%B0%D1%81%D1%82%D0%BE-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC%D1%8B%D1%85-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4/</guid>
<description><p>Алиасы и функции, связанные с docker, позволяют сэкономить довольно много времени на вводе команд. Давайте разберемся на нескольких практических примерах!</p></description>
</item>
<item>
<title>Prometheus: Миграция на версию 2.0</title>
<link>https://ealebed.github.io/posts/2017/prometheus-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%BD%D0%B0-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8E-2.0/</link>
<pubDate>Mon, 25 Dec 2017 11:41:18 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2017/prometheus-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%BD%D0%B0-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8E-2.0/</guid>
<description><p>После прочтения <a href="https://prometheus.io/blog/2017/11/08/announcing-prometheus-2-0/">статьи с анонсом второй версии</a> <strong>Prometheus</strong> сразу решил: надо брать! Думал, достаточно будет обновить версию docker-контейнера и все заработает, но нет&hellip; Давайте разберемся!</p></description>
</item>
<item>
<title>Установка Redis Desktop Manager в Ubuntu 16.04</title>
<link>https://ealebed.github.io/posts/2017/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-redis-desktop-manager-%D0%B2-ubuntu-16.04/</link>
<pubDate>Thu, 21 Dec 2017 11:40:59 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2017/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-redis-desktop-manager-%D0%B2-ubuntu-16.04/</guid>
<description><p><a href="https://redisdesktop.com/">Redis Desktop Manager</a> (RDM) — приложение для управления базами данных Redis с открытым исходным кодом для Windows, Linux и MacOS. RDM поддерживает шифрование SSL/TLS, SSH-туннели и облачные экземпляры Redis, такие как Amazon ElastiCache, Microsoft Azure Redis Cache и Redis Labs.</p></description>
</item>
<item>
<title>MySQL: Логирование запросов от определенных пользователей</title>
<link>https://ealebed.github.io/posts/2017/mysql-%D0%BB%D0%BE%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2-%D0%BE%D1%82-%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B9/</link>
<pubDate>Mon, 18 Dec 2017 11:40:33 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2017/mysql-%D0%BB%D0%BE%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2-%D0%BE%D1%82-%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B9/</guid>
<description><p>Появилась необходимость логировать запросы к БД MySQL от определенных пользователей. Давайте разберемся как быстро реализовать данный функционал!</p></description>
</item>
<item>
<title>Docker совет №9: Добавляйте метаданные в ваши docker-образы</title>
<link>https://ealebed.github.io/posts/2017/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-9-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B9%D1%82%D0%B5-%D0%BC%D0%B5%D1%82%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B2-%D0%B2%D0%B0%D1%88%D0%B8-docker-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D1%8B/</link>
<pubDate>Thu, 14 Dec 2017 11:40:06 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2017/docker-%D1%81%D0%BE%D0%B2%D0%B5%D1%82-9-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B9%D1%82%D0%B5-%D0%BC%D0%B5%D1%82%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B2-%D0%B2%D0%B0%D1%88%D0%B8-docker-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D1%8B/</guid>
<description><p>Метки (labels) позволяют творить довольно интересные вещи с docker-образами. В статье приведено несколько основных вариантов использования — давайте разберемся!</p></description>
</item>
<item>
<title>Expo: Packager останавливается через несколько секунд после старта</title>
<link>https://ealebed.github.io/posts/2017/expo-packager-%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%D1%81%D1%8F-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%81%D0%B5%D0%BA%D1%83%D0%BD%D0%B4-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-%D1%81%D1%82%D0%B0%D1%80%D1%82%D0%B0/</link>
<pubDate>Mon, 11 Dec 2017 11:39:35 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2017/expo-packager-%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%D1%81%D1%8F-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%81%D0%B5%D0%BA%D1%83%D0%BD%D0%B4-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-%D1%81%D1%82%D0%B0%D1%80%D1%82%D0%B0/</guid>
<description><p>При запуске проекта при помощи команды <code>exp</code> через несколько секунд после старта React Native packager отваливается без каких-либо сообщений в логах. Давайте разберемся!</p></description>
</item>
<item>
<title>Редиректы на Nginx: Rewrite vs Return</title>
<link>https://ealebed.github.io/posts/2017/%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D1%8B-%D0%BD%D0%B0-nginx-rewrite-vs-return/</link>
<pubDate>Thu, 07 Dec 2017 10:39:44 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2017/%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D1%8B-%D0%BD%D0%B0-nginx-rewrite-vs-return/</guid>
<description><p>Довольно часто при обращении к сайту используются <strong>редиректы на уровне вебсервера Nginx</strong>. Чаще всего редиректы применяют для изменения имени домена (без www на домен с www) или протокола (с HTTP на HTTPS).</p></description>
</item>
<item>
<title>GitLab CI: deploy на docker swarm</title>
<link>https://ealebed.github.io/posts/2017/gitlab-ci-deploy-%D0%BD%D0%B0-docker-swarm/</link>
<pubDate>Mon, 04 Dec 2017 10:39:24 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2017/gitlab-ci-deploy-%D0%BD%D0%B0-docker-swarm/</guid>
<description><p>В цикле о <strong>настройке GitLab continuous integration</strong> мы подробно рассматривали <a href="https://ealebed.github.io/posts/2017/gitlab-ci-%D1%87%D0%B0%D1%81%D1%82%D1%8C-9-%D1%8D%D1%82%D0%B0%D0%BF-deploy-%D0%B2-.gitlab-ci.yml/">этап деплоя docker-образов</a> на ревью окружение; чуть позже скрипт деплоя был изменен для достижения <a href="https://ealebed.github.io/posts/gitlab-ci-zero-downtime-docker-deployment/">zero downtime</a> (избавления от простоя).</p></description>
</item>
<item>
<title>Включение виртуальной машины на гипервизоре ESXi из консоли</title>
<link>https://ealebed.github.io/posts/2017/%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B-%D0%BD%D0%B0-%D0%B3%D0%B8%D0%BF%D0%B5%D1%80%D0%B2%D0%B8%D0%B7%D0%BE%D1%80%D0%B5-esxi-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8/</link>
<pubDate>Thu, 30 Nov 2017 10:39:03 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2017/%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B-%D0%BD%D0%B0-%D0%B3%D0%B8%D0%BF%D0%B5%D1%80%D0%B2%D0%B8%D0%B7%D0%BE%D1%80%D0%B5-esxi-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8/</guid>
<description><p>В данной статье представлена пошаговая инструкция для <strong>включения виртуальных машин из командной строки</strong> (из ESX консоли или RCLI/vSphere CLI) на гипервизорах под управлением ESXi — давайте разберемся!</p></description>
</item>
<item>
<title>GitLab CI: Чем проще .gitlab-ci.yml, тем лучше</title>
<link>https://ealebed.github.io/posts/2017/gitlab-ci-%D1%87%D0%B5%D0%BC-%D0%BF%D1%80%D0%BE%D1%89%D0%B5-.gitlab-ci.yml-%D1%82%D0%B5%D0%BC-%D0%BB%D1%83%D1%87%D1%88%D0%B5/</link>
<pubDate>Mon, 27 Nov 2017 10:38:37 +0200</pubDate>
<guid>https://ealebed.github.io/posts/2017/gitlab-ci-%D1%87%D0%B5%D0%BC-%D0%BF%D1%80%D0%BE%D1%89%D0%B5-.gitlab-ci.yml-%D1%82%D0%B5%D0%BC-%D0%BB%D1%83%D1%87%D1%88%D0%B5/</guid>
<description><p>В <a href="https://ealebed.github.io/posts/2017/gitlab-ci-%D1%87%D0%B0%D1%81%D1%82%D1%8C-10-%D1%8D%D1%82%D0%B0%D0%BF-cleanup-%D0%B2-.gitlab-ci.yml/">статье</a>, завершающей <strong>цикл о настройке Gitlab CI</strong> (continuous integration) была приведена в качестве примера финальная, полностью рабочая версия конфигурационного файла <code>.gitlab-ci.yml</code>.</p></description>
</item>