Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2016 3camp Kubernetes

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

2016 3camp Kubernetes

Avatar for Radek Pieczonka

Radek Pieczonka

May 31, 2016
Tweet

More Decks by Radek Pieczonka

Other Decks in Programming

Transcript

  1. Kto zacz? - pierwsze kroki z 8-bitowcami - po krótkiej

    przygodzie z RH, przez parę lat Slack potem Debian, od niedawna CoreOS - osiedlówka, traffic shaping, różne linuxy na ARMach w wifi itp. - z opsowym doświadczeniem i kilkoma PHPowymi przygodami od 2008 pracuje jako PM / TL / (Dev|Web|Whatever)Ops for dla projektów z klientami z fr, be czy se - kontenery ( kiedyś np. OpenVZ, teraz oczywiście(?) Docker )
  2. BORG dla ludzi “Google’s Borg system is a cluster manager

    that runs hundreds of thousands of jobs, from many thousands of different applications, across a number of clusters each with up to tens of thousands of machines.”
  3. POD Podstawowa jednostka organizacyjna - grupa kontenerów - współdzielona przestrzeń

    sieciowa (PID prawdopodobnie niedługo) - dedykowany adres IP osiągalny z innych POD’ów - testy readiness/liveness - limity zasobów
  4. DEPLOYMENT Definiuje szablon podów i odpowiada za utrzymanie zestawu uruchomionych

    podów w ramach ReplicaSet’ów, ich skalowanie czy rolling-upgrade
  5. SERVICE Przykrywa zestaw portów na podach opisanych labelami zgodnymi z

    selektorem, udostępniając je na niezmiennym IP serwisowym - kube-proxy - kube-dns - types - cluster IP, nodeport, LB
  6. JSON / YAML możliwość przechowywania definicji w pliku i ich

    użycia przez create, apply delete apiVersion: v1 kind: Service metadata: name: someapi labels: app: someapi spec: selector: app: someapi ports: - name: http80 port: 80 targetPort: 8080 protocol: TCP - name: http8080 port: 8080 targetPort: 8080 protocol: TCP
  7. (Persistent) Volumes emptyDir, hostPath, gcePersistentDisk, awsElasticBlockStore, nfs, iscsi, flocker, glusterfs,

    rbd, gitRepo, Secret, persistentVolumeClaim, downwardAPI, azureFileVolume volumes: - name: opt gitRepo: repository: "https://github. com/goblain/k8s-hello.git" revision: "4116d5d86e90d401d22e94605c6cee1f4f1c9ef6"
  8. Secrets przechowywane w poamięci (i etcd), można m.in. podmontować jako

    volume lub podać w env’ach apiVersion: v1 kind: Secret type: kubernetes.io/dockerconfigjson metadata: name: dockercreds data: .dockerconfigjson: ewoJavujyTRLUYGtyufLKUYtFlIUGUyf”: ihbybvyvTUVTYfvuRcvtyfviytVLuytgfkYTVlutfKyt vLKYtcvLyvtKYtcvLyvKYtvLybvlKvlUYvclkYTcvIyg uluYvbQoJfQp9
  9. Horizontal Pod Autoscaling apiVersion: extensions/v1beta1 kind: HorizontalPodAutoscaler metadata: name: hello

    spec: cpuUtilization: targetPercentage: 80 maxReplicas: 10 minReplicas: 2 scaleRef: kind: Deployment name: hello subresource: scale