Java Developer a w wymaganiach Kubernetes.

2

Hej, Coraz częściej w wymaganiach na Java Developera widzę wymaganą praktyczną znajomość Kubernetesa. Czy ktoś aplikował na takie oferty pracy? Co robi się w takich pracach gdzie na 4-5 miejscu w wymaganych technologiach jest Kubernetes? Jest to bardzo ciekawa technologia, ale również obszerna co ekosystem Springa. Co taki Java Developer robi w takiej pracy z Kubernetesem? Dzięki za odpowiedź

8

Podstawy kubernetesa. Umieć sprawdzić logi, napisać mały config, ręcznie zdeployować instancję
Czyli to samo co z Dockerem tylko bardziej enterprise

8

W 2 ostatnich firmach, gdzie w stosie pojawiał się Spring i k8s od deweloperów wymagaliśmy (jako team devops):

  • jak napisać Dockerfile (jeśli nie dało się skopiować z innego projektu)
  • jak ustawić Xmx i że jest coś takiego jak limit/request i nie można załadować 1 giga XML do pamięci #pdk
  • wiedzieć jak działa service discovery, odpytywanie usług po DNS
  • wiedzieć jak skonfigurować healthchecki (choć dziś to sprawa załatwiona przez Spring Actuator)
  • wiedzieć jak skonfigurować aplikację (zczytać zmienne środowiskowe, podmontować configmap itp.)

i tego typu rzeczy na styku Java-infrastruktura. Raczej nic specjalnie więcej.

0

Dzięki Panowie bardzo za odpowiedź! Można zamknąć temat.

4

Ja bym powiedział, że to coś więcej niż znajomość narzędzia. Bardziej chodzi o podejście do projektowania systemu tak, aby był skalowalny i wysoko dostępny: https://12factor.net/

Co z tego, że umiem napisać config jak w aplikacji trzymam stan w HashMapie albo używam synchronized? :)

0

Co z dockera powinien umieć Java developer?

0

Co z dockera powinien umieć Java developer?

Umieć do czego? Docker nie ma związku z Javą.

3

Poczułem się schallengowany w komentarzach, wiec podsyłam link: https://github.com/aws-samples/kubernetes-for-java-developers Jak to ogarniesz ze zrozumieniem, to git IMO.

0
Charles_Ray napisał(a):

Poczułem się schallengowany w komentarzach, wiec podsyłam link: https://github.com/aws-samples/kubernetes-for-java-developers Jak to ogarniesz ze zrozumieniem, to git IMO.

Łe kurczaki... to wszystko co tam jest, to zaprojektowanie praktycznie całej infrastruktury pod mikroserwisy... IMO to można określić jako "dobra" znajomość Kubernetesa.
Ja właśnie się tego Kubernetesa uczę, i umiem np:

  • lokalny obraz dockerowy zdeployować na poda
  • wiem w ogóle co to są te pody, nody itp
  • zmienić coś tam w "Deployment"
  • dodać service
  • ogólnie posługiwać się komendą kubectl
  • wejść w konsolę klastra (exec -it ... sh) i stamtąd odpytać uruchomioną aplikację,
  • wyeksponować / przemapować porty

Czy mogę powiedzieć, że znam podstawy kubernetesa?

0

jak sytuacja wygląda obecnie?
czy kubernetes jest nadal potrzebny java developerowi, jeśli chcesz zarabiać ponad medianę? Mam teorię spiskową, że tego k8 wymagali kiedyś więcej dlatego, że brakowało devopsów, ale teraz już się rynek napełnia? Wydaje mi się, że lepiej jakby java dev skupił się na jvm niż devopsowaniu...

3
LitwinWileński napisał(a):

jak sytuacja wygląda obecnie?
czy kubernetes jest nadal potrzebny java developerowi, jeśli chcesz zarabiać ponad medianę? Mam teorię spiskową, że tego k8 wymagali kiedyś więcej dlatego, że brakowało devopsów, ale teraz już się rynek napełnia? Wydaje mi się, że lepiej jakby java dev skupił się na jvm niż devopsowaniu...

Zależy co rozumiesz przez znajomość k8s? Czy przygotowanie samemu deploymentu nowego serwisu na klaster liczy się jako znajomość k8s czy nie? Bo takie coś to każdy dev powinien umieć zrobić. Napisałem serwis, tworzę obraz, kontener, manifesty i wrzucam na k8s, ewentualnie robi to za mnie pipeline CI/CD, ale to wciąż nie zwalnia mnie z konieczności przygotowania aplikacji tak, aby możliwe było jej automatyczne wdrożenie na k8s.

Jeśli masz na myśli utrzymanie klastra w ramach operacji IT to zdecydowanie od tego powinien być dedykowany team.

0
LitwinWileński napisał(a):

jak sytuacja wygląda obecnie?
czy kubernetes jest nadal potrzebny java developerowi, jeśli chcesz zarabiać ponad medianę? Mam teorię spiskową, że tego k8 wymagali kiedyś więcej dlatego, że brakowało devopsów, ale teraz już się rynek napełnia? Wydaje mi się, że lepiej jakby java dev skupił się na jvm niż devopsowaniu...

Nie jest wymagana, ale pomaga. Ogólnie w dzisiejszych czasach klepanie kodu zrobiło się bardzo proste.
To, co odróżnia właśnie dobrych devów od tych słabszych to to, że dobry dev:

  • zna technologie nie-JVMowe (np. Spark, chmury, rozwiązania data lake, bazy danych)
  • ogarnia się w infrastrukturze (tutaj dorzuciłbym tego nieszczęsnego k8s)
  • potrafi pracować w zespole i wie, jak proces powinien działać
  • pisze czytelny kod
1

hint: obadajcie sobie toola k9s.

1
LitwinWileński napisał(a):

czy kubernetes jest nadal potrzebny java developerowi, jeśli chcesz zarabiać ponad medianę?

Czy "backend Java dev" powinien umiec uruchomić aplikację, sprawdzić jej logi, albo zbudować sobie jakieś lokalne środowisko deweloperskie?

0

To chyba zależy czy ktoś tworzy aplikację czy tylko przepisuje dokumentację na kod.

Nie no, żartuję sobie. Sam nie umiem w kubernetesy. Ale za to nie robię nic żeby się ich nauczyć. Mimo że wiem, że by się przydało <3

0

W mojej firmie wymagają Kubernetesa ale co najmniej na poziomie średnim, mam na myśli umiejętność postawienia K8S za pomocą Terraform z podziałem na srodowiska. Tylko że w mojej firmie robimy jako Java Developerzy wszystko, w sensie całe CI/CD.

1 użytkowników online, w tym zalogowanych: 0, gości: 1