ਸਮੱਗਰੀ 'ਤੇ ਜਾਓ

ਲੇਖ

CAO ਅਧੀਨ Couchbase Server ਰੋਲਿੰਗ ਅੱਪਗ੍ਰੇਡ (ਪੇਸਡ + ਪੌਜ਼ ਗੇਟ)

ਸਪੋਰਟ ਅਤੇ SRE ਟੀਮਾਂ ਲਈ ਕਾਪੀ/ਪੇਸਟ ਰਨਬੁੱਕ: ਪ੍ਰੀਫਲਾਈਟ, ਨੋਡ-ਬਾਈ-ਨੋਡ ਸਵੈਪ-ਰੀਬੈਲੈਂਸ, XDCR ਰਣਨੀਤੀ, ਰੋਲਬੈਕ ਟ੍ਰਿਗਰ ਅਤੇ ਸਾਈਨ-ਆਫ ਜਾਂਚਾਂ

  • 2 ਮਿੰਟ ਦੀ ਪੜ੍ਹਤ
  • ਡਾਟਾਬੇਸ
  • Kubernetes
  • DevOps
  • SRE

ਅੱਪਗ੍ਰੇਡ ਉਹ ਥਾਂ ਹਨ ਜਿੱਥੇ ਡਾਟਾਬੇਸ ਭਰੋਸੇਯੋਗਤਾ ਸਾਬਿਤ ਹੁੰਦੀ ਜਾਂ ਟੁੱਟਦੀ ਹੈ। ਇਹ ਲੇਖ Couchbase Autonomous Operator (CAO) ਅਧੀਨ Couchbase Server ਅੱਪਗ੍ਰੇਡ ਕਰਨ ਲਈ ਇੱਕ ਪੇਸਡ, ਸਪੋਰਟ-ਫ੍ਰੈਂਡਲੀ ਰਨਬੁੱਕ ਦਿੰਦਾ ਹੈ, ਜੋ ਨੋਡਾਂ ਵਿਚਕਾਰ ਤਰੱਕੀ ਗੇਟ ਕਰਨ ਲਈ ਨੇਟਿਵ spec.paused ਖੇਤਰ ਵਰਤਦਾ ਹੈ। ਨਤੀਜਾ: ਇੱਕ ਵਾਰ ਇੱਕ ਨੋਡ, ਸਵੈਪਾਂ ਵਿਚਕਾਰ ਸਥਿਰਤਾ ਵਿੰਡੋ, ਸਾਫ਼ ਸੰਕੇਤ ਅਤੇ ਵੱਡੀ ਰੋਲਬੈਕ ਵਿੰਡੋ।

ਹਵਾਲਾ ਟੌਪੋਲੋਜੀ

AKS ਉੱਤੇ ਆਮ Couchbase ਟੌਪੋਲੋਜੀ

ਪੇਸਡ ਅੱਪਗ੍ਰੇਡ ਲੂਪ

ਪੇਸਡ ਅੱਪਗ੍ਰੇਡ ਲੂਪ

ਟੀਚੇ

  • ਘੱਟੋ-ਘੱਟ ਖਤਰੇ ਨਾਲ 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.paused true; ਬਿਨਾਂ ਨਿਗਰਾਨੀ true ਨਾ ਛੱਡੋ।
  • ਰੀਬੈਲੈਂਸ: ਸਵੈਪਾਂ ਵਿਚਕਾਰ none ਤੇ ਵਾਪਸ; ਲਗਾਤਾਰ ਰੀਬੈਲੈਂਸ ਜਾਂਚੋ।
  • XDCR: changes_left ਰੀਬੈਲੈਂਸ ਵਿੱਚ ਵਧਦਾ ਅਤੇ ਸਥਿਰਤਾ ਵਿੱਚ ਘਟਦਾ ਹੈ; ਨਾ ਘਟਣਾ ਘਟਨਾ ਸੰਕੇਤ ਹੈ।
  • ਰੀਸਟਾਰਟ: ਸਵੈਪ ਤੋਂ ਬਾਅਦ ਕੋਈ ਵੀ ਅਚਨਚੇਤ ਰੀਸਟਾਰਟ ਲਾਲ ਝੰਡਾ ਹੈ।

ਰੋਲਬੈਕ ਟ੍ਰਿਗਰ

  • ਨੋਡ ਟਾਈਮਆਉਟ ਵਿੰਡੋ ਵਿੱਚ ਸਿਹਤਮੰਦ ਨਹੀਂ ਹੁੰਦਾ।
  • ਰੀਬੈਲੈਂਸ ਫੇਲ ਅਤੇ ਜਾਂਚ ਤੋਂ ਬਾਅਦ ਇੱਕ ਰੀਟ੍ਰਾਈ ਨਾਲ ਹੱਲ ਨਹੀਂ।
  • ਐਪਲੀਕੇਸ਼ਨ ਗਲਤੀ ਦਰ ਸਹਿਮਤ ਸਹਿਣਸ਼ੀਲਤਾ ਤੋਂ ਵੱਧ।
  • ਸਹਿਮਤ ਰਿਕਵਰੀ ਵਿੰਡੋ ਤੋਂ ਬਾਅਦ XDCR ਠੀਕ ਨਹੀਂ ਹੁੰਦਾ।
  • ਕੋਈ ਵੀ ਬਕਟ ਉਪਲਬਧ ਨਹੀਂ (ਗੁੰਮ vbuckets) — P1 ਵਜੋਂ ਲਓ।

ਪੋਸਟ-ਅੱਪਗ੍ਰੇਡ ਤਸਦੀਕ (ਸਾਈਨ-ਆਫ)

  • ਸਾਰੇ ਪੌਡ ਟੀਚੇ ਇਮੇਜ ਉੱਤੇ
  • ਕਲੱਸਟਰ ਫੇਜ਼ Available
  • 30+ ਮਿੰਟ ਕੋਈ ਨਵਾਂ Warning ਇਵੈਂਟ ਨਹੀਂ
  • ਅੱਪਗ੍ਰੇਡ ਤੋਂ ਬਾਅਦ ਬੈਕਅੱਪ ਸਫਲ
  • XDCR ਸਥਿਰ-ਅਵਸਥਾ ਵਾਪਸ (ਜੇ ਵਰਤੀ)
  • ਐਪਲੀਕੇਸ਼ਨ ਡੈਸ਼ਬੋਰਡ 30+ ਮਿੰਟ ਹਰੇ

ਟਿੱਪ: ਪਹਿਲਾਂ ਛੋਟੀ ਕਥਾਤਮਕ ਵਰਜਨ ਚਾਹੋ ਤਾਂ ਬਲੌਗ ਸਾਰ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ: CAO ਪੌਜ਼ ਗੇਟਾਂ ਨਾਲ Couchbase ਅੱਪਗ੍ਰੇਡ।