K8s getting started: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
 
(не показано 10 промежуточных версий этого же участника)
Строка 2: Строка 2:
 
[[Категория:Linux]]
 
[[Категория:Linux]]
 
=Заметки на полях про k8s=
 
=Заметки на полях про k8s=
  +
  +
Containerd
  +
* https://habr.com/ru/post/568274/
  +
* https://www.tutorialworks.com/difference-docker-containerd-runc-crio-oci/
  +
* https://mkdev.me/en/posts/the-tool-that-really-runs-your-containers-deep-dive-into-runc-and-oci-specifications
  +
  +
==Все в одном документе==
  +
https://bva.dyndns.info/wiki/learning/k8s
   
 
==PodDisruptionBudget==
 
==PodDisruptionBudget==
Строка 7: Строка 15:
 
* https://habr.com/ru/company/nixys/blog/490680/
 
* https://habr.com/ru/company/nixys/blog/490680/
   
  +
==ConfigMap==
  +
* https://ealebed.github.io/posts/2018/знакомство-с-kubernetes-часть-13-конфигмапы-configmap/
  +
  +
==Прочее==
  +
* https://habr.com/ru/company/dataline/blog/598223/
  +
* https://habr.com/ru/company/timeweb/blog/594533/
   
 
==Сети==
 
==Сети==
Строка 19: Строка 33:
   
   
  +
<PRE>
  +
kubectl -n kube-system get svc
  +
</PRE>
   
 
=Kubectl=
 
=Kubectl=
  +
==Node Labels==
  +
<PRE>
  +
kubectl label node infra-k0s-node-3 kilda-az=kilda-az-3
 
node/infra-k0s-node-3 labeled
  +
</PRE>
  +
<PRE>
  +
kubectl label node infra-k0s-node-2 kilda-az=kilda-az-2
  +
node/infra-k0s-node-2 labeled
  +
</PRE>
  +
<PRE>
  +
kubectl label node infra-k0s-node-1 kilda-az=kilda-az-1
  +
node/infra-k0s-node-1 labeled
  +
</PRE>
   
 
<PRE>
 
<PRE>
kubectl get node --show-labels
+
kubectl get nodes -o wide --show-labels
NAME STATUS ROLES AGE VERSION LABELS
+
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME LABELS
minikube Ready control-plane,master 43h v1.21.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=minikube,kubernetes.io/os=linux,minikube.k8s.io/commit=a03fbcf166e6f74ef224d4a63be4277d017bb62e,minikube.k8s.io/name=minikube,minikube.k8s.io/updated_at=2021_10_04T18_55_41_0700,minikube.k8s.io/version=v1.22.0,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers=
+
infra-k0s-node-1 Ready <none> 28d v1.22.4+k0s 10.14.16.35 <none> Ubuntu 18.04.3 LTS 4.15.0-70-generic containerd://1.5.8 az=az1,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kilda-az=kilda-az-1,kubernetes.io/arch=amd64,kubernetes.io/hostname=infra-k0s-node-1,kubernetes.io/os=linux,topology.cinder.csi.openstack.org/zone=nova
minikube-m02 Ready <none> 43h v1.21.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=minikube-m02,kubernetes.io/os=linux
+
infra-k0s-node-2 Ready <none> 23d v1.22.4+k0s 10.14.16.36 <none> Ubuntu 18.04.3 LTS 4.15.0-163-generic containerd://1.5.8 az=az2,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kilda-az=kilda-az-2,kubernetes.io/arch=amd64,kubernetes.io/hostname=infra-k0s-node-2,kubernetes.io/os=linux,topology.cinder.csi.openstack.org/zone=nova
minikube-m03 Ready <none> 43h v1.21.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=minikube-m03,kubernetes.io/os=linux
+
infra-k0s-node-3 Ready <none> 42h v1.22.4+k0s 10.14.16.37 <none> Ubuntu 18.04.3 LTS 4.15.0-70-generic containerd://1.5.8 az=az3,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kilda-az=kilda-az-3,kubernetes.io/arch=amd64,kubernetes.io/hostname=infra-k0s-node-3,kubernetes.io/os=linux,topology.cinder.csi.openstack.org/zone=nova</PRE>
minikube-m04 Ready <none> 43h v1.21.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=minikube-m04,kubernetes.io/os=linux
 
 
</PRE>
 
</PRE>
   
  +
==11==
  +
Draft
  +
<PRE>
  +
affinity:
  +
podAntiAffinity:
  +
preferredDuringSchedulingIgnoredDuringExecution: null
  +
