Kubernetes
en: /kuːbəˈnɛtɪs/
/kei.eits/
古典的な読みを したい: キューベルネーテース
orchestrator? conductor?
concepts
k8s objects
Namespace
grouping & separation
spec vs status
supporting declerative management
imperative ones are available
resources
resource category
5 categories of resources:
Workloads
Discovery&LB
aka. Service API resources
Config&Storage
e.g.
ConfigMap
Secret
Volume
要はストレージやFS
e.g. Persistent Volume
Cluster
e.g. Namespace, Node, ServiceAccount
Metadata
e.g. HorizontalPodAutoscaler, PodDisruptionBudget, Event
object
object -- instance of --> resource
triple: group, version, kind
… provides APIs
… declared with spec
… shows status
CRD: custom resource definition
object as a reification of resource
cf. operator pattern
Workloads resources
for containers
Pod ∈ ReplicaSet ∈ Deployment
ReplicationController deprecated
疑問wint.icon
kubectl run で作った pod はどこに属してる?宣言的管理じゃないから、属してない?
other sets
DaemonSet
1 per node
Pod ∈ DaemonSet
StatefulSet
persistent
Pod ∈ StatefulSet
Job ∈ CronJob
oneshot or repeated
Pod
containers
main
sidecar
Discovery&LB resources
service discovery
Service (selector by labels) → labels → Pod (labels by Deployment)
other resources
LoadBalancer (routing rules) → Service
by IP, by ports, etc…
volume types:
persistent volume
外部の storage をマウントできる。
ephemeral volume
e.g.
config map
volume あつかいなら、自動更新で自動反映される。
secret
CSI ephemeral volume
cf. projected volume
まとめられる。
network
master
kube-apiserver
etcd
nodes
kubelet
per node
kube-proxy
networking
container runtime
pods
LBs
services on top of it
Envoy
data plane
Istio
control plane
Knative
both
control plane
data plane
managers
Kustomize
templating
Helm
package management
ref.
managed services
so-called CaaS
list
Azure AKS
ref.
Kubernetes API Reference Docs
overview
Resource Categories
This is a high-level overview of the basic types of resources provide by the Kubernetes API and their primary functions.
Workloads are objects you use to manage and run your containers on the cluster.
Discovery & LB resources are objects you use to "stitch" your workloads together into an externally accessible, load-balanced Service.
Config & Storage resources are objects you use to inject initialization data into your applications, and to persist data that is external to your container.
Cluster resources objects define how the cluster itself is configured; these are typically used only by cluster operators.
Metadata resources are objects you use to configure the behavior of other resources within the cluster, such as HorizontalPodAutoscaler for scaling workloads.
guides
書籍化: 『Kubernetes完全ガイド』