ਨੋਟ ਕਰੋ ਅਨੁਵਾਦ: ਇਹ ਕੰਪਨੀ ਦੇ ਇੰਜੀਨੀਅਰਿੰਗ ਬਲੌਗ ਤੋਂ ਜਨਤਕ ਪੋਸਟਮਾਰਟਮ ਦਾ ਅਨੁਵਾਦ ਹੈ
ਇਹ ਲੇਖ ਉਹਨਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੋ ਸਕਦਾ ਹੈ ਜੋ ਪੋਸਟਮਾਰਟਮ ਬਾਰੇ ਥੋੜਾ ਹੋਰ ਸਿੱਖਣਾ ਚਾਹੁੰਦੇ ਹਨ ਜਾਂ ਭਵਿੱਖ ਵਿੱਚ ਕੁਝ ਸੰਭਾਵੀ DNS ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਰੋਕਣਾ ਚਾਹੁੰਦੇ ਹਨ।
ਇਹ DNS ਨਹੀਂ ਹੈ
ਇਹ DNS ਨਹੀਂ ਹੋ ਸਕਦਾ
ਇਹ DNS ਸੀ
ਪ੍ਰੀਪਲੀ ਵਿੱਚ ਪੋਸਟਮਾਰਟਮ ਅਤੇ ਪ੍ਰਕਿਰਿਆਵਾਂ ਬਾਰੇ ਥੋੜ੍ਹਾ ਜਿਹਾ
ਇੱਕ ਪੋਸਟਮਾਰਟਮ ਇੱਕ ਖਰਾਬੀ ਜਾਂ ਉਤਪਾਦਨ ਵਿੱਚ ਕਿਸੇ ਘਟਨਾ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ। ਪੋਸਟਮਾਰਟਮ ਵਿੱਚ ਘਟਨਾਵਾਂ ਦੀ ਸਮਾਂਰੇਖਾ, ਉਪਭੋਗਤਾ ਪ੍ਰਭਾਵ, ਮੂਲ ਕਾਰਨ, ਕੀਤੀਆਂ ਗਈਆਂ ਕਾਰਵਾਈਆਂ ਅਤੇ ਸਿੱਖੇ ਗਏ ਸਬਕ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ।
ਪੀਜ਼ਾ ਨਾਲ ਹਫਤਾਵਾਰੀ ਮੀਟਿੰਗਾਂ ਵਿੱਚ, ਤਕਨੀਕੀ ਟੀਮ ਵਿੱਚ, ਅਸੀਂ ਵੱਖ-ਵੱਖ ਜਾਣਕਾਰੀ ਸਾਂਝੀ ਕਰਦੇ ਹਾਂ। ਅਜਿਹੀਆਂ ਮੀਟਿੰਗਾਂ ਦੇ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਪੋਸਟ-ਮਾਰਟਮ ਹੁੰਦਾ ਹੈ, ਜੋ ਅਕਸਰ ਸਲਾਈਡਾਂ ਦੇ ਨਾਲ ਇੱਕ ਪੇਸ਼ਕਾਰੀ ਅਤੇ ਘਟਨਾ ਦੇ ਵਧੇਰੇ ਡੂੰਘਾਈ ਨਾਲ ਵਿਸ਼ਲੇਸ਼ਣ ਦੇ ਨਾਲ ਹੁੰਦਾ ਹੈ। ਭਾਵੇਂ ਅਸੀਂ ਪੋਸਟਮਾਰਟਮ ਤੋਂ ਬਾਅਦ ਤਾੜੀਆਂ ਨਹੀਂ ਵਜਾਉਂਦੇ, ਅਸੀਂ "ਕੋਈ ਦੋਸ਼ ਨਹੀਂ" (ਕੋਈ ਦੋਸ਼ ਨਹੀਂ) ਦਾ ਸੱਭਿਆਚਾਰ ਵਿਕਸਿਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ।
ਕਿਸੇ ਘਟਨਾ ਵਿੱਚ ਸ਼ਾਮਲ ਵਿਅਕਤੀਆਂ ਨੂੰ ਇਹ ਮਹਿਸੂਸ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਉਹ ਸਜ਼ਾ ਜਾਂ ਬਦਲੇ ਦੇ ਡਰ ਤੋਂ ਬਿਨਾਂ ਵਿਸਥਾਰ ਵਿੱਚ ਗੱਲ ਕਰ ਸਕਦੇ ਹਨ। ਕੋਈ ਦੋਸ਼ ਨਹੀਂ! ਪੋਸਟਮਾਰਟਮ ਲਿਖਣਾ ਕੋਈ ਸਜ਼ਾ ਨਹੀਂ, ਸਗੋਂ ਪੂਰੀ ਕੰਪਨੀ ਲਈ ਸਿੱਖਣ ਦਾ ਮੌਕਾ ਹੈ।
ਕੁਬਰਨੇਟਸ ਵਿੱਚ DNS ਨਾਲ ਸਮੱਸਿਆਵਾਂ। ਪੋਸਟਮਾਰਟਮ
ਮਿਤੀ: 28.02.2020
ਲੇਖਕ: ਅਮੇਟ ਯੂ., ਐਂਡਰੀ ਐਸ., ਇਗੋਰ ਕੇ., ਅਲੈਕਸੀ ਪੀ.
ਸਥਿਤੀ: ਸਮਾਪਤ
ਸੰਖੇਪ ਵਿੱਚ: ਕੁਬਰਨੇਟਸ ਕਲੱਸਟਰ ਵਿੱਚ ਕੁਝ ਸੇਵਾਵਾਂ ਲਈ ਅੰਸ਼ਕ DNS ਅਣਉਪਲਬਧਤਾ (26 ਮਿੰਟ)
ਪ੍ਰਭਾਵ: A, B ਅਤੇ C ਸੇਵਾਵਾਂ ਲਈ 15000 ਇਵੈਂਟ ਗੁਆਏ ਗਏ
ਮੁਖ ਕਾਰਣ: ਕੁਬੇ-ਪ੍ਰੌਕਸੀ ਕੰਟਰੈਕ ਟੇਬਲ ਤੋਂ ਇੱਕ ਪੁਰਾਣੀ ਐਂਟਰੀ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਹਟਾਉਣ ਵਿੱਚ ਅਸਮਰੱਥ ਸੀ, ਇਸਲਈ ਕੁਝ ਸੇਵਾਵਾਂ ਅਜੇ ਵੀ ਗੈਰ-ਮੌਜੂਦ ਪੌਡਾਂ ਨਾਲ ਜੁੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਹੀਆਂ ਸਨ।
E0228 20:13:53.795782 1 proxier.go:610] Failed to delete kube-system/kube-dns:dns endpoint connections, error: error deleting conntrack entries for UDP peer {100.64.0.10, 100.110.33.231}, error: conntrack command returned: ...
ਟਰਿੱਗਰ: ਕੁਬਰਨੇਟਸ ਕਲੱਸਟਰ ਦੇ ਅੰਦਰ ਘੱਟ ਲੋਡ ਦੇ ਕਾਰਨ, ਕੋਰਡੀਐਨਐਸ-ਆਟੋਸਕੇਲਰ ਨੇ ਤੈਨਾਤੀ ਵਿੱਚ ਪੌਡਾਂ ਦੀ ਗਿਣਤੀ ਤਿੰਨ ਤੋਂ ਘਟਾ ਦਿੱਤੀ ਹੈ।
ਹੱਲ: ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਅਗਲੀ ਤੈਨਾਤੀ ਨੇ ਨਵੇਂ ਨੋਡਾਂ ਦੀ ਸਿਰਜਣਾ ਸ਼ੁਰੂ ਕੀਤੀ, ਕੋਰਡੀਐਨਐਸ-ਆਟੋਸਕੇਲਰ ਨੇ ਕਲੱਸਟਰ ਦੀ ਸੇਵਾ ਕਰਨ ਲਈ ਹੋਰ ਪੌਡ ਸ਼ਾਮਲ ਕੀਤੇ, ਜਿਸ ਨੇ ਕੰਟਰੈਕ ਟੇਬਲ ਨੂੰ ਮੁੜ ਲਿਖਣ ਲਈ ਉਕਸਾਇਆ।
ਖੋਜ: ਪ੍ਰੋਮੀਥੀਅਸ ਨਿਗਰਾਨੀ ਨੇ ਸੇਵਾਵਾਂ A, B ਅਤੇ C ਲਈ ਵੱਡੀ ਗਿਣਤੀ ਵਿੱਚ 5xx ਤਰੁੱਟੀਆਂ ਦਾ ਪਤਾ ਲਗਾਇਆ ਅਤੇ ਆਨ-ਡਿਊਟੀ ਇੰਜੀਨੀਅਰਾਂ ਨੂੰ ਕਾਲ ਸ਼ੁਰੂ ਕੀਤੀ।
ਕਿਬਾਨਾ ਵਿੱਚ 5xx ਗਲਤੀਆਂ
ਕਾਰਵਾਈਆਂ
ਪ੍ਰਭਾਵ
ਟਾਈਪ ਕਰੋ
ਜਿੰਮੇਵਾਰ
ਉਦੇਸ਼
CoreDNS ਲਈ ਆਟੋਸਕੇਲਰ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਓ
ਰੋਕਿਆ
ਅਮੇਟ ਯੂ.
DEVOPS-695
ਇੱਕ ਕੈਸ਼ਿੰਗ DNS ਸਰਵਰ ਸੈਟ ਅਪ ਕਰੋ
ਘਟਾਓ
ਮੈਕਸ ਵੀ.
DEVOPS-665
ਕੰਟਰੈਕ ਨਿਗਰਾਨੀ ਸੈਟ ਅਪ ਕਰੋ
ਰੋਕਿਆ
ਅਮੇਟ ਯੂ.
DEVOPS-674
ਸਬਕ ਸਿੱਖਿਆ ਹੈ
ਕੀ ਚੰਗਾ ਹੋਇਆ:
- ਨਿਗਰਾਨੀ ਨੇ ਵਧੀਆ ਕੰਮ ਕੀਤਾ. ਜਵਾਬ ਤੇਜ਼ ਅਤੇ ਸੰਗਠਿਤ ਸੀ
- ਅਸੀਂ ਨੋਡਾਂ 'ਤੇ ਕੋਈ ਸੀਮਾਵਾਂ ਨਹੀਂ ਮਾਰੀਆਂ
ਕੀ ਗਲਤ ਸੀ:
- ਅਜੇ ਵੀ ਅਣਜਾਣ ਅਸਲੀ ਮੂਲ ਕਾਰਨ, ਦੇ ਸਮਾਨ
ਖਾਸ ਬੱਗ ਉਲਟ ਵਿੱਚ - ਸਾਰੀਆਂ ਕਾਰਵਾਈਆਂ ਸਿਰਫ਼ ਨਤੀਜਿਆਂ ਨੂੰ ਠੀਕ ਕਰਦੀਆਂ ਹਨ, ਮੂਲ ਕਾਰਨ (ਬੱਗ) ਨੂੰ ਨਹੀਂ।
- ਅਸੀਂ ਜਾਣਦੇ ਸੀ ਕਿ ਜਲਦੀ ਜਾਂ ਬਾਅਦ ਵਿੱਚ ਸਾਨੂੰ DNS ਨਾਲ ਸਮੱਸਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ, ਪਰ ਅਸੀਂ ਕੰਮਾਂ ਨੂੰ ਤਰਜੀਹ ਨਹੀਂ ਦਿੱਤੀ
ਜਿੱਥੇ ਅਸੀਂ ਖੁਸ਼ਕਿਸਮਤ ਹਾਂ:
- ਅਗਲੀ ਤੈਨਾਤੀ CoreDNS-autoscaler ਦੁਆਰਾ ਸ਼ੁਰੂ ਕੀਤੀ ਗਈ ਸੀ, ਜਿਸ ਨੇ ਕੰਟਰੈਕ ਟੇਬਲ ਨੂੰ ਓਵਰਰਾਈਟ ਕੀਤਾ ਸੀ
- ਇਸ ਬੱਗ ਨੇ ਸਿਰਫ਼ ਕੁਝ ਸੇਵਾਵਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕੀਤਾ ਹੈ
ਸਮਾਂਰੇਖਾ (EET)
ਸਮਾਂ
ਪ੍ਰਭਾਵ
22:13
CoreDNS-ਆਟੋਸਕੇਲਰ ਨੇ ਪੌਡਾਂ ਦੀ ਗਿਣਤੀ ਤਿੰਨ ਤੋਂ ਘਟਾ ਕੇ ਦੋ ਕਰ ਦਿੱਤੀ ਹੈ
22:18
ਡਿਊਟੀ 'ਤੇ ਮੌਜੂਦ ਇੰਜੀਨੀਅਰਾਂ ਨੂੰ ਨਿਗਰਾਨੀ ਪ੍ਰਣਾਲੀ ਤੋਂ ਕਾਲਾਂ ਆਉਣੀਆਂ ਸ਼ੁਰੂ ਹੋ ਗਈਆਂ
22:21
ਡਿਊਟੀ 'ਤੇ ਮੌਜੂਦ ਇੰਜਨੀਅਰਾਂ ਨੇ ਤਰੁੱਟੀਆਂ ਦਾ ਕਾਰਨ ਲੱਭਣਾ ਸ਼ੁਰੂ ਕਰ ਦਿੱਤਾ।
22:39
ਡਿਊਟੀ 'ਤੇ ਇੰਜੀਨੀਅਰਾਂ ਨੇ ਨਵੀਨਤਮ ਸੇਵਾਵਾਂ ਵਿੱਚੋਂ ਇੱਕ ਨੂੰ ਪਿਛਲੇ ਸੰਸਕਰਣ ਵਿੱਚ ਵਾਪਸ ਲਿਆਉਣਾ ਸ਼ੁਰੂ ਕਰ ਦਿੱਤਾ
22:40
5xx ਗਲਤੀਆਂ ਦਿਖਾਈ ਦੇਣੀਆਂ ਬੰਦ ਹੋ ਗਈਆਂ, ਸਥਿਤੀ ਸਥਿਰ ਹੋ ਗਈ ਹੈ
- ਪਤਾ ਲਗਾਉਣ ਦਾ ਸਮਾਂ: 4 ਮਿੰਟ
- ਕਾਰਵਾਈ ਤੋਂ ਪਹਿਲਾਂ ਸਮਾਂ: 21 ਮਿੰਟ
- ਠੀਕ ਕਰਨ ਦਾ ਸਮਾਂ: 1 ਮਿੰਟ
ਵਾਧੂ ਜਾਣਕਾਰੀ
- CoreDNS ਲੌਗਸ:
I0228 20:13:53.507780 1 event.go:221] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"kube-system", Name:"coredns", UID:"2493eb55-3dc0-11ea-b3a2-02bb48f8c230", APIVersion:"apps/v1", ResourceVersion:"132690686", FieldPath:""}): type: 'Normal' reason: 'ScalingReplicaSet' Scaled down replica set coredns-6cbb6646c9 to 2
- ਕਿਬਾਨਾ (ਕੱਟ), ਗ੍ਰਾਫਾਨਾ (ਕੱਟ) ਦੇ ਲਿੰਕ
ਜਿੱਥੇ Linux conntrack ਹੁਣ ਤੁਹਾਡਾ ਦੋਸਤ ਨਹੀਂ ਰਿਹਾ kube-proxy ਸੂਖਮਤਾ: ਇੱਕ ਰੁਕ-ਰੁਕ ਕੇ ਕਨੈਕਸ਼ਨ ਰੀਸੈਟ ਡੀਬੱਗ ਕਰਨਾ ਰੇਸੀ ਕੰਟਰੈਕ ਅਤੇ DNS ਲੁੱਕਅਪ ਟਾਈਮਆਉਟ
CPU ਵਰਤੋਂ ਨੂੰ ਘੱਟ ਕਰਨ ਲਈ, ਲੀਨਕਸ ਕਰਨਲ ਕਿਸੇ ਚੀਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਕੋਨਟਰੈਕ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਸੰਖੇਪ ਵਿੱਚ, ਇਹ ਇੱਕ ਉਪਯੋਗਤਾ ਹੈ ਜਿਸ ਵਿੱਚ NAT ਰਿਕਾਰਡਾਂ ਦੀ ਸੂਚੀ ਹੁੰਦੀ ਹੈ ਜੋ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਸਾਰਣੀ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਜਦੋਂ ਅਗਲਾ ਪੈਕੇਟ ਉਸੇ ਪੌਡ ਤੋਂ ਉਸੇ ਪੋਡ 'ਤੇ ਪਹਿਲਾਂ ਵਾਂਗ ਪਹੁੰਚਦਾ ਹੈ, ਤਾਂ ਅੰਤਮ IP ਐਡਰੈੱਸ ਦੀ ਮੁੜ ਗਣਨਾ ਨਹੀਂ ਕੀਤੀ ਜਾਵੇਗੀ, ਪਰ ਕੰਟਰੈਕ ਟੇਬਲ ਤੋਂ ਲਿਆ ਜਾਵੇਗਾ।
ਕੰਟਰੈਕ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ
ਨਤੀਜੇ
ਇਹ ਕੁਝ ਉਪਯੋਗੀ ਲਿੰਕਾਂ ਦੇ ਨਾਲ ਸਾਡੇ ਪੋਸਟਮਾਰਟਮ ਦੀ ਇੱਕ ਉਦਾਹਰਨ ਸੀ। ਖਾਸ ਤੌਰ 'ਤੇ ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਉਹ ਜਾਣਕਾਰੀ ਸਾਂਝੀ ਕਰਦੇ ਹਾਂ ਜੋ ਦੂਜੀਆਂ ਕੰਪਨੀਆਂ ਲਈ ਉਪਯੋਗੀ ਹੋ ਸਕਦੀ ਹੈ। ਇਸ ਲਈ ਅਸੀਂ ਗਲਤੀਆਂ ਕਰਨ ਤੋਂ ਨਹੀਂ ਡਰਦੇ ਅਤੇ ਇਸ ਲਈ ਅਸੀਂ ਆਪਣੇ ਇੱਕ ਪੋਸਟਮਾਰਟਮ ਨੂੰ ਜਨਤਕ ਕਰਦੇ ਹਾਂ। ਇੱਥੇ ਕੁਝ ਹੋਰ ਦਿਲਚਸਪ ਜਨਤਕ ਪੋਸਟਮਾਰਟਮ ਹਨ:
- GitLab:
31 ਜਨਵਰੀ ਨੂੰ ਡਾਟਾਬੇਸ ਆਊਟੇਜ ਦਾ ਪੋਸਟਮਾਰਟਮ - ਡ੍ਰੌਪਬਾਕਸ:
ਆਊਟੇਜ ਪੋਸਟਮਾਰਟਮ - Spotify:
Spotify ਦਾ DNS ਨਾਲ ਪਿਆਰ/ਨਫ਼ਰਤ ਵਾਲਾ ਰਿਸ਼ਤਾ - ਤੋਂ ਕਈ ਹੋਰ
ਇਹ ਸੰਖੇਪ ਅਤੇ ਰਿਪੋਜ਼ਟਰੀਕੁਬਰਨੇਟਸ ਅਸਫਲਤਾ ਦੀਆਂ ਕਹਾਣੀਆਂ - ਵੀ
ਉਦਾਹਰਨ SRE ਬੁੱਕ ਦੇ ਨਾਲ ਜਨਤਕ ਪੋਸਟਮਾਰਟਮ
ਸਰੋਤ: www.habr.com