αααα·ααΆ
αααααααααΆαααΆαααααααααΊααααΌαααααΎ Red Hat Enterprise Linux CoreOS (αααααααα½ααα Red Hat Enterprise Linux) αα·α CRI-O ααΆαααααααΆα α αΎααααααΆααΌαα ααα»...
αααααΆααααααΆαααααααΆααα·αααΌααααααααΊααΆααΏαααααα’αα½ααααααΆααααΆααααααααααΆαααααααααααΆαα
αααααααααααΈααΆαααΆααααα Kubernetes αα·ααα»αααΊααα ααα α
αΌαααΎαααααΆααΆααα·ααΆαα’αααΈαααα αΆα’αΆααΈαααααααα CoreOS αα·α CRI-O αααααααΆα αααααααΎα§ααΆα ααααα½αα
α₯α‘αΌααααααααΎαααΆααΎ Brunel ααααΌαααααΎααΆαααΆαααααααααΆααααααΌααααΆααα ααα½α 20 αααααααααΆ (αααα Kubernetes) αα·ααααααΆααααααααΆααααααααααΆαααααΆαα ααααααα»ααα αα·αααααααα»αααααΆααΆαααααα»α (α’ααααααααααα)α ααΎαααΈααααααααΆααααΌαααΆααααααΌαα±ααααΆααΆααΆααα’αα (α ααααα OpenShift) ααααα·ααα·αααΈαααααααΆααα»αααααααΌαααΆαα’αα»ααααααΆααααααααααααααααΆααααα»α (ααααα·ααααα·ααααααααααααααααααα·ααααα·ααΆαααα ααααα) ααΆαα₯αα·ααΆααααΌα ααααΆα ααΎααααΈααααααΆαααααααααααΆαααααααα»ααα αααααα»αααααΆαααα·ααααααα’αααΈααΆααα’ααα’αααΈαααααααααα»ααααΊααα (CRI-O) αααααααΌαααΆαααααΎαα ααΎααααΆαααααααα½ααα - ααΏαααααΆαααααααΆαααα½αααααΊααΆαααα»αααΆαααααααΉαααΆααα·αα’αΆα αα»αα α·αααααΆαα
OpenShift 4 ααΆαααα·ααΆααα ααααααα»αααΉααααα αΆα’αΆααΈαααααααααααααααΆα ααααΆααααααΈααααΌαααααααΌαααΆααααααΎααα ααααααααΎαα ααααα αααα»αααααΈααΆαααΆααααΆααααα αααα»αααααΆααααΆαα½α α¬αα αααααααΎααΆαααααααΆαα αααααα αα ααααααααααΆααααααΈααααΌαααΆααααααΎα αα·αα αΆααααααΎα αααΆαααΆαα»αααΆαααΈαααααΆααα αα½αααΆαα CRI-O ααααΌαααααααααα ααΆααααααααααααααΆαα ααΌα αα αααα»αααα·ααααααααααααα "ααααα»ααΆαα»ααΎα" ααααΌααααααααααααααα ααΎαααααΌαα αα αααα»αααααΈααααααΆααααααα»ααΆαα»ααΎαααΊααα ααα·αααΎα ααααααΆαααΆααααα αααα»αααααΈαααααΎααααΆαααΈααααααΆααααΆαααααααΆααα»αααΊααααα αααα»αα ααααα OpenShift 4 α’αααααααΌαααΆαα―αααΆαααααααα ααΆαααααααα αα·ααααΆαααΈαααααααααααααα API ααΆααΆααααα αΌαα αααααΆαααα OpenShift ααΉααααααααΌαααααα·αααααααααααααα·αααααααααααΌαααΆαααααα½αααααααΈαα·αααΆααααΌα ααααααααααΌαααΆαααΆααααααα·αααα αΆαααΆα ααααα’αααααααΎααααΆααα α»αααααα α αΎαααΌα αααααααααΌααααα·αααΌαααΆααα·αα·ααααα αααα»ααααα·ααΆαααα
OpenShift 4 ααααΌαβααΆαβαααααΎαβα‘αΎαβαααα»αβααααβαα½αβααΎααααΈβαααααβααααααΆαβαααα»αβααΆαβααααΎβαα αα α»ααααααααΆαβααααααααβαααΆαβααΆααααα½αβαααβαα½αβααααβααΈαα·αβααΆααααΌαβααβαααα·ααΆ (αααααΆααβαααα 4.X) αααααΆααβα’αααβαααααβααααΆβαα»αααααΌαααβαααβααα αααα·ααΆβαα·αααα·α αα·αβααΌααααΈβααβααααααααβαααβαααα ααΎααααΈααααΎααΌα αααααααΆααααααΌαααααααΌαααΆααααααΎααα ααΎααΌαααααΆαααααΆαα»αααα’αΆα ααααΆααααααΌαααΆαα αα ααααααα ααααααααααΌαα±ααααΆαααααααααΈαααα Kubernetes ααΆααααα½αααΆααααααααααααΌαααααΆαα CRI-O αα ααΎ CoreOS αααααα αααααΆααααα CRI-O ααααΌαααΆαααααΆαααααααααΆααααΆαα½α Kubernetes ααααα½αααααα½ααααΆαααααΆααααΌαααΆαα’αα»ααααΆααααααΆααααΆαααααΎααααα ααΆααααααααΆααααα αΆ α¬ααααααααααα½αα ααΎαααΈαααααα αα·ααΈααΆααααααααααΆαααααααααΆαα αααΆααααααΆααα’αααααααΎααααΆααα α»αααααα αα·α Red Hat α
αααααΊααΆαα·ααΈααααΈααΆααΌαααααΆαααααΆααα·αα’αααΈαααα»α Kubernetes αα·αααΆααααΌαααααΆαααααΉααααααΆααααΆααααα
ααααααΆααα»αααΆαααααΈααααααΆααααααααα αα·ααα½αα±ααααΆααααΆαα CRI-O (Container Runtime Interface - Open Container Initiative α’ααααααΆαα CRI-OCI) ααΆαααααΆαααΆαααααΎααααααααααα»ααααααΆααααΆααααααΎαααααΆαααααααααα
αΆαααΆα
ααααααΆααααααΎααΆαααΆαα½α OpenShift α CRI-O ααΉααααα½ααααΆαααΈα Docker αααααΆαααααΎααΈαα»αααααααααααΌαα’αααααααΎααααΆαα OpenShift
αα·αααααα»αααΎαα αα
αα·αααααααΆααα·ααααα»αααααααα
αααα»αααΊαααααΎαα
αα α’ααααααααααΆααΌαα αα·αααΆαα
αααα»α Kubernetes α¬αα
ααααα·αααΆαααααα
ααΆααΆααα’ααααΆαα
αΆααααααΎαααΆαα½αααΉαααΆααααααΎα Open Containers Initiative
αααααΆαααααα αααα Kubernetes ααΆααααααΎααααααααΆααααα½ααααααΆααα
ααα»α
αααααΆαααααα’αΆα
αααααΆα α α
ααΆ
αα·ααααααα
Red Hat αα·α Google ααΆαααΎααααααΌαααΆαααΈααααΆααααααΆαααααΆαααΈααα»αααΊααααααα’αΆα
ααα½αααααααΎ Kubelet ααΎαα·ααΈααΆα CRI αα·αααΆαααααΆααα»ααααααααΌαααααΆααΉααααααααα
αα
ααααα OCI αααααΆααααααΆααααΆαααΎα ααΌα
αααα
ααΌαα 1 α
ααΆαα αααααααα·αααΆαα½α CRI-O αα·α CoreOS
ααΆαα½αααΉαααΆαα
αΆααααααΎααααααα·ααΆ OpenShift 4 ααΆααααΌαααΆαααααΆααααααΌα
α αΆαααΎα ααΎααααααΆααααα ?
ααααΉαααααΌαα αΎα ααΆαα½αααΉαααΆαααααααα OpenShift 4 αα·αα
αΆαααΆα
αααααΆαααα
αααΆαααΈαααΈαα½αα αα·αααα‘αΎααααΆαααΈααα»αααΊααα ααααααα
ααΆααααααααααΆααααα»α ααααααα
ααΆαααααααααααΆαααΈαααααααααα α¬ααααααα
ααΆαααααααααααααΆααααααα αααα·ααΆ OpenShift 4 ααααΌαααΆααααα
αα‘αΎααα·αααΆαααααα»αααΎααααΈααααΎ
Kubernetes αααααα’αα»ααααΆαα±ααα’αααααααΎααααΆααααααααααααααααα·ααΈααααααααααααΆαααΆααααα
ααααΆα αα·αααααΎααααΆαα
αααααααΎααααα·ααααα·αααα
αααα»ααααα·ααΆ OpenShift 4 ααΆαααααΌαααααΌααααΈααα (αααααααΎαααα·αααααΆαααααα αα·αααααΆαααΆαααΆααααααα) αααααΆαααααααααααααα RHEL CoreOS αα·α CRI-O α ααΆααα·α
αα
ααααΆαααααααα
ααΆαααααααα αα·ααααααααααααααααααααααααααααα·ααααα·ααΆα αα·ααααΆαααΈααα»αααΊαααααΊααααααααααααα·αααααααΎα’αααΈαααααα α
ααΆ
αααα»αααααΎαααΆααα»α
α’αααααααΎααααΆααααΆαα±ααΆαααααΎααααΆαααααΆαααΈα CRI-O αα
αααα»ααααα·ααΆ OpenShift α
αΆααααΆααααΈαααα 3.7 αα
αααα»αααααΆαααΆα Tech Preview αα·αααΈαααα 3.9 αα
αααα»αααααΆαααΆααααα’αΆα
ααααΎααΆαααΆααΌαα
(αα
αα
α»ααααααααααΌαααΆαααΆαααα)α ααΎαααΈαααααα Red Hat ααααΎααααΆαααααΆαα
αααΎα
α’ααααα 2. αααααα»αααΊαααααααΎαααΆααα αααα»αα ααααα Kubernetes
CRI-O ααααα½ααααααΆααααααΎααααΆαααΈααα»αααΊαααααααΈαααααααΎααααΆαααααααααα·αααααΌαααΆααααΌααα αααα αΆααααααΎαααααΆααααααΈ αα·ααα αααα ααααααΆαααααααααΈαααααα·ααΆ OpenShift α ααΆααα·αα·αααα‘αΎααα·ααααααα·ααΆααΆααααΌαα’αα»ααααΆαα±ααααΆαααΆαααααΎαα αα α»ααααααααΆα/ααΆααα·ααααα‘αααααα·αααααααα·ααααα·ααΆα α αΎαααααΆαααΆαααΆαααΆααααΆαααα αααα»αααΆαα’αΆααααααααΆαααααΌαααααα»ααα»αααΊααα αααΆαααΈααα»αααΊααα ααααΆαα (Kubelets) αα·αααααΆαα Kubernetes Master α ααΆααααααΆααααααααααααααααααααΆααααααΆαααΆαα»αααα·ααΆααΆααα’αα ααΆαα½αααΉαααΆαααααααααα αα·ααααα ααΆαααααααΆαααααΌαα αααΆααααΆααααΈαααα A ααααααα Bα ααΆαα½αααααα½ααααααααΎαααΆαα’αΆααααα ααααΎα’αααααααΎαα‘αΎαααΌααα»ααααα·ααΆα ααααΎα’αααααααΎαα‘αΎαααΌααααΆαααΆαααααααα·ααααα·ααΆα αα·ααα½αααΆαααααααααααααΎαααααΆαα’αΆααααα αα·αααΆαααα‘αΎαααααααααΈ .
αααα αΆαααΈα’αααΆα ααααΆαα»αααα½α
ααΌα αααααΆααααααΆααααΈαα»α ααΆαααααΎααααΆαα Machine Config Operator ααΎααααΈααααααααααααΆαααΈααα»αααΊααα αα·ααααΆαααΈααα»αααΊααααα αααα»α OpenShift 4 αααααααΌαααααα·αααααααααααααα·ααααααααΈαα½αααααα·αα’αΆα ααααΎαα ααΆαααΈαα»ααα ααΎαααα·ααΆ Kubernetes α ααΎααααΈαααα αΆαααΈαααααααα·αααααααΈ ααΎαααΉααααα αΆαααΈαααααααα’αααα’αΆα ααααΎααΆαααααΆααααααΌαα―αααΆα crio.conf α ααΎααααΈαααααΆαααΆααααα ααα‘ααααααΆαααααααα ααΌαααααΆααΆααααααααΎααααααα
ααΆααααΌα α αΌαααΎααααααΎαα’αααΈαααααα α ααΆ ααΆαααααααα ααΆαααααααααααααααΎαααΆααα»αααΊααα - Container Runtime Config α αα·αααΆααΆααΆααααΆα Kubernetes αααααααΆαα±ααααΆαααααααα ααΆαααααααααααααΆαα CRI-O α ααΆααα·ααα ααΆααΊααΆααααα―ααααααα’αααΈαααα α ααΆ MachineConfig αααααΆααΆαααααααα ααΆααααααααααΆαα½ααααααααΌαααΆαααΆαααααααΆααα ααΆαααααΆαααΈα RHEL CoreOS αααααΆααααααα½ααααααα»α OpenShift α
ααααΆαααααΆαααααα½ααααααααΌαααΆαααα α ααΆ ContainerRuntimeConfig ααααΌαααΆααααααΎαα‘αΎαααΎααααΈααααΎα±ααααΆααΆααααααΆααααα½ααααααΆααα’ααααααααααααα ααααααααα»αααΆαααααααα ααΆαααααααα CRI-O α α§ααααααααααΆαααΆααααααααααααΆαααααααΆα’αΆα α’αα»ααααααΆαααα ααααααααΆαααα½αα ααα½αα’αΆαααααααΎααΆαααααα MachineConfigPool α αα·αααΆααΆααΆαααα»ααααααΆαααΈαααααααααΎαααααααααΌα ααααΆα
ααΌαααααααααΆαααααααΆααααΈαα α»αααααααααααΎαααΉαααααΆααααααΌααα αααα»αα―αααΆα /etc/crio/crio.conf α αααααΆααααΆααααΈααααααΊααααααααΉααααααΆαααα αααα»αα―αααΆα crio.conf αα½αααααΆαα
vi ContainerRuntimeConfig.yaml
ααα ααααΈααααα·ααααΆα:
apiVersion: machineconfiguration.openshift.io/v1
kind: ContainerRuntimeConfig
metadata:
name: set-log-and-pid
spec:
machineConfigPoolSelector:
matchLabels:
debug-crio: config-log-and-pid
containerRuntimeConfig:
pidsLimit: 2048
logLevel: debug
α₯α‘αΌαβααΎαβαα»αβα―αααΆαβαααβαα βα ααααα Kubernetes α αΎαβαα·αα·αααβααΎαβααΆβααΆβαα·αβααΆβααααΌαβααΆαβαααααΎαβαααβα¬βααα ααΌαα αααΆαααΆααααα·ααααα·ααΆααααααΊααΌα ααααΆαα ααΉαααααΆα Kubernetes αααααααααααα
oc create -f ContainerRuntimeConfig.yaml
oc get ContainerRuntimeConfig
ααα ααααΈααααα·ααααΆα:
NAME AGE
set-log-and-pid 22h
αα ααααααααΎαααΆααααααΎα ContainerRuntimeConfig ααΎαααααΌααααααα MachineConfigPools αα½αααΎααααΈααααααααααΆαα Kubernetes ααΆααΎαα ααα’αα»ααααααΆααααααααααα αααα»αααΆααααΆαααααααΆαααΈααα αααα»αα αααααα αααα»αααααΈααα ααΎαααΉαααααΆααααααΌα MachineConfigPool αααααΆααααααΆααααα
oc edit MachineConfigPool/master
ααα ααααΈααααα·ααααΆα (αααααΆααααΆαα αααΆααααΆααααααΉαααΆαααααΆααααΊαα ααα)α
...
metadata:
creationTimestamp: 2019-04-10T23:42:28Z
generation: 1
labels:
debug-crio: config-log-and-pid
operator.machineconfiguration.openshift.io/required-for-upgrade: ""
...
αα α ααα»α ααα MCO α αΆααααααΎααααααΎαα―αααΆα crio.conf ααααΈαααααΆααα αααααα αααα»αααααΈααα α―αααΆαααααααα ααΆαααααααααααααΆααααα ααααΆαααααα»αα’αΆα ααααΌαααΆαααΎααααααααΎ Kubernetes API α ααΌαα αΆαααΆ ContainerRuntimeConfig ααααΆααααααΆαααααα·ααααααα MachineConfig ααΌα ααααααΎαα’αΆα ααΎααααααααααααΎααααααΆαααααααΆααααααααα αααα»α MachineConfigsα
oc get MachineConfigs | grep rendered
ααα ααααΈααααα·ααααΆα:
rendered-master-c923f24f01a0e38c77a05acfd631910b 4.0.22-201904011459-dirty 2.2.0 16h
rendered-master-f722b027a98ac5b8e0b41d71e992f626 4.0.22-201904011459-dirty 2.2.0 4m
rendered-worker-9777325797fe7e74c3f2dd11d359bc62 4.0.22-201904011459-dirty 2.2.0 16h
ααΌαα αααΆαααΆα―αααΆαααααααα ααΆαααααααααααααααααααΆααααααΆααααααΊααΆααααααααΈααΆαααΆαααααααα ααΆααααααααααΎαα ααΎααααΈααΎαααΆ ααααΎαααΆαααΆααααααααΆααΆααααααα αα αααα»αααΆαααααααΆαα ααΎαααααααααΆααααΆααααααα ααααΆαααααααααΆααααααα’αααα»ααα½ααα αααα»ααααααααα·ααΆααααααααα Kubernetesα
python3 -c "import sys, urllib.parse; print(urllib.parse.unquote(sys.argv[1]))" $(oc get MachineConfig/rendered-master-f722b027a98ac5b8e0b41d71e992f626 -o YAML | grep -B4 crio.conf | grep source | tail -n 1 | cut -d, -f2) | grep pid
ααα ααααΈααααα·ααααΆα:
pids_limit = 2048
α₯α‘αΌαααα α αΌαααααΆααααΆ ααΆαααααααα ααΆααααααααααααΌαααΆαα’αα»ααααα ααααααααΆααααααΆααα’ααα ααααΌαααΎαααα½αααΆααααααΈααααΆαααα αααα»αα αααααα
oc get node | grep master
Output:
ip-10-0-135-153.us-east-2.compute.internal Ready master 23h v1.12.4+509916ce1
ip-10-0-154-0.us-east-2.compute.internal Ready master 23h v1.12.4+509916ce1
ip-10-0-166-79.us-east-2.compute.internal Ready master 23h v1.12.4+509916ce1
α₯α‘αΌααααααΌαααΎαα―αααΆααααααΆαααα‘αΎαα α’αααβααΉαβααΎαβααΆβα―αααΆαβααααΌαβααΆαβααααΎβαα αα α»ααααααααΆαβααΆαα½αβααΉαβαααααβααααΈβαααααΆααβααΆαααααΆα pid αα·αβααααΆααβααα α»αβαααβααΎαβααΆαβαααααΆααβαααα»αβααααΆα ContainerRuntimeConfig α ααΆαααΎαααΆααααα½αα―αα
oc debug node/ip-10-0-135-153.us-east-2.compute.internal β cat /host/etc/crio/crio.conf | egrep 'debug||pidβ
ααα ααααΈααααα·ααααΆα:
...
pids_limit = 2048
...
log_level = "debug"
...
ααΆαααααΆααααααΌαααΆααα’αααααα ααααα αααααααααΌαααΆαααααΎα‘αΎαααααα·αααααΎαααΆα SSH ααα ααΆαααΆαααΆααα’ααααααΌαααΆαααααΎαααααΆαα αΌαααααΎααααΆαααα Kuberentes α αααααΊ αααΆαααΆααααααααααΈααΆαααααααααΌαααΆαααααααα ααΆααααααααααααΎααααΆααααααα»αααααα ααααΆαααααααααα·αααααΆααααααΌααα ααααααα αΆαααΈα’ααααααααααααααα·ααΈααΆααααα Kubernetes ααααΆαααααΎααααΆααααααΆαααΆααααααΆααααααΆαα αα·αααΆαααααααααΆααααααΉααααΆαααΈααα»αααΊααα αα·ααααΆαααΈααα»αααΊααααααααΆαααΆαα»αααα’αΆα ααααΆααααααΌαααΆαα
α§ααΆα αααααΆαααΎαααα αΆαααΈαααααααΆααααα»αααΆαααααΎααΆαααααΆααααααΌαα ααααα ααααα OpenShift Container Platform 4 ααΌα αα½ααααααΆαααααΆααααα·αααααα ααα½αααΈ α¬α αααααααα·ααααααααααααααΆαααααΆαα 3000 α αααα»αααααΈααΆααααα ααα·ααΆαααΆαααΆαααΉαααΌα ααααΆ - αα·αααΌα ααΆαα - ααααΆααααααααααα ααΆααααααααα―αααΆα ContainerRuntimeConfig α αΎαααααΌαααααΆααα½ααα αααα»α MachineConfigPool α α αΎαα’αααα’αΆα ααααΎααΌα αααααΆαα½αααΉαααααααΆαα½ααα OpenShift Container Platform 4.X αααααααΎαααΆα Kubernetes ααααα½αααααααΈαα·αααααααΆα
ααΆααΉααα αααα»αα αα»ααα
αα
αααα·ααααΆααΆαααΆααα·αααααααΆαααΆαααα αα αααααΎααα·αα’αΆα
ααααααααΈααΌαα ααα»αααααΎαααααΎαααΎααα
αα
αααα·ααααΆααΆααααΆαααααααΆαααααΆαααΆαα»ααΌαααααΆαα αααΆαααΈααα»αααΊαααααααΆααααΆααΆαα»αααααααα’αααααααΎααααΆααααααΎα’αααααααααααααααΆααα α
αΆααααΆααααΈαααααΆαααα·αααΆααααα»αααΊαααα
αΆααααααΎααααααααααΆαα·ααΆαα½αααΉαααΆαααααααααααΆαααΈααα»αααΊααα α’αααααααΎααααΆααααααααααα αΆαα
αααΆααα’αΆααααααααΎαα½αααα αααααΆα ααα»αααα½ααααααα Red Hat ααααΎαααΎα CRI-Oα αα»αααΊααααααα»ααα·ααααααααααααααΆαααα
α·ααααα»αααΆααααΎααΆαααααα»ααααααααΈ α αΎαααΎαααΆαααααΎαααΆ CRI-O αααααααΌααααα·αααααααααα’αααα»ααα
αααααααΎααΆαααΆαα½α OpenShift 4 α
ααααα: www.habr.com