requiredDuringSchedulingIgnoredDuringExecution:
  +
- labelSelector:
  +
matchLabels:
  +
kilda: "true"
  +
beta.kubernetes.io/arch=amd64
  +
topologyKey: kilda-az
  +
</PRE>
  +
  +
kilda-az
  +
  +
1 - найти все POD у которых есть одновременно 2 метки
  +
* метка kilda со значением "true"
  +
* метка beta.kubernetes.io/arch со значенем "amd64"
  +
2 - найти все ноды на которых запущены поды из списка с шага 1
  +
3 - для всех нод из списка шага 2 составить список значений метки
  +
4 - найти ноду у которой значение метки failure-domain.beta.kubernetes.io/zone не входит в список из шага 3
  +
==Storage==
 
<PRE>
 
<PRE>
kubectl label nodes minikube-m02 az=1
+
kubectl get csidriver
  +
NAME ATTACHREQUIRED PODINFOONMOUNT STORAGECAPACITY TOKENREQUESTS REQUIRESREPUBLISH MODES AGE
node/minikube-m02 labeled
 
  +
cinder.csi.openstack.org true true false <unset> false Persistent,Ephemeral 19d
 
</PRE>
 
</PRE>
  +
* https://temofeev.ru/info/articles/prakticheskiy-primer-podklyucheniya-khranilishcha-na-baze-ceph-v-klaster-kubernetes/

Текущая версия на 11:39, 31 января 2022

Заметки на полях про k8s

Containerd

Все в одном документе

https://bva.dyndns.info/wiki/learning/k8s

PodDisruptionBudget

PodDisruptionBudget

ConfigMap

Прочее

Сети


DNS

Проверить


kubectl -n kube-system get svc

Kubectl

Node Labels

kubectl label node infra-k0s-node-3 kilda-az=kilda-az-3
node/infra-k0s-node-3 labeled
kubectl label node infra-k0s-node-2 kilda-az=kilda-az-2
node/infra-k0s-node-2 labeled
kubectl label node infra-k0s-node-1 kilda-az=kilda-az-1
node/infra-k0s-node-1 labeled
kubectl get nodes -o wide --show-labels
NAME               STATUS   ROLES    AGE   VERSION       INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME    LABELS
infra-k0s-node-1   Ready    <none>   28d   v1.22.4+k0s   10.14.16.35   <none>        Ubuntu 18.04.3 LTS   4.15.0-70-generic    containerd://1.5.8   az=az1,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kilda-az=kilda-az-1,kubernetes.io/arch=amd64,kubernetes.io/hostname=infra-k0s-node-1,kubernetes.io/os=linux,topology.cinder.csi.openstack.org/zone=nova
infra-k0s-node-2   Ready    <none>   23d   v1.22.4+k0s   10.14.16.36   <none>        Ubuntu 18.04.3 LTS   4.15.0-163-generic   containerd://1.5.8   az=az2,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kilda-az=kilda-az-2,kubernetes.io/arch=amd64,kubernetes.io/hostname=infra-k0s-node-2,kubernetes.io/os=linux,topology.cinder.csi.openstack.org/zone=nova
infra-k0s-node-3   Ready    <none>   42h   v1.22.4+k0s   10.14.16.37   <none>        Ubuntu 18.04.3 LTS   4.15.0-70-generic    containerd://1.5.8   az=az3,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kilda-az=kilda-az-3,kubernetes.io/arch=amd64,kubernetes.io/hostname=infra-k0s-node-3,kubernetes.io/os=linux,topology.cinder.csi.openstack.org/zone=nova

11

Draft

affinity:
  podAntiAffinity:
    preferredDuringSchedulingIgnoredDuringExecution: null
    requiredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchLabels:
            kilda: "true"
            beta.kubernetes.io/arch=amd64
        topologyKey: kilda-az

kilda-az

1 - найти все POD у которых есть одновременно 2 метки

  • метка kilda со значением "true"
  • метка beta.kubernetes.io/arch со значенем "amd64"

2 - найти все ноды на которых запущены поды из списка с шага 1 3 - для всех нод из списка шага 2 составить список значений метки 4 - найти ноду у которой значение метки failure-domain.beta.kubernetes.io/zone не входит в список из шага 3

Storage

kubectl get csidriver
NAME                       ATTACHREQUIRED   PODINFOONMOUNT   STORAGECAPACITY   TOKENREQUESTS   REQUIRESREPUBLISH   MODES                  AGE
cinder.csi.openstack.org   true             true             false             <unset>         false               Persistent,Ephemeral   19d