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

2016 3camp Kubernetes

2016 3camp Kubernetes

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