ਲੇਖ
CAO ਅਧੀਨ Couchbase Server ਰੋਲਿੰਗ ਅੱਪਗ੍ਰੇਡ (ਪੇਸਡ + ਪੌਜ਼ ਗੇਟ)
ਸਪੋਰਟ ਅਤੇ SRE ਟੀਮਾਂ ਲਈ ਕਾਪੀ/ਪੇਸਟ ਰਨਬੁੱਕ: ਪ੍ਰੀਫਲਾਈਟ, ਨੋਡ-ਬਾਈ-ਨੋਡ ਸਵੈਪ-ਰੀਬੈਲੈਂਸ, XDCR ਰਣਨੀਤੀ, ਰੋਲਬੈਕ ਟ੍ਰਿਗਰ ਅਤੇ ਸਾਈਨ-ਆਫ ਜਾਂਚਾਂ
ਇਸ ਪੰਨੇ 'ਤੇ
ਅੱਪਗ੍ਰੇਡ ਉਹ ਥਾਂ ਹਨ ਜਿੱਥੇ ਡਾਟਾਬੇਸ ਭਰੋਸੇਯੋਗਤਾ ਸਾਬਿਤ ਹੁੰਦੀ ਜਾਂ ਟੁੱਟਦੀ ਹੈ। ਇਹ ਲੇਖ Couchbase Autonomous Operator (CAO) ਅਧੀਨ Couchbase Server ਅੱਪਗ੍ਰੇਡ ਕਰਨ ਲਈ ਇੱਕ ਪੇਸਡ, ਸਪੋਰਟ-ਫ੍ਰੈਂਡਲੀ ਰਨਬੁੱਕ ਦਿੰਦਾ ਹੈ, ਜੋ ਨੋਡਾਂ ਵਿਚਕਾਰ ਤਰੱਕੀ ਗੇਟ ਕਰਨ ਲਈ ਨੇਟਿਵ spec.paused ਖੇਤਰ ਵਰਤਦਾ ਹੈ। ਨਤੀਜਾ: ਇੱਕ ਵਾਰ ਇੱਕ ਨੋਡ, ਸਵੈਪਾਂ ਵਿਚਕਾਰ ਸਥਿਰਤਾ ਵਿੰਡੋ, ਸਾਫ਼ ਸੰਕੇਤ ਅਤੇ ਵੱਡੀ ਰੋਲਬੈਕ ਵਿੰਡੋ।
ਹਵਾਲਾ ਟੌਪੋਲੋਜੀ
ਪੇਸਡ ਅੱਪਗ੍ਰੇਡ ਲੂਪ
ਟੀਚੇ
- ਘੱਟੋ-ਘੱਟ ਖਤਰੇ ਨਾਲ Couchbase Server ਅੱਪਗ੍ਰੇਡ ਕਰੋ।
- ਨੋਡਾਂ ਵਿਚਕਾਰ ਜਾਣਬੁੱਝ ਕੇ ਪੌਜ਼ + ਸਥਿਰਤਾ + ਸਿਹਤ ਜਾਂਚ ਵਿੰਡੋ ਰੱਖੋ।
- ਜਿੰਨਾ ਵਿਹਾਰਕ ਹੋਵੇ ਰੋਲਬੈਕ ਵਿਕਲਪ ਬਣਾਈ ਰੱਖੋ।
ਪ੍ਰੀ-ਅੱਪਗ੍ਰੇਡ ਚੈਕਲਿਸਟ (ਨਾ ਛੱਡੋ)
- ਸਭ ਹਰਾ: ਕਲੱਸਟਰ ਫੇਜ਼
Available, ਕੋਈ ਸਰਗਰਮ ਰੀਬੈਲੈਂਸ ਨਹੀਂ, ਕੋਈ Warning ਇਵੈਂਟ ਨਹੀਂ। - ਬੈਕਅੱਪ ਮੌਜੂਦਾ ਅਤੇ ਰੀਸਟੋਰਯੋਗ: ਪੂਰਾ ਬੈਕਅੱਪ ਮੁਕੰਮਲ; ਰੀਸਟੋਰ ਡ੍ਰਿਲ ਕੀਤੀ ਜਾਂ ਸਮਾਂ ਸਮਝਿਆ।
- ਰੋਲਬੈਕ ਟੈਗ ਦਰਜ: ਪੁਰਾਣੀ ਇਮੇਜ ਅਜੇ ਮੌਜੂਦ ਅਤੇ ਪੁੱਲ ਯੋਗ ਤਸਦੀਕ ਕਰੋ।
- XDCR ਫੈਸਲਾ ਦਰਜ: ਸਾਫ਼ ਸੰਕੇਤ ਲਈ ਪ੍ਰੋਡ ਅੱਪਗ੍ਰੇਡ ਦੌਰਾਨ ਬੰਦ ਕਰੋ (ਸਿਫਾਰਸ਼ੀ), ਜਾਂ ਵਿਵਹਾਰ ਅਭਿਆਸ ਲਈ ਪ੍ਰੀ-ਪ੍ਰੋਡ ਵਿੱਚ ਚਾਲੂ ਰੱਖੋ।
ਤੇਜ਼ ਤਸਦੀਕ ਕਮਾਂਡਾਂ
export ENV=dev
export REGION=west
export NS=couchbase-${ENV}-${REGION}
kubectl -n "$NS" get couchbasecluster -o wide
kubectl -n "$NS" get pods -l app=couchbase
kubectl -n "$NS" get events --field-selector type=Warning | tail -20
kubectl -n "$NS" get couchbasecluster "$NS" -o jsonpath='paused={.spec.paused} phase={.status.phase} rebalance={.status.rebalanceProgress}{"\n"}'
ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਮਾਰਗ
- ਪਸੰਦੀਦਾ: ਆਪਣੇ CI ਵਰਕਫਲੋ ਤੋਂ ਅੱਪਗ੍ਰੇਡ ਚਲਾਓ (ਪਹਿਲਾਂ dry-run, ਫਿਰ ਅਸਲ)।
- ਫਾਲਬੈਕ: ਵਰਕਸਟੇਸ਼ਨ ਤੋਂ ਪੇਸਡ ਅੱਪਗ੍ਰੇਡ ਸਕ੍ਰਿਪਟ ਚਲਾਓ (ਪਹਿਲਾਂ dry-run, ਫਿਰ ਅਸਲ)।
ਮਾਨੀਟਰਿੰਗ ਸੰਕੇਤ (ਸਪੋਰਟ ਕੀ ਵੇਖੇ)
- ਪੌਡ ਇਮੇਜਾਂ: ਪੁਰਾਣੀ → ਨਵੀਂ ਤਬਦੀਲੀ; ਇੱਕ ਵਾਰ ਇੱਕ ਸਵੈਪ ਆਦਰਸ਼।
- ਪੌਜ਼ ਸਥਿਤੀ: ਸਥਿਰਤਾ ਦੌਰਾਨ
spec.pausedtrue; ਬਿਨਾਂ ਨਿਗਰਾਨੀ true ਨਾ ਛੱਡੋ। - ਰੀਬੈਲੈਂਸ: ਸਵੈਪਾਂ ਵਿਚਕਾਰ none ਤੇ ਵਾਪਸ; ਲਗਾਤਾਰ ਰੀਬੈਲੈਂਸ ਜਾਂਚੋ।
- XDCR:
changes_leftਰੀਬੈਲੈਂਸ ਵਿੱਚ ਵਧਦਾ ਅਤੇ ਸਥਿਰਤਾ ਵਿੱਚ ਘਟਦਾ ਹੈ; ਨਾ ਘਟਣਾ ਘਟਨਾ ਸੰਕੇਤ ਹੈ। - ਰੀਸਟਾਰਟ: ਸਵੈਪ ਤੋਂ ਬਾਅਦ ਕੋਈ ਵੀ ਅਚਨਚੇਤ ਰੀਸਟਾਰਟ ਲਾਲ ਝੰਡਾ ਹੈ।
ਰੋਲਬੈਕ ਟ੍ਰਿਗਰ
- ਨੋਡ ਟਾਈਮਆਉਟ ਵਿੰਡੋ ਵਿੱਚ ਸਿਹਤਮੰਦ ਨਹੀਂ ਹੁੰਦਾ।
- ਰੀਬੈਲੈਂਸ ਫੇਲ ਅਤੇ ਜਾਂਚ ਤੋਂ ਬਾਅਦ ਇੱਕ ਰੀਟ੍ਰਾਈ ਨਾਲ ਹੱਲ ਨਹੀਂ।
- ਐਪਲੀਕੇਸ਼ਨ ਗਲਤੀ ਦਰ ਸਹਿਮਤ ਸਹਿਣਸ਼ੀਲਤਾ ਤੋਂ ਵੱਧ।
- ਸਹਿਮਤ ਰਿਕਵਰੀ ਵਿੰਡੋ ਤੋਂ ਬਾਅਦ XDCR ਠੀਕ ਨਹੀਂ ਹੁੰਦਾ।
- ਕੋਈ ਵੀ ਬਕਟ ਉਪਲਬਧ ਨਹੀਂ (ਗੁੰਮ vbuckets) — P1 ਵਜੋਂ ਲਓ।
ਪੋਸਟ-ਅੱਪਗ੍ਰੇਡ ਤਸਦੀਕ (ਸਾਈਨ-ਆਫ)
- ਸਾਰੇ ਪੌਡ ਟੀਚੇ ਇਮੇਜ ਉੱਤੇ
- ਕਲੱਸਟਰ ਫੇਜ਼
Available - 30+ ਮਿੰਟ ਕੋਈ ਨਵਾਂ Warning ਇਵੈਂਟ ਨਹੀਂ
- ਅੱਪਗ੍ਰੇਡ ਤੋਂ ਬਾਅਦ ਬੈਕਅੱਪ ਸਫਲ
- XDCR ਸਥਿਰ-ਅਵਸਥਾ ਵਾਪਸ (ਜੇ ਵਰਤੀ)
- ਐਪਲੀਕੇਸ਼ਨ ਡੈਸ਼ਬੋਰਡ 30+ ਮਿੰਟ ਹਰੇ
ਟਿੱਪ: ਪਹਿਲਾਂ ਛੋਟੀ ਕਥਾਤਮਕ ਵਰਜਨ ਚਾਹੋ ਤਾਂ ਬਲੌਗ ਸਾਰ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ: CAO ਪੌਜ਼ ਗੇਟਾਂ ਨਾਲ Couchbase ਅੱਪਗ੍ਰੇਡ।