{"id":10034,"date":"2021-12-11T12:49:18","date_gmt":"2021-12-11T11:49:18","guid":{"rendered":"https:\/\/vived.io\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/"},"modified":"2022-09-19T13:20:04","modified_gmt":"2022-09-19T11:20:04","slug":"software-craftsmanship-saturday-vol-67-github-i-kubernetes","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/","title":{"rendered":"Software Craftsmanship Saturday vol. 67 &#8211; GitHub i Kubernetes"},"content":{"rendered":"\n<h2 id=\"1-github-wprowadza-precyzyjna-nawigacje-po-kodzie\" data-num=1>1. GitHub wprowadza precyzyjn\u0105 nawigacj\u0119 po kodzie \u270c\ufe0f<\/h2>\n\n\n\n<p>GitHub jest firm\u0105 rozwijaj\u0105c\u0105 si\u0119 niezwykle dynamicznie &#8211; my\u015bl\u0119, \u017ce je\u015bli bym si\u0119 postara\u0142, to w ka\u017cdej z naszych edycji zmie\u015bci\u0142bym jak\u0105\u015b nowink\u0119 od nich. Oczywi\u015bcie, nie chodzi o to \u017ceby\u015bmy si\u0119 stali GitHub Weekly (aczkolwiek prowadzi\u0142em kiedy\u015b podobn\u0105 seri\u0119, cho\u0107 dzia\u0142aj\u0105c\u0105 na nieco innych zasadach \ud83d\ude09). Czasem jednak niekt\u00f3re og\u0142oszenia s\u0105 na tyle du\u017ce, \u017ce smutno by si\u0119 by\u0142o nie podzieli\u0107.<\/p>\n\n\n\n<p>GitHub wprowadzi\u0142 bowiem zmiany zwi\u0105zane z nawigacj\u0105 po kodzie \u017ar\u00f3d\u0142owym. Takowa funkcjonalno\u015b\u0107 ju\u017c pewien czas go\u015bci\u0142a w ichniejszej przegl\u0105darce kodu \u017ar\u00f3d\u0142owego, ale od zesz\u0142ego tygodnia mo\u017cna u\u017cywa\u0107 jej r\u00f3wnie\u017c przy przegl\u0105daniu Pull Request. Zdecydowanie wol\u0119 \u015bci\u0105gni\u0119cie ca\u0142ego kodu zmiany i przegl\u0105danie jej w jakim\u015b pe\u0142nym edytorze, ale taka mo\u017cliwo\u015b\u0107 szybkiego podgl\u0105du w wielu sytuacjach b\u0119dzie z pewno\u015bci\u0105 przydatna.<\/p>\n\n\n\n<p>Drug\u0105 zmian\u0105 wprowadzon\u0105 przez GitHub jest tak zwana \u201cprecyzyjna nawigacja do kodu pythonoweg\u201d. Do tej pory wszystkie podpowiedzi w edytorze generowane by\u0142y nie za pomoc\u0105 realnej analizy kodu, a raczej poprzez robienie wyszukiwanie wyst\u0105pie\u0144 w API. Teraz ca\u0142y mechanizm ma by\u0107 w wypadku Pythona znacznie sprytniejszy i by\u0107 w stanie przewidzie\u0107, kt\u00f3ra wersj\u0105 zosta\u0142a tutaj u\u017cyta.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Pewnie jednak nie po\u015bwi\u0119ci\u0142bym temu og\u0142oszeniu miejsca w naszym przegl\u0105dzie, gdyby nie towarzysz\u0105ca mu publikacja. \u017beby osi\u0105gn\u0105\u0107 rzeczon\u0105 precyzj\u0119, GitHub stworzy\u0142 bowiem <a href=\"https:\/\/github.com\/github\/stack-graphs\/\">stack graphs<\/a> &#8211; narz\u0119dzie, kt\u00f3ra zapewnia tworzenie okrojonego odpowiednika drzewa syntaktycznego dla dowolnego j\u0119zyka, z jednej strony zapewniaj\u0105c rozpoznawania nazw metod, zmiennych czy klas. To, co szczeg\u00f3lnie interesuj\u0105ce to fakt, \u017ce stack graph stanowi\u0105 abstrakcje nad gramatyk\u0105 poszczeg\u00f3lnych j\u0119zyk\u00f3w &#8211; mog\u0105 wi\u0119c by\u0107 u\u017cyte z dowolnym j\u0119zykiem. Generuj\u0105 bowiem po prostu graf powi\u0105za\u0144 mi\u0119dzy poszczeg\u00f3lnymi metodami, dzi\u0119ki czemu GitHubowy edytor wie, kt\u00f3re warianty naprawd\u0119 zosta\u0142y w danym pliku u\u017cyte.&nbsp;<\/p>\n\n\n\n<p>Je\u017celi kiedykolwiek interesowa\u0142a Was narz\u0119dzi\u00f3wka do tworzenia narz\u0119dzi developerskich (a wiem, \u017ce mamy takowych smakoszy w\u015br\u00f3d czytelnik\u00f3w), zdecydowanie powinni\u015bcie przygl\u0105dn\u0105\u0107 si\u0119 stack graphs. Zosta\u0142y przyst\u0119pnie opisane przez <a href=\"https:\/\/github.blog\/2021-12-09-introducing-stack-graphs\/\">GitHuba w po\u015bcie<\/a>, a cechuj\u0105 si\u0119 pewnymi kreatywnymi rozwi\u0105zaniami technicznymi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/github.blog\/2021-12-09-precise-code-navigation-python-code-navigation-pull-requests\/\">Precise code navigation for Python, and code navigation in pull requests<\/a><\/li><li><a href=\"https:\/\/github.com\/github\/stack-graphs\/\">github\/stack-graphs: Rust implementation of stack graphs<\/a><\/li><li><a href=\"https:\/\/github.blog\/2021-12-09-introducing-stack-graphs\/\">Introducing stack graphs<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"2-nowa-ostatnia-granica-kubernetes-1-23-zawital\" data-num=2>2. Nowa Ostatnia Granica &#8211; Kubernetes 1.23 zawita\u0142&nbsp;\ud83d\udc33<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d0412e44.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>stack graphs to ciekawy, ale r\u00f3wnocze\u015bnie mocno niszowy projekt dla bardzo specyficznego odbiorcy. Z zesz\u0142otygodniowych premier z pewno\u015bci\u0105 du\u017co mocniej wi\u0119kszo\u015b\u0107 z Was zaafektuje nowa wersja Kubernetesa, o do\u015b\u0107 znamiennej nazwie \u201cThe Next Frontier\u201d. Co przynosi, \u017ceby zas\u0142u\u017cy\u0107 na tak bu\u0144czuczne miano?<\/p>\n\n\n\n<p>To co rzuca si\u0119 w oczy to fakt, \u017ce Container Runtime Interface (CRI) nareszcie staje si\u0119 rozwi\u0105zaniem domy\u015blnym. Nasi wierni czytelnicy zdaj\u0105 sobie spraw\u0119, \u017ce Kubernetes od pewnego czasu pozbywa si\u0119 zale\u017cno\u015bci na Dockerze, kt\u00f3ry ze wszystkimi swoimi rozwi\u0105zaniami stworzonymi dla wygody pojedynczego u\u017cytkownika wprowadza spory narzut w przypadku u\u017cycia w klastrze. W\u0142a\u015bnie w celu zast\u0105pienia pociesznego wielorybka powsta\u0142 kompatybilny z nim CRI. Rozwi\u0105zanie mo\u017cna by\u0142o ju\u017c testowa\u0107 w poprzedniej edycji, a teraz tw\u00f3rcy s\u0105 ju\u017c pewni go na tyle, \u017ceby uczyni\u0107 z niego domy\u015blne \u015brodowisko uruchomieniowe dla kontener\u00f3w.<\/p>\n\n\n\n<p>Kolejna du\u017ca nowo\u015b\u0107 w nowym Kubernetes to r\u00f3wnoleg\u0142e wsparcie IPv4 i IPv6 dla pojedynczych serwis\u00f3w. Jest to bardzo istotny dodatek z punktu widzenia proces\u00f3w migracji z IPv4 do IPv6, co ze wzgl\u0119du na popularyzacj\u0119 tego drugiego standardu wed\u0142ug tw\u00f3rc\u00f3w Kubernetesa staje si\u0119 coraz cz\u0119stsze. Teraz w okresie przej\u015bciowym b\u0119dzie mo\u017cna stopniowo dodawa\u0107 nowe adresy IPv6 poszczeg\u00f3lnym serwisom posiadaj\u0105cym ju\u017c adresy IPv4 bez \u017cadnego downtime. Pozwala przetrwa\u0107 to etap przej\u015bciowy, gdy ca\u0142y klaster jeszcze nie zmigrowa\u0142 si\u0119 na IPv6 i potrzebne jest r\u00f3wnolegle posiadanie dw\u00f3ch adres\u00f3w. Wi\u0119cej szczeg\u00f3\u0142\u00f3w znajdziecie w <a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/08\/dual-stack-networking-ga\/\">po\u015bcie blogowym<\/a> oraz <a href=\"https:\/\/github.com\/kubernetes\/enhancements\/tree\/master\/keps\/sig-network\/563-dual-stack\/\">oryginalnym design docu<\/a> (szczeg\u00f3lnie polecam ten drugi &#8211; jest d\u0142u\u017cszy, ale pom\u00f3g\u0142 mi zrozumie\u0107 motywacje stoj\u0105ce za ca\u0142ym procesem)<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d060f22c.png\" width=\"602\" height=\"277\"><br>A\u017c mnie ciekawi co nie dla pe\u0142noletnich mo\u017cna dosta\u0107 wyszukuj\u0105c &#8222;kubernetes ipv4\/ipv6 dual-stack&#8221;<\/p>\n\n\n\n<p>Oczywi\u015bcie, nowy Kubernetes to sporo wi\u0119cej, dlatego <a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/07\/kubernetes-1-23-release-announcement\/\">zapraszam do lektury pe\u0142nych Release Notes<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/07\/kubernetes-1-23-release-announcement\/\">Kubernetes 1.23: The Next Frontier<\/a><\/li><li><a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/08\/dual-stack-networking-ga\/\">Kubernetes 1.23: Dual-stack IPv4\/IPv6 Networking Reaches GA<\/a><\/li><li><a href=\"https:\/\/github.com\/kubernetes\/enhancements\/tree\/master\/keps\/sig-network\/563-dual-stack\/\">IPv4\/IPv6 Dual-stack<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Ko\u0144c\u00f3wka roku zbli\u017ca si\u0119 wielkimi krokami. Czas rodzinnego ciep\u0142a, choinki, \u0142amania si\u0119 op\u0142atkiem oraz\u2026 urlop\u00f3w. Dlatego z tygodnia na tydzie\u0144 wida\u0107, \u017ce \u201cdu\u017cych wydarze\u0144\u201d jest coraz mniej (przynajmniej poza \u015bwiatkiem javowym &#8211; wpiszcie log4j w Google i mi\u0142ej zabawy, do zobaczenia we wtorek \ud83d\ude48). Mimo to, mamy dzisiaj  dla Was dwa interesuj\u0105ce og\u0142oszenia.<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[266],"tags":[],"class_list":["post-10034","post","type-post","status-publish","format-standard","hentry","category-craftsmanship"],"acf":{"estimated_reading_time":"5","weekly_summary":true,"push_notification_image":false,"feature_image_visible":false,"feature_image_blog":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Software Craftsmanship Saturday vol. 67 - GitHub i Kubernetes - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Software Craftsmanship Saturday vol. 67 - GitHub i Kubernetes - Vived\" \/>\n<meta property=\"og:description\" content=\"Ko\u0144c\u00f3wka roku zbli\u017ca si\u0119 wielkimi krokami. Czas rodzinnego ciep\u0142a, choinki, \u0142amania si\u0119 op\u0142atkiem oraz\u2026 urlop\u00f3w. Dlatego z tygodnia na tydzie\u0144 wida\u0107, \u017ce \u201cdu\u017cych wydarze\u0144\u201d jest coraz mniej (przynajmniej poza \u015bwiatkiem javowym - wpiszcie log4j w Google i mi\u0142ej zabawy, do zobaczenia we wtorek \ud83d\ude48). Mimo to, mamy dzisiaj dla Was dwa interesuj\u0105ce og\u0142oszenia.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-11T11:49:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:20:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/Screenshot-2021-12-11-at-12.48.41.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2328\" \/>\n\t<meta property=\"og:image:height\" content=\"1216\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Software Craftsmanship Saturday vol. 67 &#8211; GitHub i Kubernetes\",\"datePublished\":\"2021-12-11T11:49:18+00:00\",\"dateModified\":\"2022-09-19T11:20:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/\"},\"wordCount\":779,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png\",\"articleSection\":[\"Craftsmanship\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/\",\"url\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/\",\"name\":\"Software Craftsmanship Saturday vol. 67 - GitHub i Kubernetes - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png\",\"datePublished\":\"2021-12-11T11:49:18+00:00\",\"dateModified\":\"2022-09-19T11:20:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Software Craftsmanship Saturday vol. 67 &#8211; GitHub i Kubernetes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Software Craftsmanship Saturday vol. 67 - GitHub i Kubernetes - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/","og_locale":"pl_PL","og_type":"article","og_title":"Software Craftsmanship Saturday vol. 67 - GitHub i Kubernetes - Vived","og_description":"Ko\u0144c\u00f3wka roku zbli\u017ca si\u0119 wielkimi krokami. Czas rodzinnego ciep\u0142a, choinki, \u0142amania si\u0119 op\u0142atkiem oraz\u2026 urlop\u00f3w. Dlatego z tygodnia na tydzie\u0144 wida\u0107, \u017ce \u201cdu\u017cych wydarze\u0144\u201d jest coraz mniej (przynajmniej poza \u015bwiatkiem javowym - wpiszcie log4j w Google i mi\u0142ej zabawy, do zobaczenia we wtorek \ud83d\ude48). Mimo to, mamy dzisiaj dla Was dwa interesuj\u0105ce og\u0142oszenia.","og_url":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/","og_site_name":"Vived","article_published_time":"2021-12-11T11:49:18+00:00","article_modified_time":"2022-09-19T11:20:04+00:00","og_image":[{"width":2328,"height":1216,"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/Screenshot-2021-12-11-at-12.48.41.png","type":"image\/png"}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Software Craftsmanship Saturday vol. 67 &#8211; GitHub i Kubernetes","datePublished":"2021-12-11T11:49:18+00:00","dateModified":"2022-09-19T11:20:04+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/"},"wordCount":779,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png","articleSection":["Craftsmanship"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/","url":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/","name":"Software Craftsmanship Saturday vol. 67 - GitHub i Kubernetes - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png","datePublished":"2021-12-11T11:49:18+00:00","dateModified":"2022-09-19T11:20:04+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png"},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-67-github-i-kubernetes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Software Craftsmanship Saturday vol. 67 &#8211; GitHub i Kubernetes"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>1. GitHub wprowadza precyzyjn\u0105 nawigacj\u0119 po kodzie \u270c\ufe0f<\/h2>\n","innerContent":["\n<h2>1. GitHub wprowadza precyzyjn\u0105 nawigacj\u0119 po kodzie \u270c\ufe0f<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>GitHub jest firm\u0105 rozwijaj\u0105c\u0105 si\u0119 niezwykle dynamicznie - my\u015bl\u0119, \u017ce je\u015bli bym si\u0119 postara\u0142, to w ka\u017cdej z naszych edycji zmie\u015bci\u0142bym jak\u0105\u015b nowink\u0119 od nich. Oczywi\u015bcie, nie chodzi o to \u017ceby\u015bmy si\u0119 stali GitHub Weekly (aczkolwiek prowadzi\u0142em kiedy\u015b podobn\u0105 seri\u0119, cho\u0107 dzia\u0142aj\u0105c\u0105 na nieco innych zasadach \ud83d\ude09). Czasem jednak niekt\u00f3re og\u0142oszenia s\u0105 na tyle du\u017ce, \u017ce smutno by si\u0119 by\u0142o nie podzieli\u0107.<\/p>\n","innerContent":["\n<p>GitHub jest firm\u0105 rozwijaj\u0105c\u0105 si\u0119 niezwykle dynamicznie - my\u015bl\u0119, \u017ce je\u015bli bym si\u0119 postara\u0142, to w ka\u017cdej z naszych edycji zmie\u015bci\u0142bym jak\u0105\u015b nowink\u0119 od nich. Oczywi\u015bcie, nie chodzi o to \u017ceby\u015bmy si\u0119 stali GitHub Weekly (aczkolwiek prowadzi\u0142em kiedy\u015b podobn\u0105 seri\u0119, cho\u0107 dzia\u0142aj\u0105c\u0105 na nieco innych zasadach \ud83d\ude09). Czasem jednak niekt\u00f3re og\u0142oszenia s\u0105 na tyle du\u017ce, \u017ce smutno by si\u0119 by\u0142o nie podzieli\u0107.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>GitHub wprowadzi\u0142 bowiem zmiany zwi\u0105zane z nawigacj\u0105 po kodzie \u017ar\u00f3d\u0142owym. Takowa funkcjonalno\u015b\u0107 ju\u017c pewien czas go\u015bci\u0142a w ichniejszej przegl\u0105darce kodu \u017ar\u00f3d\u0142owego, ale od zesz\u0142ego tygodnia mo\u017cna u\u017cywa\u0107 jej r\u00f3wnie\u017c przy przegl\u0105daniu Pull Request. Zdecydowanie wol\u0119 \u015bci\u0105gni\u0119cie ca\u0142ego kodu zmiany i przegl\u0105danie jej w jakim\u015b pe\u0142nym edytorze, ale taka mo\u017cliwo\u015b\u0107 szybkiego podgl\u0105du w wielu sytuacjach b\u0119dzie z pewno\u015bci\u0105 przydatna.<\/p>\n","innerContent":["\n<p>GitHub wprowadzi\u0142 bowiem zmiany zwi\u0105zane z nawigacj\u0105 po kodzie \u017ar\u00f3d\u0142owym. Takowa funkcjonalno\u015b\u0107 ju\u017c pewien czas go\u015bci\u0142a w ichniejszej przegl\u0105darce kodu \u017ar\u00f3d\u0142owego, ale od zesz\u0142ego tygodnia mo\u017cna u\u017cywa\u0107 jej r\u00f3wnie\u017c przy przegl\u0105daniu Pull Request. Zdecydowanie wol\u0119 \u015bci\u0105gni\u0119cie ca\u0142ego kodu zmiany i przegl\u0105danie jej w jakim\u015b pe\u0142nym edytorze, ale taka mo\u017cliwo\u015b\u0107 szybkiego podgl\u0105du w wielu sytuacjach b\u0119dzie z pewno\u015bci\u0105 przydatna.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Drug\u0105 zmian\u0105 wprowadzon\u0105 przez GitHub jest tak zwana \u201cprecyzyjna nawigacja do kodu pythonoweg\u201d. Do tej pory wszystkie podpowiedzi w edytorze generowane by\u0142y nie za pomoc\u0105 realnej analizy kodu, a raczej poprzez robienie wyszukiwanie wyst\u0105pie\u0144 w API. Teraz ca\u0142y mechanizm ma by\u0107 w wypadku Pythona znacznie sprytniejszy i by\u0107 w stanie przewidzie\u0107, kt\u00f3ra wersj\u0105 zosta\u0142a tutaj u\u017cyta.<\/p>\n","innerContent":["\n<p>Drug\u0105 zmian\u0105 wprowadzon\u0105 przez GitHub jest tak zwana \u201cprecyzyjna nawigacja do kodu pythonoweg\u201d. Do tej pory wszystkie podpowiedzi w edytorze generowane by\u0142y nie za pomoc\u0105 realnej analizy kodu, a raczej poprzez robienie wyszukiwanie wyst\u0105pie\u0144 w API. Teraz ca\u0142y mechanizm ma by\u0107 w wypadku Pythona znacznie sprytniejszy i by\u0107 w stanie przewidzie\u0107, kt\u00f3ra wersj\u0105 zosta\u0142a tutaj u\u017cyta.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":[],"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png\" alt=\"\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d02ebc16.png\" alt=\"\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Pewnie jednak nie po\u015bwi\u0119ci\u0142bym temu og\u0142oszeniu miejsca w naszym przegl\u0105dzie, gdyby nie towarzysz\u0105ca mu publikacja. \u017beby osi\u0105gn\u0105\u0107 rzeczon\u0105 precyzj\u0119, GitHub stworzy\u0142 bowiem <a href=\"https:\/\/github.com\/github\/stack-graphs\/\">stack graphs<\/a> - narz\u0119dzie, kt\u00f3ra zapewnia tworzenie okrojonego odpowiednika drzewa syntaktycznego dla dowolnego j\u0119zyka, z jednej strony zapewniaj\u0105c rozpoznawania nazw metod, zmiennych czy klas. To, co szczeg\u00f3lnie interesuj\u0105ce to fakt, \u017ce stack graph stanowi\u0105 abstrakcje nad gramatyk\u0105 poszczeg\u00f3lnych j\u0119zyk\u00f3w - mog\u0105 wi\u0119c by\u0107 u\u017cyte z dowolnym j\u0119zykiem. Generuj\u0105 bowiem po prostu graf powi\u0105za\u0144 mi\u0119dzy poszczeg\u00f3lnymi metodami, dzi\u0119ki czemu GitHubowy edytor wie, kt\u00f3re warianty naprawd\u0119 zosta\u0142y w danym pliku u\u017cyte.&nbsp;<\/p>\n","innerContent":["\n<p>Pewnie jednak nie po\u015bwi\u0119ci\u0142bym temu og\u0142oszeniu miejsca w naszym przegl\u0105dzie, gdyby nie towarzysz\u0105ca mu publikacja. \u017beby osi\u0105gn\u0105\u0107 rzeczon\u0105 precyzj\u0119, GitHub stworzy\u0142 bowiem <a href=\"https:\/\/github.com\/github\/stack-graphs\/\">stack graphs<\/a> - narz\u0119dzie, kt\u00f3ra zapewnia tworzenie okrojonego odpowiednika drzewa syntaktycznego dla dowolnego j\u0119zyka, z jednej strony zapewniaj\u0105c rozpoznawania nazw metod, zmiennych czy klas. To, co szczeg\u00f3lnie interesuj\u0105ce to fakt, \u017ce stack graph stanowi\u0105 abstrakcje nad gramatyk\u0105 poszczeg\u00f3lnych j\u0119zyk\u00f3w - mog\u0105 wi\u0119c by\u0107 u\u017cyte z dowolnym j\u0119zykiem. Generuj\u0105 bowiem po prostu graf powi\u0105za\u0144 mi\u0119dzy poszczeg\u00f3lnymi metodami, dzi\u0119ki czemu GitHubowy edytor wie, kt\u00f3re warianty naprawd\u0119 zosta\u0142y w danym pliku u\u017cyte.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u017celi kiedykolwiek interesowa\u0142a Was narz\u0119dzi\u00f3wka do tworzenia narz\u0119dzi developerskich (a wiem, \u017ce mamy takowych smakoszy w\u015br\u00f3d czytelnik\u00f3w), zdecydowanie powinni\u015bcie przygl\u0105dn\u0105\u0107 si\u0119 stack graphs. Zosta\u0142y przyst\u0119pnie opisane przez <a href=\"https:\/\/github.blog\/2021-12-09-introducing-stack-graphs\/\">GitHuba w po\u015bcie<\/a>, a cechuj\u0105 si\u0119 pewnymi kreatywnymi rozwi\u0105zaniami technicznymi.<\/p>\n","innerContent":["\n<p>Je\u017celi kiedykolwiek interesowa\u0142a Was narz\u0119dzi\u00f3wka do tworzenia narz\u0119dzi developerskich (a wiem, \u017ce mamy takowych smakoszy w\u015br\u00f3d czytelnik\u00f3w), zdecydowanie powinni\u015bcie przygl\u0105dn\u0105\u0107 si\u0119 stack graphs. Zosta\u0142y przyst\u0119pnie opisane przez <a href=\"https:\/\/github.blog\/2021-12-09-introducing-stack-graphs\/\">GitHuba w po\u015bcie<\/a>, a cechuj\u0105 si\u0119 pewnymi kreatywnymi rozwi\u0105zaniami technicznymi.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/github.blog\/2021-12-09-precise-code-navigation-python-code-navigation-pull-requests\/\">Precise code navigation for Python, and code navigation in pull requests<\/a><\/li><li><a href=\"https:\/\/github.com\/github\/stack-graphs\/\">github\/stack-graphs: Rust implementation of stack graphs<\/a><\/li><li><a href=\"https:\/\/github.blog\/2021-12-09-introducing-stack-graphs\/\">Introducing stack graphs<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/github.blog\/2021-12-09-precise-code-navigation-python-code-navigation-pull-requests\/\">Precise code navigation for Python, and code navigation in pull requests<\/a><\/li><li><a href=\"https:\/\/github.com\/github\/stack-graphs\/\">github\/stack-graphs: Rust implementation of stack graphs<\/a><\/li><li><a href=\"https:\/\/github.blog\/2021-12-09-introducing-stack-graphs\/\">Introducing stack graphs<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. Nowa Ostatnia Granica - Kubernetes 1.23 zawita\u0142&nbsp;\ud83d\udc33<\/h2>\n","innerContent":["\n<h2>2. Nowa Ostatnia Granica - Kubernetes 1.23 zawita\u0142&nbsp;\ud83d\udc33<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":[],"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d0412e44.png\" alt=\"\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d0412e44.png\" alt=\"\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>stack graphs to ciekawy, ale r\u00f3wnocze\u015bnie mocno niszowy projekt dla bardzo specyficznego odbiorcy. Z zesz\u0142otygodniowych premier z pewno\u015bci\u0105 du\u017co mocniej wi\u0119kszo\u015b\u0107 z Was zaafektuje nowa wersja Kubernetesa, o do\u015b\u0107 znamiennej nazwie \u201cThe Next Frontier\u201d. Co przynosi, \u017ceby zas\u0142u\u017cy\u0107 na tak bu\u0144czuczne miano?<\/p>\n","innerContent":["\n<p>stack graphs to ciekawy, ale r\u00f3wnocze\u015bnie mocno niszowy projekt dla bardzo specyficznego odbiorcy. Z zesz\u0142otygodniowych premier z pewno\u015bci\u0105 du\u017co mocniej wi\u0119kszo\u015b\u0107 z Was zaafektuje nowa wersja Kubernetesa, o do\u015b\u0107 znamiennej nazwie \u201cThe Next Frontier\u201d. Co przynosi, \u017ceby zas\u0142u\u017cy\u0107 na tak bu\u0144czuczne miano?<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To co rzuca si\u0119 w oczy to fakt, \u017ce Container Runtime Interface (CRI) nareszcie staje si\u0119 rozwi\u0105zaniem domy\u015blnym. Nasi wierni czytelnicy zdaj\u0105 sobie spraw\u0119, \u017ce Kubernetes od pewnego czasu pozbywa si\u0119 zale\u017cno\u015bci na Dockerze, kt\u00f3ry ze wszystkimi swoimi rozwi\u0105zaniami stworzonymi dla wygody pojedynczego u\u017cytkownika wprowadza spory narzut w przypadku u\u017cycia w klastrze. W\u0142a\u015bnie w celu zast\u0105pienia pociesznego wielorybka powsta\u0142 kompatybilny z nim CRI. Rozwi\u0105zanie mo\u017cna by\u0142o ju\u017c testowa\u0107 w poprzedniej edycji, a teraz tw\u00f3rcy s\u0105 ju\u017c pewni go na tyle, \u017ceby uczyni\u0107 z niego domy\u015blne \u015brodowisko uruchomieniowe dla kontener\u00f3w.<\/p>\n","innerContent":["\n<p>To co rzuca si\u0119 w oczy to fakt, \u017ce Container Runtime Interface (CRI) nareszcie staje si\u0119 rozwi\u0105zaniem domy\u015blnym. Nasi wierni czytelnicy zdaj\u0105 sobie spraw\u0119, \u017ce Kubernetes od pewnego czasu pozbywa si\u0119 zale\u017cno\u015bci na Dockerze, kt\u00f3ry ze wszystkimi swoimi rozwi\u0105zaniami stworzonymi dla wygody pojedynczego u\u017cytkownika wprowadza spory narzut w przypadku u\u017cycia w klastrze. W\u0142a\u015bnie w celu zast\u0105pienia pociesznego wielorybka powsta\u0142 kompatybilny z nim CRI. Rozwi\u0105zanie mo\u017cna by\u0142o ju\u017c testowa\u0107 w poprzedniej edycji, a teraz tw\u00f3rcy s\u0105 ju\u017c pewni go na tyle, \u017ceby uczyni\u0107 z niego domy\u015blne \u015brodowisko uruchomieniowe dla kontener\u00f3w.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Kolejna du\u017ca nowo\u015b\u0107 w nowym Kubernetes to r\u00f3wnoleg\u0142e wsparcie IPv4 i IPv6 dla pojedynczych serwis\u00f3w. Jest to bardzo istotny dodatek z punktu widzenia proces\u00f3w migracji z IPv4 do IPv6, co ze wzgl\u0119du na popularyzacj\u0119 tego drugiego standardu wed\u0142ug tw\u00f3rc\u00f3w Kubernetesa staje si\u0119 coraz cz\u0119stsze. Teraz w okresie przej\u015bciowym b\u0119dzie mo\u017cna stopniowo dodawa\u0107 nowe adresy IPv6 poszczeg\u00f3lnym serwisom posiadaj\u0105cym ju\u017c adresy IPv4 bez \u017cadnego downtime. Pozwala przetrwa\u0107 to etap przej\u015bciowy, gdy ca\u0142y klaster jeszcze nie zmigrowa\u0142 si\u0119 na IPv6 i potrzebne jest r\u00f3wnolegle posiadanie dw\u00f3ch adres\u00f3w. Wi\u0119cej szczeg\u00f3\u0142\u00f3w znajdziecie w <a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/08\/dual-stack-networking-ga\/\">po\u015bcie blogowym<\/a> oraz <a href=\"https:\/\/github.com\/kubernetes\/enhancements\/tree\/master\/keps\/sig-network\/563-dual-stack\/\">oryginalnym design docu<\/a> (szczeg\u00f3lnie polecam ten drugi - jest d\u0142u\u017cszy, ale pom\u00f3g\u0142 mi zrozumie\u0107 motywacje stoj\u0105ce za ca\u0142ym procesem)<\/p>\n","innerContent":["\n<p>Kolejna du\u017ca nowo\u015b\u0107 w nowym Kubernetes to r\u00f3wnoleg\u0142e wsparcie IPv4 i IPv6 dla pojedynczych serwis\u00f3w. Jest to bardzo istotny dodatek z punktu widzenia proces\u00f3w migracji z IPv4 do IPv6, co ze wzgl\u0119du na popularyzacj\u0119 tego drugiego standardu wed\u0142ug tw\u00f3rc\u00f3w Kubernetesa staje si\u0119 coraz cz\u0119stsze. Teraz w okresie przej\u015bciowym b\u0119dzie mo\u017cna stopniowo dodawa\u0107 nowe adresy IPv6 poszczeg\u00f3lnym serwisom posiadaj\u0105cym ju\u017c adresy IPv4 bez \u017cadnego downtime. Pozwala przetrwa\u0107 to etap przej\u015bciowy, gdy ca\u0142y klaster jeszcze nie zmigrowa\u0142 si\u0119 na IPv6 i potrzebne jest r\u00f3wnolegle posiadanie dw\u00f3ch adres\u00f3w. Wi\u0119cej szczeg\u00f3\u0142\u00f3w znajdziecie w <a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/08\/dual-stack-networking-ga\/\">po\u015bcie blogowym<\/a> oraz <a href=\"https:\/\/github.com\/kubernetes\/enhancements\/tree\/master\/keps\/sig-network\/563-dual-stack\/\">oryginalnym design docu<\/a> (szczeg\u00f3lnie polecam ten drugi - jest d\u0142u\u017cszy, ale pom\u00f3g\u0142 mi zrozumie\u0107 motywacje stoj\u0105ce za ca\u0142ym procesem)<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d060f22c.png\" width=\"602\" height=\"277\"><br>A\u017c mnie ciekawi co nie dla pe\u0142noletnich mo\u017cna dosta\u0107 wyszukuj\u0105c \"kubernetes ipv4\/ipv6 dual-stack\"<\/p>\n","innerContent":["\n<p><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88d060f22c.png\" width=\"602\" height=\"277\"><br>A\u017c mnie ciekawi co nie dla pe\u0142noletnich mo\u017cna dosta\u0107 wyszukuj\u0105c \"kubernetes ipv4\/ipv6 dual-stack\"<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Oczywi\u015bcie, nowy Kubernetes to sporo wi\u0119cej, dlatego <a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/07\/kubernetes-1-23-release-announcement\/\">zapraszam do lektury pe\u0142nych Release Notes<\/a>.<\/p>\n","innerContent":["\n<p>Oczywi\u015bcie, nowy Kubernetes to sporo wi\u0119cej, dlatego <a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/07\/kubernetes-1-23-release-announcement\/\">zapraszam do lektury pe\u0142nych Release Notes<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/07\/kubernetes-1-23-release-announcement\/\">Kubernetes 1.23: The Next Frontier<\/a><\/li><li><a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/08\/dual-stack-networking-ga\/\">Kubernetes 1.23: Dual-stack IPv4\/IPv6 Networking Reaches GA<\/a><\/li><li><a href=\"https:\/\/github.com\/kubernetes\/enhancements\/tree\/master\/keps\/sig-network\/563-dual-stack\/\">IPv4\/IPv6 Dual-stack<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/07\/kubernetes-1-23-release-announcement\/\">Kubernetes 1.23: The Next Frontier<\/a><\/li><li><a href=\"https:\/\/kubernetes.io\/blog\/2021\/12\/08\/dual-stack-networking-ga\/\">Kubernetes 1.23: Dual-stack IPv4\/IPv6 Networking Reaches GA<\/a><\/li><li><a href=\"https:\/\/github.com\/kubernetes\/enhancements\/tree\/master\/keps\/sig-network\/563-dual-stack\/\">IPv4\/IPv6 Dual-stack<\/a><\/li><\/ul>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=10034"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10034\/revisions"}],"predecessor-version":[{"id":10663,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10034\/revisions\/10663"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10034"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10034"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}