рдкрдВрдЪрд╛рдВрдЧ рдХрдВрдЯреЗрдирд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд╣рд▓реЗ рдЪрд░рдг

рдПрдкреЗрдорд░рд▓ рдХрдВрдЯреЗрдирд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрд┐рдирд╛рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рднреА рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред

рдХреБрдмреЗрд░рдиреЗрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рд╢рд╛рд▓ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╣реИ, рдХреНрдпреВрдмреЗрд░ рдХреЗ рдЕрд▓реНрдлрд╛ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ wilds рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред
Kubernetes v1.16.3 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛

рдЪреВрд▓реНрд╣рд╛ рдореЗрдВ рдкрдВрдЪрд╛рдВрдЧ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рдВрдХреНрд╢рди / рдФрд░ рдлреАрдЪрд░-рдЧреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕реБрд╡рд┐рдзрд╛-рджреНрд╡рд╛рд░ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдШрди рдХрд╛ рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╣рдо рдкреАрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ) рдЕрд░реНрдерд╛рддреНред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рдирд░реНрд╡рд╕ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╛ рдмрд▓реНрдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдХреНрдпреВрдм рдХреЗ рд╕рдВрдЧрдд рдШрдЯрдХреЛрдВ рдкрд░ рд╕рдХреНрд░рд┐рдпрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдХреНрдпреВрдм рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ

1ред
minikube start --feature-gates="EphemeralContainers=true" 

2. рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ

 apiVersion: kubeadm.k8s.io/v1beta2 kind: InitConfiguration localAPIEndpoint: {} nodeRegistration: kubeletExtraArgs: "feature-gates": "EphemeralContainers=true" --- apiVersion: kubeadm.k8s.io/v1beta2 kind: ClusterConfiguration apiServer: extraArgs: "feature-gates": "EphemeralContainers=true" scheduler: extraArgs: "feature-gates": "EphemeralContainers=true" controllerManager: extraArgs: "feature-gates": "EphemeralContainers=true" 

3. рдПрдХ рд▓рд╛рдЗрд╡ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░

 /var/lib/kubelet/kubeadm-flags.env 

рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ

 --feature-gates=EphemeralContainers=true 

рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ

 KUBELET_KUBEADM_ARGS="--cgroup-driver=cgroupfs --feature-gates=EphemeralContainers=true --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.1" 

рд╕реЗрд╡рд╛ рдХреНрдпреВрдмрд▓реЗрдЯ рдкреБрдирд░рд╛рд░рдВрдн рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ

 /etc/kubernetes/manifests/kube-apiserver.yaml 

Cmd рд╕реВрдЪреА рдХреЗ рдЕрдВрдд рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:

 spec: containers: - command: - --feature-gates=EphemeralContainers=true 

рдЗрд╕реА рддрд░рд╣, рд╣рдо рд╢рд╛рд╕рди рдХрд░рддреЗ рд╣реИрдВ

 kube-scheduler.yaml kube-controller-manager.yaml 

рдХреЗ рдмрд╛рдж

 kubectl get pods -A 

рдиреЗрдорд╕реНрдкреЗрд╕ рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рд╣рдо рдирд╛рдо рд╡рд╛рд▓реЗ рдкреЙрдбреНрд╕ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ

 kube-apiserver kube-scheduler kube-controller-manager 

рдЖрдЗрдП рдЗрди рдкреЙрдбреНрд╕ рдХреЛ рдХреБрдмреНрд▓реЗрдЯ рдбрд┐рд▓реАрдЯ рдкреЙрдб рдХреЗ рдЬрд░рд┐рдП рд╣рдЯрд╛рдПрдВ
рд╡реЗ рд╕рд╣реА рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдП рдЧрдП рд╣реИрдВред

4. рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛

 kubeadm upgrade plan --feature-gates EphemeralContainers=true 

рд╣рдо рдлрд▓реА рдХрдВрдЯреЗрдирд░реЛрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред

рдХреЛрдмрд░реЗ рд╕рд╛рдЗрдЯ рд╕реЗ рдПрдХ рдЫреЛрдЯреА рдкреНрд░рддрд┐ред

рд╣рдо рдПрдХ ec.json рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЙрджрд╛рд╣рд░рдг-рдкреЙрдб рдХреЛ рдкреЙрдб рдХреЗ рдирд╛рдо рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдзреАрд░реЗ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рдЫрд╡рд┐ рдореЗрдВ рд╣рдо рдбрд┐рдмрдЧрд┐рдВрдЧ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ubuntu)

 { "apiVersion": "v1", "kind": "EphemeralContainers", "metadata": { "name": "example-pod" }, "ephemeralContainers": [{ "command": [ "sh" ], "image": "busybox", "imagePullPolicy": "IfNotPresent", "name": "debugger", "stdin": true, "tty": true, "terminationMessagePolicy": "File" }] } 

рдЬрд┐рд╕ рдХрд╛рдЙрдВрдЯрд░ рд╕реЗ рд╣рдо рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдкреИрдЪ рдХрд░реЗрдВ, рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛

 kubectl replace --raw /api/v1/namespaces/<b>default</b>/pods/<b>example-pod</b>/ephemeralcontainers -f ec.json 

рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╢реЗрд▓ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ:

 kubectl attach -it example-pod -c debugger 

рдпрджрд┐ рдЖрдк "ps auxww" рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рдЖрдПрдЧрд╛ред рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ Namespace рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

Source: https://habr.com/ru/post/hi479304/


All Articles