Zenn
Open5

Kubernetes事始

だいみょーだいみょー

はじめに

今更感はありますが、Kubernetesを本格的にいじることになったのでスクラップでまとめていきます(一旦雑に貼ってあとで綺麗にします)

なお、マネージドKubernetesはAzure Kubernetes Service(AKS)を使っています。

だいみょーだいみょー

Kubernetes API

KubernetesのAPIは、Resource Categoriesと言い、いくつかに分類することができます。

Workloads

クラスタ上でコンテナを管理・実行するためのオブジェクトです。

  • Container v1 core
  • CronJob v1 batch
  • DaemonSet v1 apps
  • Deployment v1 apps
  • Job v1 batch
  • Pod v1 core
  • ReplicaSet v1 apps
  • ReplicationController v1 core
  • StatefulSet v1 apps

Discovery & LB(Service APIs)

複数の Workloads をつなぎ合わせて、外部からアクセス可能なロードバランサ付きの Service として公開するためのオブジェクトです。

Endpoints v1 core
EndpointSlice v1 discovery.k8s.io
Ingress v1 networking.k8s.io
IngressClass v1 networking.k8s.io
Service v1 core

Config & Storage

アプリケーションに初期化用データを注入したり、コンテナ外のデータを永続化したりするためのオブジェクトです。

ConfigMap v1 core
CSIDriver v1 storage.k8s.io
CSINode v1 storage.k8s.io
CSIStorageCapacity v1 storage.k8s.io
Secret v1 core
PersistentVolumeClaim v1 core
StorageClass v1 storage.k8s.io
StorageVersionMigration v1alpha1 storagemigration.k8s.io
Volume v1 core
VolumeAttachment v1 storage.k8s.io
VolumeAttributesClass v1beta1 storage.k8s.io

Cluster

クラスタそのものの設定方法を定義するオブジェクトで、通常はクラスタの運用管理者が使用します。

APIService v1 apiregistration.k8s.io
Binding v1 core
CertificateSigningRequest v1 certificates.k8s.io
ClusterRole v1 rbac.authorization.k8s.io
ClusterRoleBinding v1 rbac.authorization.k8s.io
ComponentStatus v1 core
FlowSchema v1 flowcontrol.apiserver.k8s.io
IPAddress v1beta1 networking.k8s.io
Lease v1 coordination.k8s.io
LeaseCandidate v1alpha2 coordination.k8s.io
LocalSubjectAccessReview v1 authorization.k8s.io
Namespace v1 core
Node v1 core
PersistentVolume v1 core
PriorityLevelConfiguration v1 flowcontrol.apiserver.k8s.io
ResourceQuota v1 core
Role v1 rbac.authorization.k8s.io
RoleBinding v1 rbac.authorization.k8s.io
RuntimeClass v1 node.k8s.io
SelfSubjectAccessReview v1 authorization.k8s.io
SelfSubjectReview v1 authentication.k8s.io
SelfSubjectRulesReview v1 authorization.k8s.io
ServiceAccount v1 core
ServiceCIDR v1beta1 networking.k8s.io
StorageVersion v1alpha1 internal.apiserver.k8s.io
StorageVersionMigration v1alpha1 storagemigration.k8s.io
SubjectAccessReview v1 authorization.k8s.io
TokenRequest v1 authentication.k8s.io
TokenReview v1 authentication.k8s.io
NetworkPolicy v1 networking.k8s.io
MutatingAdmissionPolicy v1alpha1 admissionregistration.k8s.io
MutatingAdmissionPolicyBinding v1alpha1 admissionregistration.k8s.io

Metadata

他のリソースの振る舞いを制御・設定するためのオブジェクトです。たとえば Workloads のスケーリングを行う HorizontalPodAutoscaler などが該当します。

ClusterTrustBundle v1alpha1 certificates.k8s.io
ControllerRevision v1 apps
CustomResourceDefinition v1 apiextensions.k8s.io
DeviceClass v1beta1 resource.k8s.io
Event v1 events.k8s.io
LimitRange v1 core
HorizontalPodAutoscaler v2 autoscaling
MutatingWebhookConfiguration v1 admissionregistration.k8s.io
PodTemplate v1 core
PodDisruptionBudget v1 policy
PriorityClass v1 scheduling.k8s.io
ResourceClaim v1beta1 resource.k8s.io
ResourceClaimTemplate v1beta1 resource.k8s.io
ResourceSlice v1beta1 resource.k8s.io
ValidatingAdmissionPolicy v1 admissionregistration.k8s.io
ValidatingAdmissionPolicyBinding v1 admissionregistration.k8s.io
ValidatingWebhookConfiguration v1 admissionregistration.k8s.io

https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/

作成者以外のコメントは許可されていません