ਹਾਲ ਹੀ ਦੀ ਨਿਰੰਤਰਤਾ ਵਿੱਚ
ਜਾਣ ਪਛਾਣ
ਇਹ ਕਿਉਂ ਹੈ?
ਉਹ ਮਨੋਰਥ ਜਿਨ੍ਹਾਂ ਨੇ ਸਾਨੂੰ Yandex.Cloud ਲਈ CCM ਵਿਕਸਿਤ ਕਰਨ ਲਈ ਪ੍ਰੇਰਿਆ, ਉਹ ਪੂਰੀ ਤਰ੍ਹਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਹਨ ਜੋ ਪਹਿਲਾਂ ਹੀ ਵਰਣਿਤ ਹਨ
CCM ਅਸਲ ਵਿੱਚ ਕੀ ਹੈ?
ਆਮ ਤੌਰ 'ਤੇ, ਅਸੀਂ ਆਪਣੇ ਆਲੇ ਦੁਆਲੇ ਦੇ ਵਾਤਾਵਰਣ ਨੂੰ ਕਲੱਸਟਰ ਲਈ ਤਿਆਰ ਕਰਦੇ ਹਾਂ ਬਾਹਰੋਂ - ਉਦਾਹਰਨ ਲਈ, ਟੈਰਾਫਾਰਮ ਦੀ ਵਰਤੋਂ ਕਰਨਾ। ਪਰ ਕਈ ਵਾਰ ਸਾਡੇ ਆਲੇ ਦੁਆਲੇ ਬੱਦਲਾਂ ਦੇ ਵਾਤਾਵਰਣ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਕਲੱਸਟਰ ਤੋਂ. ਇਹ ਸੰਭਾਵਨਾ ਪ੍ਰਦਾਨ ਕੀਤੀ ਗਈ ਹੈ, ਅਤੇ ਇਹ ਉਹ ਹੈ ਜੋ ਲਾਗੂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ
ਖਾਸ ਤੌਰ 'ਤੇ, ਕਲਾਉਡ ਕੰਟਰੋਲਰ ਮੈਨੇਜਰ ਪੰਜ ਮੁੱਖ ਕਿਸਮਾਂ ਦੇ ਪਰਸਪਰ ਪ੍ਰਭਾਵ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
- ਘਟਨਾਵਾਂ - ਕੁਬਰਨੇਟਸ ਵਿੱਚ ਇੱਕ ਨੋਡ ਆਬਜੈਕਟ ਦੇ ਵਿਚਕਾਰ ਇੱਕ 1:1 ਸਬੰਧ ਲਾਗੂ ਕਰਦਾ ਹੈ (
Node
) ਅਤੇ ਕਲਾਉਡ ਪ੍ਰਦਾਤਾ ਵਿੱਚ ਇੱਕ ਵਰਚੁਅਲ ਮਸ਼ੀਨ। ਇਸਦੇ ਲਈ ਅਸੀਂ:- ਖੇਤਰ ਵਿੱਚ ਭਰੋ
spec.providerID
ਵਸਤੂ ਵਿੱਚNode
. ਉਦਾਹਰਨ ਲਈ, ਓਪਨਸਟੈਕ ਸੀਸੀਐਮ ਲਈ ਇਸ ਖੇਤਰ ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਫਾਰਮੈਟ ਹਨ:openstack:///d58a78bf-21b0-4682-9dc6-2132406d2bb0
. ਤੁਸੀਂ ਕਲਾਉਡ ਪ੍ਰਦਾਤਾ ਦਾ ਨਾਮ ਅਤੇ ਆਬਜੈਕਟ ਦੇ ਸਰਵਰ (ਓਪਨਸਟੈਕ ਵਿੱਚ ਵਰਚੁਅਲ ਮਸ਼ੀਨ) ਦਾ ਵਿਲੱਖਣ UUID ਦੇਖ ਸਕਦੇ ਹੋ; - ਸਹਾਇਕਣ
nodeInfo
ਵਸਤੂ ਵਿੱਚNode
ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਬਾਰੇ ਜਾਣਕਾਰੀ। ਉਦਾਹਰਨ ਲਈ, ਅਸੀਂ AWS ਵਿੱਚ ਉਦਾਹਰਣ ਦੀ ਕਿਸਮ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹਾਂ; - ਅਸੀਂ ਕਲਾਉਡ ਵਿੱਚ ਇੱਕ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਦੀ ਮੌਜੂਦਗੀ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਾਂ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਕੋਈ ਵਸਤੂ
Node
ਇੱਕ ਰਾਜ ਵਿੱਚ ਚਲਾ ਗਿਆNotReady
, ਤੁਸੀਂ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ ਕੀ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਕਲਾਉਡ ਪ੍ਰਦਾਤਾ ਵਿੱਚ ਮੌਜੂਦ ਹੈ ਜਾਂ ਨਹੀਂproviderID
. ਜੇ ਇਹ ਉੱਥੇ ਨਹੀਂ ਹੈ, ਤਾਂ ਆਬਜੈਕਟ ਨੂੰ ਮਿਟਾਓNode
, ਜੋ ਕਿ ਨਹੀਂ ਤਾਂ ਹਮੇਸ਼ਾ ਲਈ ਕਲੱਸਟਰ ਵਿੱਚ ਰਹੇਗਾ;
- ਖੇਤਰ ਵਿੱਚ ਭਰੋ
- ਜ਼ੋਨ - ਆਬਜੈਕਟ ਲਈ ਅਸਫਲ ਡੋਮੇਨ ਸੈੱਟ ਕਰਦਾ ਹੈ
Node
, ਤਾਂ ਜੋ ਸ਼ਡਿਊਲਰ ਕਲਾਉਡ ਪ੍ਰਦਾਤਾ ਵਿੱਚ ਖੇਤਰਾਂ ਅਤੇ ਜ਼ੋਨਾਂ ਦੇ ਅਨੁਸਾਰ ਪੋਡ ਲਈ ਇੱਕ ਨੋਡ ਦੀ ਚੋਣ ਕਰ ਸਕੇ; - ਲੋਡਬੈਲੈਂਸਰ - ਇੱਕ ਵਸਤੂ ਬਣਾਉਣ ਵੇਲੇ
Service
ਕਿਸਮ ਦੇ ਨਾਲLoadBalancer
ਇੱਕ ਕਿਸਮ ਦਾ ਬੈਲੇਂਸਰ ਬਣਾਉਂਦਾ ਹੈ ਜੋ ਬਾਹਰੋਂ ਟਰੈਫਿਕ ਨੂੰ ਕਲੱਸਟਰ ਨੋਡਾਂ ਵੱਲ ਭੇਜਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, Yandex.Cloud ਵਿੱਚ ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋNetworkLoadBalancer
иTargetGroup
ਇਹਨਾਂ ਉਦੇਸ਼ਾਂ ਲਈ; - ਰੂਟ - ਨੋਡਾਂ ਵਿਚਕਾਰ ਇੱਕ ਨੈਟਵਰਕ ਬਣਾਉਂਦਾ ਹੈ, ਕਿਉਂਕਿ ਕੁਬਰਨੇਟਸ ਦੀਆਂ ਲੋੜਾਂ ਦੇ ਅਨੁਸਾਰ, ਹਰੇਕ ਪੌਡ ਦਾ ਆਪਣਾ IP ਪਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਕਿਸੇ ਹੋਰ ਪੌਡ ਤੱਕ ਪਹੁੰਚਣ ਦੇ ਯੋਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹਨਾਂ ਉਦੇਸ਼ਾਂ ਲਈ, ਤੁਸੀਂ ਇੱਕ ਓਵਰਲੇ ਨੈੱਟਵਰਕ (VXLAN, GENEVE) ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਕਲਾਉਡ ਪ੍ਰਦਾਤਾ ਦੇ ਵਰਚੁਅਲ ਨੈੱਟਵਰਕ ਵਿੱਚ ਸਿੱਧਾ ਇੱਕ ਰੂਟਿੰਗ ਟੇਬਲ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ:
- ਵਾਲੀਅਮ - ਪੀਵੀਸੀ ਅਤੇ ਐਸਸੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਪੀਵੀ ਦੇ ਗਤੀਸ਼ੀਲ ਕ੍ਰਮ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸ਼ੁਰੂ ਵਿੱਚ, ਇਹ ਕਾਰਜਕੁਸ਼ਲਤਾ CCM ਦਾ ਹਿੱਸਾ ਸੀ, ਪਰ ਇਸਦੀ ਬਹੁਤ ਗੁੰਝਲਦਾਰਤਾ ਦੇ ਕਾਰਨ ਇਸਨੂੰ ਇੱਕ ਵੱਖਰੇ ਪ੍ਰੋਜੈਕਟ, ਕੰਟੇਨਰ ਸਟੋਰੇਜ ਇੰਟਰਫੇਸ (CSI) ਵਿੱਚ ਤਬਦੀਲ ਕਰ ਦਿੱਤਾ ਗਿਆ ਸੀ। ਅਸੀਂ CSI ਬਾਰੇ ਇੱਕ ਤੋਂ ਵੱਧ ਵਾਰ ਗੱਲ ਕੀਤੀ ਹੈ
ਲਿਖੀ ਅਤੇ, ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਹੀ ਜ਼ਿਕਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਵੀਜਾਰੀ ਕੀਤਾ CSI ਡਰਾਈਵਰ।
ਪਹਿਲਾਂ, ਕਲਾਉਡ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਵਾਲੇ ਸਾਰੇ ਕੋਡ ਕੁਬਰਨੇਟਸ ਪ੍ਰੋਜੈਕਟ ਦੇ ਮੁੱਖ ਗਿੱਟ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਸਥਿਤ ਸਨ k8s.io/kubernetes/pkg/cloudprovider/providers
, ਪਰ ਉਹਨਾਂ ਨੇ ਇੱਕ ਵੱਡੇ ਕੋਡ ਅਧਾਰ ਦੇ ਨਾਲ ਕੰਮ ਕਰਨ ਦੀ ਅਸੁਵਿਧਾ ਦੇ ਕਾਰਨ ਇਸਨੂੰ ਛੱਡਣ ਦਾ ਫੈਸਲਾ ਕੀਤਾ. 'ਤੇ ਸਾਰੇ ਪੁਰਾਣੇ ਅਮਲ ਨੂੰ ਤਬਦੀਲ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ
ਜਿਵੇਂ ਕਿ ਸੀਐਸਆਈ ਦੇ ਨਾਲ, ਬਹੁਤ ਸਾਰੇ ਵੱਡੇ ਕਲਾਉਡ ਪ੍ਰਦਾਤਾਵਾਂ ਨੇ ਕੁਬਰਨੇਟਸ 'ਤੇ ਬੱਦਲਾਂ ਦਾ ਲਾਭ ਉਠਾਉਣ ਲਈ ਆਪਣੇ ਸੀਸੀਐਮ ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਹੈ। ਜੇਕਰ ਸਪਲਾਇਰ ਕੋਲ CCM ਨਹੀਂ ਹੈ, ਪਰ API ਦੁਆਰਾ ਸਾਰੇ ਲੋੜੀਂਦੇ ਫੰਕਸ਼ਨ ਉਪਲਬਧ ਹਨ, ਤਾਂ ਤੁਸੀਂ ਖੁਦ CCM ਨੂੰ ਲਾਗੂ ਕਰ ਸਕਦੇ ਹੋ।
CCM ਦੇ ਆਪਣੇ ਖੁਦ ਦੇ ਲਾਗੂ ਕਰਨ ਨੂੰ ਲਿਖਣ ਲਈ, ਇਹ ਲਾਗੂ ਕਰਨ ਲਈ ਕਾਫ਼ੀ ਹੈ
Реализация
ਤੁਸੀਂ ਇਸ ਤੱਕ ਕਿਵੇਂ ਆਏ
ਅਸੀਂ ਨਾਲ ਵਿਕਾਸ (ਜਾਂ ਇਸ ਦੀ ਬਜਾਏ, ਵਰਤੋਂ ਵੀ) ਸ਼ੁਰੂ ਕੀਤਾ
ਹਾਲਾਂਕਿ, ਇਸ ਲਾਗੂ ਕਰਨ ਵਿੱਚ ਅਸੀਂ ਗਾਇਬ ਸੀ:
- JWT IAM ਟੋਕਨ ਦੁਆਰਾ ਪ੍ਰਮਾਣਿਕਤਾ;
- ਸੇਵਾ ਕੰਟਰੋਲਰ ਸਹਾਇਤਾ.
ਲੇਖਕ ਨਾਲ ਸਹਿਮਤੀ ਨਾਲ (dlisin) ਟੈਲੀਗ੍ਰਾਮ ਵਿੱਚ, ਅਸੀਂ yandex-Cloud-controller-manager ਨੂੰ ਫੋਰਕ ਕੀਤਾ ਹੈ ਅਤੇ ਗੁੰਮ ਹੋਏ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਜੋੜਿਆ ਹੈ।
ਜਰੂਰੀ ਚੀਜਾ
ਵਰਤਮਾਨ ਵਿੱਚ, CCM ਹੇਠਾਂ ਦਿੱਤੇ ਇੰਟਰਫੇਸਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ:
- ਘਟਨਾਵਾਂ;
- ਜ਼ੋਨ;
- ਲੋਡਬੈਲੈਂਸਰ.
ਭਵਿੱਖ ਵਿੱਚ, ਜਦੋਂ Yandex.Cloud ਉੱਨਤ VPC ਸਮਰੱਥਾਵਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਅਸੀਂ ਇੱਕ ਇੰਟਰਫੇਸ ਜੋੜਾਂਗੇ ਰੂਟ.
ਮੁੱਖ ਚੁਣੌਤੀ ਵਜੋਂ ਲੋਡਬੈਲੈਨਸਰ
ਸ਼ੁਰੂ ਵਿੱਚ, ਅਸੀਂ ਹੋਰ CCM ਲਾਗੂਕਰਨਾਂ ਵਾਂਗ, ਇੱਕ ਜੋੜਾ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ LoadBalancer
и TargetGroup
ਹਰ ਕਿਸੇ ਲਈ Service
ਕਿਸਮ ਦੇ ਨਾਲ LoadBalancer
. ਹਾਲਾਂਕਿ, Yandex.Cloud ਨੇ ਇੱਕ ਦਿਲਚਸਪ ਸੀਮਾ ਲੱਭੀ: ਤੁਸੀਂ ਇਸਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਸਕਦੇ TargetGroups
ਇੰਟਰਸੈਕਟਿੰਗ ਦੇ ਨਾਲ Targets
(ਜੋੜਾ SubnetID
- IpAddress
).
ਇਸ ਲਈ, ਬਣਾਏ ਗਏ CCM ਦੇ ਅੰਦਰ, ਇੱਕ ਕੰਟਰੋਲਰ ਲਾਂਚ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜੋ, ਜਦੋਂ ਵਸਤੂਆਂ ਬਦਲਦਾ ਹੈ, Node
ਹਰੇਕ ਵਰਚੁਅਲ ਮਸ਼ੀਨ 'ਤੇ ਸਾਰੇ ਇੰਟਰਫੇਸਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਇਕੱਠੀ ਕਰਦਾ ਹੈ, ਉਹਨਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ ਕੁਝ ਦੇ ਅਨੁਸਾਰ ਸਮੂਹ ਕਰਦਾ ਹੈ NetworkID
, ਦੁਆਰਾ ਬਣਾਉਂਦਾ ਹੈ TargetGroup
'ਤੇ NetworkID
, ਅਤੇ ਸਾਰਥਕਤਾ ਦੀ ਵੀ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ। ਬਾਅਦ ਵਿੱਚ, ਇੱਕ ਵਸਤੂ ਬਣਾਉਣ ਵੇਲੇ Service
ਕਿਸਮ ਦੇ ਨਾਲ LoadBalanacer
ਅਸੀਂ ਸਿਰਫ਼ ਇੱਕ ਪਹਿਲਾਂ ਤੋਂ ਬਣਾਇਆ ਨੱਥੀ ਕਰਦੇ ਹਾਂ TargetGroup
ਨਵੇਂ ਨੂੰ NetworkLoadBalanacer
'ਮੈਂ
ਵਰਤਣਾ ਕਿਵੇਂ ਸ਼ੁਰੂ ਕਰਨਾ ਹੈ?
CCM ਕੁਬਰਨੇਟਸ ਸੰਸਕਰਣ 1.15 ਅਤੇ ਉੱਚੇ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਇੱਕ ਕਲੱਸਟਰ ਵਿੱਚ, ਇਸਦੇ ਕੰਮ ਕਰਨ ਲਈ, ਇਸ ਨੂੰ ਫਲੈਗ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ --cloud-provider=external
ਲਈ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਸੀ true
kube-apiserver, kube-controller-manager, kube-ਸ਼ਡਿਊਲਰ ਅਤੇ ਸਾਰੇ kubelets ਲਈ।
ਇੰਸਟਾਲੇਸ਼ਨ ਲਈ ਸਾਰੇ ਲੋੜੀਂਦੇ ਕਦਮਾਂ ਦਾ ਵਰਣਨ ਆਪਣੇ ਆਪ ਵਿੱਚ ਕੀਤਾ ਗਿਆ ਹੈ
CCM ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਤੁਹਾਨੂੰ ਇਹ ਵੀ ਲੋੜ ਹੋਵੇਗੀ:
-
ਸੰਕੇਤ ਮੈਨੀਫੈਸਟ ਵਿੱਚ ਡਾਇਰੈਕਟਰੀ ਪਛਾਣਕਰਤਾ (folder-id
) Yandex.Cloud; - Yandex.Cloud API ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਲਈ ਸੇਵਾ ਖਾਤਾ। ਮੈਨੀਫੈਸਟੋ ਵਿੱਚ
Secret
ਜ਼ਰੂਰੀ ਹੈਅਧਿਕਾਰਤ ਕੁੰਜੀਆਂ ਦਾ ਤਬਾਦਲਾ ਕਰੋ ਸੇਵਾ ਖਾਤੇ ਤੋਂ. ਦਸਤਾਵੇਜ਼ ਵਿੱਚਦੱਸਿਆ ਗਿਆ ਹੈ , ਇੱਕ ਸੇਵਾ ਖਾਤਾ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾਵੇ ਅਤੇ ਕੁੰਜੀਆਂ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕੀਤੀਆਂ ਜਾਣ।
ਸਾਨੂੰ ਤੁਹਾਡੀ ਫੀਡਬੈਕ ਪ੍ਰਾਪਤ ਕਰਕੇ ਖੁਸ਼ੀ ਹੋਵੇਗੀ ਅਤੇ
ਨਤੀਜੇ
ਅਸੀਂ ਪਿਛਲੇ ਦੋ ਹਫ਼ਤਿਆਂ ਵਿੱਚ ਪੰਜ ਕੁਬਰਨੇਟਸ ਕਲੱਸਟਰਾਂ ਵਿੱਚ ਲਾਗੂ ਕੀਤੇ CCM ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ ਅਤੇ ਆਉਣ ਵਾਲੇ ਮਹੀਨੇ ਵਿੱਚ ਉਹਨਾਂ ਦੀ ਸੰਖਿਆ ਨੂੰ 20 ਤੱਕ ਵਧਾਉਣ ਦੀ ਯੋਜਨਾ ਬਣਾ ਰਹੇ ਹਾਂ। ਅਸੀਂ ਵਰਤਮਾਨ ਵਿੱਚ ਵੱਡੇ ਅਤੇ ਨਾਜ਼ੁਕ K8s ਸਥਾਪਨਾਵਾਂ ਲਈ CCM ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕਰਦੇ ਹਾਂ।
ਜਿਵੇਂ ਕਿ CSI ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਸਾਨੂੰ ਖੁਸ਼ੀ ਹੋਵੇਗੀ ਜੇਕਰ ਯਾਂਡੇਕਸ ਡਿਵੈਲਪਰ ਇਸ ਪ੍ਰੋਜੈਕਟ ਦੇ ਵਿਕਾਸ ਅਤੇ ਸਮਰਥਨ ਨੂੰ ਲੈਂਦੇ ਹਨ - ਅਸੀਂ ਉਹਨਾਂ ਕਾਰਜਾਂ ਨਾਲ ਨਜਿੱਠਣ ਲਈ ਉਹਨਾਂ ਦੀ ਬੇਨਤੀ 'ਤੇ ਰਿਪੋਜ਼ਟਰੀ ਨੂੰ ਟ੍ਰਾਂਸਫਰ ਕਰਨ ਲਈ ਤਿਆਰ ਹਾਂ ਜੋ ਸਾਡੇ ਲਈ ਵਧੇਰੇ ਢੁਕਵੇਂ ਹਨ।
PS
ਸਾਡੇ ਬਲੌਗ 'ਤੇ ਵੀ ਪੜ੍ਹੋ:
- «
Yandex.Cloud ਲਈ Kubernetes ਵਿੱਚ ਇੱਕ CSI ਡਰਾਈਵਰ ਵਿਕਸਿਤ ਕਰਨ ਵਿੱਚ ਸਾਡਾ ਤਜਰਬਾ "; - «
ਕੀ ਕੁਬਰਨੇਟਸ ਕਲੱਸਟਰ ਤਿਆਰ ਕਰਨਾ ਆਸਾਨ ਅਤੇ ਸੁਵਿਧਾਜਨਕ ਹੈ? ਐਡ-ਆਨ-ਆਪਰੇਟਰ ਦੀ ਘੋਸ਼ਣਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ "; - «
ਕੁਬਰਨੇਟਸ ਦਾ ਵਿਸਥਾਰ ਅਤੇ ਪੂਰਕ (ਸਮੀਖਿਆ ਅਤੇ ਵੀਡੀਓ ਰਿਪੋਰਟ) ".
ਸਰੋਤ: www.habr.com