{"id":70269,"date":"2024-07-21T22:01:55","date_gmt":"2024-07-21T18:31:55","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/distributing-postgresql-on-amazon-elastic-kubernetes-2f5g\/"},"modified":"2024-07-21T22:01:55","modified_gmt":"2024-07-21T18:31:55","slug":"distributing-postgresql-on-amazon-elastic-kubernetes-2f5g","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/distributing-postgresql-on-amazon-elastic-kubernetes-2f5g\/","title":{"rendered":"\u062a\u0648\u0632\u06cc\u0639 PostgreSQL \u062f\u0631 Amazon Elastic Kubernetes"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang<br \/>\n            \u067e\u0633 \u0627\u0632 \u0634\u0631\u06a9\u062a \u062f\u0631 \u0646\u0634\u0633\u062a \u062c\u0647\u0627\u0646\u06cc \u0642\u0647\u0631\u0645\u0627\u0646\u0627\u0646 AWS \u062f\u0631 \u0633\u06cc\u0627\u062a\u0644\u060c \u0645\u0646 \u0628\u0647 \u0627\u06cc\u0627\u0644\u0627\u062a \u0645\u062a\u062d\u062f\u0647 \u0633\u0641\u0631 \u0645\u06cc \u06a9\u0646\u0645 \u0648 \u0645\u06cc \u062e\u0648\u0627\u0647\u0645 YugabyteDB \u0631\u0627 \u0628\u0647 \u0645\u06a9\u0627\u0646 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0631\u0627\u0626\u0647 \u0648 \u0646\u0634\u0627\u0646 \u062f\u0647\u0645:<\/p>\n<p>\u062e\u0648\u0634\u062d\u0627\u0644 \u0645\u06cc \u0634\u0648\u0645 \u06a9\u0647 \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u0622\u0646 \u0645\u06a9\u0627\u0646 \u0647\u0627 \u0645\u0644\u0627\u0642\u0627\u062a \u06a9\u0646\u0645 \u0648 \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u0627\u0633\u0644\u0627\u06cc\u062f\u0647\u0627 \u0631\u0627 \u0628\u0627 \u0634\u0645\u0627 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u0645.  \u0645\u0646 \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u06a9 \u0646\u0645\u0627\u06cc\u0634 \u0632\u0646\u062f\u0647 \u0627\u0632 \u06a9\u0634\u0634 \u0648 \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631\u06cc YugabyteDB \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u067e\u0644\u062a \u0641\u0631\u0645 \u0639\u0627\u0644\u06cc \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0648\u0645\u06cc \u0627\u0628\u0631\u06cc \u0627\u0646\u062c\u0627\u0645 \u062e\u0648\u0627\u0647\u0645 \u062f\u0627\u062f: Amazon Elastic Kubernetes Service (Amazon EKS).  \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0627\u062d\u062a\u0645\u0627\u0644 \u0632\u06cc\u0627\u062f \u062f\u0631 \u0637\u0648\u0644 \u062a\u0638\u0627\u0647\u0631\u0627\u062a \u0627\u0631\u0627\u0626\u0647 \u062e\u0648\u0627\u0647\u0645 \u06a9\u0631\u062f.<\/p>\n<p>\u0645\u0646 \u06cc\u06a9 \u062e\u0648\u0634\u0647 \u0622\u0645\u0627\u0632\u0648\u0646 EKS \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 eksctl \u0627\u0628\u0632\u0627\u0631 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646  \u0645\u0646 \u062e\u0648\u0634\u0647 \u0631\u0627 \u0628\u0627 \u0627\u0646\u0648\u0627\u0639 \u06af\u0631\u0647 \u0647\u0627\u060c \u0627\u0646\u062f\u0627\u0632\u0647 \u0647\u0627 \u0648 \u0645\u0646\u0627\u0637\u0642 \u062e\u0627\u0635 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u06cc \u06a9\u0646\u0645 \u0648 \u0633\u067e\u0633 my \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0645\u06cc \u06a9\u0646\u0645 .kube\/config \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0648\u0634\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 kubectl.<\/p>\n<p>eksctl create cluster &#8211;name yb-demo1 &#8211;tags eks=yb-demo1 \\<br \/>\n &#8211;version 1.27 \\<br \/>\n &#8211;node-type c5.2xlarge &#8211;nodes 4 &#8211;nodes-min 0 &#8211;nodes-max 4 \\<br \/>\n &#8211;region eu-west-1 &#8211;zones eu-west-1a,eu-west-1b,eu-west-1c \\<br \/>\n &#8211;nodegroup-name standard-workers &#8211;managed &#8211;dumpLogs<\/p>\n<p>aws eks update-kubeconfig &#8211;region eu-west-1 &#8211;name yb-demo1<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0645\u0646 \u06cc\u06a9 \u062e\u0648\u0634\u0647 YugabyteDB \u062a\u06a9 \u0645\u0646\u0637\u0642\u0647 \u0627\u06cc \u0628\u0633\u06cc\u0627\u0631 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0631\u0627 \u062f\u0631 Amazon EKS \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u062e\u0648\u0627\u0647\u0645 \u06a9\u0631\u062f.  \u0645\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0644\u0627\u0633 \u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0648 StatefulSets \u0631\u0627 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0645\u0646\u0637\u0642\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u062f\u0631 \u06cc\u06a9 \u0645\u0646\u0637\u0642\u0647 \u0645\u0634\u062e\u0635 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u0645. eu-west-1\u060c \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0686\u0646\u062f AZ.  \u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0634\u0627\u0645\u0644 \u062a\u0648\u0644\u06cc\u062f \u0645\u0627\u0646\u06cc\u0641\u0633\u062a \u0647\u0627\u06cc \u0636\u0631\u0648\u0631\u06cc Kubernetes\u060c \u0627\u0639\u0645\u0627\u0644 \u0622\u0646\u0647\u0627 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Helm \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 YugabyteDB \u0627\u0633\u062a.<\/p>\n<p>cd<br \/>\nregion=eu-west-1<br \/>\nmasters=$(for az in {a..c} ; do echo &#8220;yb-master-0.yb-masters.yb-demo-${region}${az}.svc.cluster.local:7100&#8221; ; done | paste -sd,)<br \/>\nplacement=$(for az in {a..c} ; do echo &#8220;aws.${region}.${region}${az}&#8221; ; done | paste -sd,)<br \/>\necho<br \/>\necho &#8220;$masters&#8221;<br \/>\necho &#8220;$region&#8221;<br \/>\necho &#8220;$placement&#8221;<\/p>\n<p># create per-AZ StorageClass and StatefulSet<br \/>\n{<br \/>\nfor az in {a..c} ; do<\/p>\n<p>{ cat CAT<br \/>\nkind: StorageClass<br \/>\napiVersion: storage.k8s.io\/v1<br \/>\nmetadata:<br \/>\n  name: standard-${region}${az}<br \/>\nprovisioner: kubernetes.io\/aws-ebs<br \/>\nparameters:<br \/>\n  type: gp2<br \/>\n  zone: ${region}${az}<br \/>\nCAT<br \/>\n} &gt; ${region}${az}.storageclass.yaml<br \/>\necho &#8220;kubectl apply -f ${region}${az}.storageclass.yaml&#8221;<\/p>\n<p>{ cat CAT<br \/>\nisMultiAz: True<br \/>\nAZ: ${region}${az}<br \/>\nmasterAddresses: &#8220;$masters&#8221;<br \/>\nstorage:<br \/>\n  ephemeral: true<br \/>\n  master:<br \/>\n    storageClass: &#8220;standard-${region}${az}&#8221;<br \/>\n  tserver:<br \/>\n    storageClass: &#8220;standard-${region}${az}&#8221;<br \/>\nreplicas:<br \/>\n  master: 1<br \/>\n  tserver: 2<br \/>\n  totalMasters: 3<br \/>\nresource:<br \/>\n  master:<br \/>\n   requests:<br \/>\n    cpu: 0.5<br \/>\n    memory: 1Gi<br \/>\n  tserver:<br \/>\n   requests:<br \/>\n    cpu: 1<br \/>\n    memory: 2Gi<br \/>\ngflags:<br \/>\n  master:<br \/>\n    placement_cloud: &#8220;aws&#8221;<br \/>\n    placement_region: &#8220;${region}&#8221;<br \/>\n    placement_zone: &#8220;${region}${az}&#8221;<br \/>\n    ysql_num_shards_per_tserver: 2<br \/>\n    tserver_unresponsive_timeout_ms: 10000<br \/>\n    hide_dead_node_threshold_mins: 900<br \/>\n  tserver:<br \/>\n    placement_cloud: &#8220;aws&#8221;<br \/>\n    placement_region: &#8220;${region}&#8221;<br \/>\n    placement_zone: &#8220;${region}${az}&#8221;<br \/>\n    ysql_num_shards_per_tserver: 2<br \/>\n    ysql_enable_auth: true<br \/>\n    yb_enable_read_committed_isolation: true<br \/>\n    ysql_suppress_unsafe_alter_notice: true<br \/>\n    ysql_beta_features: true<br \/>\n    allowed_preview_flags_csv: ysql_yb_ash_enable_infra,ysql_yb_enable_ash<br \/>\n    ysql_yb_ash_enable_infra: true<br \/>\n    ysql_yb_enable_ash: true<br \/>\nCAT<br \/>\n} &gt; ${region}${az}.overrides.yaml<br \/>\necho &#8220;kubectl create namespace yb-demo-${region}${az}&#8221;<\/p>\n<p>echo &#8220;helm install yb-demo yugabytedb\/yugabyte &#8211;namespace yb-demo-${region}${az} -f ${region}${az}.overrides.yaml &#8211;wait \\$* ; sleep 5&#8221;<\/p>\n<p>done<\/p>\n<p>echo &#8220;kubectl exec -it -n yb-demo-${region}a yb-master-0 &#8212; yb-admin &#8211;master_addresses $masters modify_placement_info $placement 3&#8243;<\/p>\n<p>} | tee yb-demo-install.sh<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0646\u0635\u0628 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a.  \u0645\u0646 \u0628\u0627 \u0627\u0641\u0632\u0648\u062f\u0646 \u0645\u062e\u0632\u0646 YugabyteDB Helm \u0648 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0622\u0646 \u0634\u0631\u0648\u0639 \u0645\u06cc \u06a9\u0646\u0645\u060c \u0633\u067e\u0633 \u0628\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 YugabyteDB \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc \u062f\u0647\u0645.<\/p>\n<p># install yugabyte Helm chart<br \/>\nhelm repo add yugabytedb https:\/\/charts.yugabyte.com<br \/>\nhelm repo update<br \/>\nhelm search repo yugabytedb\/yugabyte | cut -c-75<\/p>\n<p>export PATH=&#8221;$HOME\/cloud\/aws-cli:$PATH&#8221;<\/p>\n<p>. yb-demo-install.sh<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0645\u0646 \u06a9\u0646\u0633\u0648\u0644 \u0648\u0628 \u062f\u0627\u062e\u0644\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0648\u0628 \u0639\u0645\u0648\u0645\u06cc \u0628\u0627\u0632 \u0627\u0633\u062a \u0628\u0627 \u0634\u0631\u06a9\u062a \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u062e\u0648\u0627\u0647\u0645 \u06af\u0630\u0627\u0634\u062a.  \u0627\u06cc\u0646 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u060c \u062c\u062f\u0627\u0648\u0644 \u0648 \u0627\u0646\u062c\u0627\u0645 \u0639\u0645\u0644\u06cc\u0627\u062a \u062e\u0648\u0627\u0646\u062f\u0646\/\u0646\u0648\u0634\u062a\u0646 \u0631\u0627 \u0628\u0647 \u062a\u0646\u0647\u0627\u06cc\u06cc \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0646\u062f.  \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0646\u062d\u0648\u0647 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u06a9\u062f QR \u0628\u0631\u0627\u06cc URL \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 UI \u0622\u0645\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<p>for i in 0 ; do echo $(kubectl get svc -n yb-demo-eu-west-1a &#8211;field-selector &#8220;metadata.name=yb-master-ui&#8221;  -o jsonpath=&#8217;http:\/\/{.items[&#8216;$i&#8217;].status.loadBalancer.ingress[0].hostname}:{.items[0].spec.ports[?(@.name==&#8221;http-ui&#8221;)].port}&#8217;) ; done | while read url ; do echo &#8220;yb-master-ui $i&#8221; ; qrencode -t ANSIUTF8 -s 1 -m 0 &#8220;$url&#8221; ; echo &#8220;$url&#8221; ; done<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  PgBench<\/p>\n<p>\u0645\u0646 \u0627\u0632 kubectl \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06cc\u06a9 PostgreSQL pod \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645 eu-west-1a\u060c \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0644\u0627\u0632\u0645 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 load balancer \u062f\u0631 \u0627\u06cc\u0646 \u0646\u0627\u062d\u06cc\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0628\u0632\u0627\u0631 pgbench \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u062c\u062f\u0627\u0648\u0644 \u0628\u0627 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u0648 \u062e\u0627\u0631\u062c\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.  \u0633\u067e\u0633 \u062c\u062f\u0648\u0644 \u0631\u0627 \u0628\u0627 \u0645\u0642\u06cc\u0627\u0633 150 \u067e\u0631 \u0645\u06cc \u06a9\u0646\u0645 \u0648 YugabyteDB \u0628\u062f\u0648\u0646 \u062a\u0631\u0627\u06a9\u0646\u0634 \u0645\u06cc \u0646\u0648\u06cc\u0633\u062f \u062a\u0627 \u0628\u0627\u0631 \u0627\u0646\u0628\u0648\u0647 \u0628\u06cc\u0634\u062a\u0631\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.<\/p>\n<p>kubectl -n yb-demo-eu-west-1a run -it eu-west-1a &#8211;image=postgres:17beta2 &#8211;rm=true bash<\/p>\n<p>export PGPASSWORD=yugabyte PGUSER=yugabyte PGDATABASE=yugabyte PGPORT=5433 PGHOST=yb-tservers<\/p>\n<p>pgbench -iIdtpf<\/p>\n<p>PGOPTIONS=&#8221;-c yb_disable_transactional_writes=on -c yb_default_copy_from_rows_per_transaction=0&#8243; pgbench -iIg &#8211;scale 150<br \/>\npsql -c &#8220;select tablename, pg_size_pretty(pg_table_size(tablename::regclass)) from pg_tables where schemaname=&#8221;public&#8221;&#8221;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0645\u0646 \u0645\u0639\u06cc\u0627\u0631 Simple Update \u0631\u0627 \u0627\u0632 20 \u0645\u0634\u062a\u0631\u06cc \u0627\u062c\u0631\u0627 \u062e\u0648\u0627\u0647\u0645 \u06a9\u0631\u062f.<\/p>\n<p>pgbench &#8211;client 20 -nN &#8211;progress 5 &#8211;max-tries 10 -T 3600<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0631\u062a\u062c\u0627\u0639\u06cc<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u062f\u0648\u0646 \u062e\u0631\u0627\u0628\u06cc \u0645\u0642\u06cc\u0627\u0633\u200c\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645\u060c \u062a\u0639\u062f\u0627\u062f \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u062a\u0628\u0644\u062a \u0631\u0627 \u062f\u0631 \u0647\u0631 \u0645\u0646\u0637\u0642\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0627 \u0635\u0631\u0641\u0627\u064b \u0645\u0642\u06cc\u0627\u0633\u200c\u0628\u0646\u062f\u06cc StatefulSets \u062f\u0648 \u0628\u0631\u0627\u0628\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0645:<\/p>\n<p>kubectl scale -n yb-demo-eu-west-1a statefulset yb-tserver &#8211;replicas=4<br \/>\nkubectl scale -n yb-demo-eu-west-1b statefulset yb-tserver &#8211;replicas=4<br \/>\nkubectl scale -n yb-demo-eu-west-1c statefulset yb-tserver &#8211;replicas=4<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0628\u0631\u0646\u0627\u0645\u0647 PgBench \u0628\u0647 \u06a9\u0627\u0631 \u062e\u0648\u062f \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc \u062f\u0647\u062f \u0648 \u062a\u0648\u0627\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u0645\u06cc \u06cc\u0627\u0628\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 PgBench \u0628\u0627 \u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u06cc\u0633\u062a\u0627 \u0627\u0632 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u0647\u0646\u06af\u0627\u0645 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0622\u0646 \u0622\u063a\u0627\u0632 \u0645\u06cc \u0634\u0648\u062f\u060c \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0627\u0632 \u0647\u0645\u0647 \u06af\u0631\u0647 \u0647\u0627 \u0628\u0647\u0631\u0647 \u0646\u0645\u06cc \u0628\u0631\u062f \u0648 \u0641\u0642\u0637 \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u0646\u0648\u0634\u062a\u0646 \u062f\u0648\u0628\u0627\u0631\u0647 \u0645\u062a\u0639\u0627\u062f\u0644 \u0645\u06cc \u0634\u0648\u062f.  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f PgBench \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0628\u0647 \u06af\u0631\u0647 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0631\u0627 \u0645\u062a\u0639\u0627\u062f\u0644 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062a\u0648\u0627\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u062f\u0648 \u0628\u0631\u0627\u0628\u0631 \u0645\u06cc \u0634\u0648\u062f.  \u0627\u0644\u0628\u062a\u0647\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u062a\u062e\u0631 \u0627\u062a\u0635\u0627\u0644\u060c \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u0622\u0646 \u0646\u062f\u0627\u0631\u06cc\u062f.<\/p>\n<p>  \u062a\u0627\u0628 \u0622\u0648\u0631\u06cc<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0646 \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631\u06cc \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u0634\u06a9\u0633\u062a\u060c \u06cc\u06a9 \u06af\u0631\u0647 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0627 \u06a9\u0648\u0686\u06a9 \u06a9\u0631\u062f\u0646 \u06cc\u06a9 StatefulSet \u062d\u0630\u0641 \u06a9\u0631\u062f.  \u0645\u0646 \u062d\u062a\u06cc \u06cc\u06a9 AZ \u0631\u0627 \u0628\u0647 \u0635\u0641\u0631 \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u0645 \u062a\u0627 \u0634\u06a9\u0633\u062a \u0645\u0646\u0637\u0642\u0647 \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u0645:<\/p>\n<p>kubectl scale -n yb-demo-eu-west-1c statefulset yb-tserver &#8211;replicas=3<br \/>\nkubectl scale -n yb-demo-eu-west-1c statefulset yb-tserver &#8211;replicas=0<br \/>\nkubectl scale -n yb-demo-eu-west-1c statefulset yb-tserver &#8211;replicas=4<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0628\u0631\u0646\u0627\u0645\u0647 PgBench \u0628\u0627\u06cc\u062f \u0628\u062f\u0648\u0646 \u0647\u06cc\u0686 \u062e\u0637\u0627\u06cc\u06cc \u0627\u062f\u0627\u0645\u0647 \u06cc\u0627\u0628\u062f.  \u062a\u0646\u0647\u0627 \u067e\u06cc\u0627\u0645\u062f \u062e\u0631\u0627\u0628\u06cc\u060c \u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647 \u06a9\u0627\u0647\u0634 \u062a\u0648\u0627\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0628\u0647 \u062f\u0644\u06cc\u0644 \u0648\u0642\u0641\u0647 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 TCP\/IP \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u06af\u0631\u0647 \u0647\u0627\u06cc \u0646\u0627\u0645\u0648\u0641\u0642 \u0627\u0633\u062a.<\/p>\n<p>  \u067e\u0627\u06a9 \u06a9\u0631\u062f\u0646<\/p>\n<p>\u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0686\u0646\u06cc\u0646 \u0622\u0632\u0645\u0627\u06cc\u0634\u06af\u0627\u0647\u06cc \u0647\u0631 \u0637\u0648\u0631 \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.  \u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062e\u0648\u0634\u0647 EKS \u0631\u0627 \u062e\u0627\u062a\u0645\u0647 \u062f\u0647\u06cc\u062f:<\/p>\n<p>aws cloudformation delete-stack &#8211;stack-name eksctl-yb-demo1                                                         aws cloudformation delete-stack &#8211;stack-name eksctl-yb-demo1-cluster<br \/>\naws cloudformation delete-stack &#8211;stack-name eksctl-yb-demo1-nodegroup-standard-workers<br \/>\neksctl delete cluster &#8211;region=eu-west-1 &#8211;name=yb-demo1<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062f\u0631 \u0622\u0646 \u0645\u06a9\u0627\u0646 \u0647\u0627\u060c \u0645\u0646 \u0628\u0647 \u062a\u0646\u0647\u0627\u06cc\u06cc \u0627\u0631\u0627\u0626\u0647 \u0646\u062e\u0648\u0627\u0647\u0645 \u0634\u062f.  \u0647\u0645\u06a9\u0627\u0631\u0627\u0646\u06cc \u0627\u0632 YugabyteDB\u060c \u0634\u0631\u06a9\u0627\u06cc AWS \u0648 \u0633\u062e\u0646\u0631\u0627\u0646\u0627\u0646 Snowflake \u0648 Striim \u0646\u06cc\u0632 \u0627\u0631\u0627\u0626\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0634\u062f.  \u0627\u06cc\u0646 \u06cc\u06a9 \u0641\u0631\u0635\u062a \u0639\u0627\u0644\u06cc \u0628\u0631\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0633\u0627\u0632\u06cc\u060c \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0648 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0631\u06cc \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n<p>          \u0628\u0647 \u0645\u0627 \u062f\u0631 \u0634\u0647\u0631\u06cc \u0646\u0632\u062f\u06cc\u06a9 \u062e\u0648\u062f \u0628\u067e\u06cc\u0648\u0646\u062f\u06cc\u062f \u062a\u0627 \u06cc\u06a9 \u0634\u0628 \u06af\u0641\u062a\u06af\u0648\u0647\u0627\u06cc \u0641\u0646\u06cc\u060c \u062c\u0644\u0633\u0627\u062a \u0646\u0645\u0627\u06cc\u0634 \u0648 \u06af\u0641\u062a\u0646\u060c \u0648 \u062f\u0645\u0648\u0647\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634\u06cc \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u063a\u0630\u0627\u060c \u0646\u0648\u0634\u06cc\u062f\u0646\u06cc\u060c \u062c\u0648\u0627\u06cc\u0632 \u0648 \u0647\u062f\u0627\u06cc\u0627 \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<p>        info.yugabyte.com<\/p>\n<div data-article-id=\"1926039\" id=\"article-body\">\n<p>\u067e\u0633 \u0627\u0632 \u0634\u0631\u06a9\u062a \u062f\u0631 \u0646\u0634\u0633\u062a \u062c\u0647\u0627\u0646\u06cc \u0642\u0647\u0631\u0645\u0627\u0646\u0627\u0646 AWS \u062f\u0631 \u0633\u06cc\u0627\u062a\u0644\u060c \u0645\u0646 \u0628\u0647 \u0627\u06cc\u0627\u0644\u0627\u062a \u0645\u062a\u062d\u062f\u0647 \u0633\u0641\u0631 \u0645\u06cc \u06a9\u0646\u0645 \u0648 \u0645\u06cc \u062e\u0648\u0627\u0647\u0645 YugabyteDB \u0631\u0627 \u0628\u0647 \u0645\u06a9\u0627\u0646 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0631\u0627\u0626\u0647 \u0648 \u0646\u0634\u0627\u0646 \u062f\u0647\u0645:<\/p>\n<p>\u062e\u0648\u0634\u062d\u0627\u0644 \u0645\u06cc \u0634\u0648\u0645 \u06a9\u0647 \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u0622\u0646 \u0645\u06a9\u0627\u0646 \u0647\u0627 \u0645\u0644\u0627\u0642\u0627\u062a \u06a9\u0646\u0645 \u0648 \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u0627\u0633\u0644\u0627\u06cc\u062f\u0647\u0627 \u0631\u0627 \u0628\u0627 \u0634\u0645\u0627 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u0645.  \u0645\u0646 \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u06a9 \u0646\u0645\u0627\u06cc\u0634 \u0632\u0646\u062f\u0647 \u0627\u0632 \u06a9\u0634\u0634 \u0648 \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631\u06cc YugabyteDB \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u067e\u0644\u062a \u0641\u0631\u0645 \u0639\u0627\u0644\u06cc \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0648\u0645\u06cc \u0627\u0628\u0631\u06cc \u0627\u0646\u062c\u0627\u0645 \u062e\u0648\u0627\u0647\u0645 \u062f\u0627\u062f: Amazon Elastic Kubernetes Service (Amazon EKS).  \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0627\u062d\u062a\u0645\u0627\u0644 \u0632\u06cc\u0627\u062f \u062f\u0631 \u0637\u0648\u0644 \u062a\u0638\u0627\u0647\u0631\u0627\u062a \u0627\u0631\u0627\u0626\u0647 \u062e\u0648\u0627\u0647\u0645 \u06a9\u0631\u062f.<\/p>\n<p>\u0645\u0646 \u06cc\u06a9 \u062e\u0648\u0634\u0647 \u0622\u0645\u0627\u0632\u0648\u0646 EKS \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>eksctl<\/code> \u0627\u0628\u0632\u0627\u0631 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646  \u0645\u0646 \u062e\u0648\u0634\u0647 \u0631\u0627 \u0628\u0627 \u0627\u0646\u0648\u0627\u0639 \u06af\u0631\u0647 \u0647\u0627\u060c \u0627\u0646\u062f\u0627\u0632\u0647 \u0647\u0627 \u0648 \u0645\u0646\u0627\u0637\u0642 \u062e\u0627\u0635 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u06cc \u06a9\u0646\u0645 \u0648 \u0633\u067e\u0633 my \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0645\u06cc \u06a9\u0646\u0645 <code>.kube\/config<\/code> \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0648\u0634\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 kubectl.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>eksctl create cluster <span class=\"nt\">--name<\/span> yb-demo1 <span class=\"nt\">--tags<\/span> <span class=\"nv\">eks<\/span><span class=\"o\">=<\/span>yb-demo1 <span class=\"se\">\\<\/span>\n <span class=\"nt\">--version<\/span> 1.27 <span class=\"se\">\\<\/span>\n <span class=\"nt\">--node-type<\/span> c5.2xlarge <span class=\"nt\">--nodes<\/span> 4 <span class=\"nt\">--nodes-min<\/span> 0 <span class=\"nt\">--nodes-max<\/span> 4 <span class=\"se\">\\<\/span>\n <span class=\"nt\">--region<\/span> eu-west-1 <span class=\"nt\">--zones<\/span> eu-west-1a,eu-west-1b,eu-west-1c <span class=\"se\">\\<\/span>\n <span class=\"nt\">--nodegroup-name<\/span> standard-workers <span class=\"nt\">--managed<\/span> <span class=\"nt\">--dumpLogs<\/span>\n\naws eks update-kubeconfig <span class=\"nt\">--region<\/span> eu-west-1 <span class=\"nt\">--name<\/span> yb-demo1\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0646 \u06cc\u06a9 \u062e\u0648\u0634\u0647 YugabyteDB \u062a\u06a9 \u0645\u0646\u0637\u0642\u0647 \u0627\u06cc \u0628\u0633\u06cc\u0627\u0631 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0631\u0627 \u062f\u0631 Amazon EKS \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u062e\u0648\u0627\u0647\u0645 \u06a9\u0631\u062f.  \u0645\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0644\u0627\u0633 \u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0648 StatefulSets \u0631\u0627 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0645\u0646\u0637\u0642\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u062f\u0631 \u06cc\u06a9 \u0645\u0646\u0637\u0642\u0647 \u0645\u0634\u062e\u0635 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u0645. <code>eu-west-1<\/code>\u060c \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0686\u0646\u062f AZ.  \u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0634\u0627\u0645\u0644 \u062a\u0648\u0644\u06cc\u062f \u0645\u0627\u0646\u06cc\u0641\u0633\u062a \u0647\u0627\u06cc \u0636\u0631\u0648\u0631\u06cc Kubernetes\u060c \u0627\u0639\u0645\u0627\u0644 \u0622\u0646\u0647\u0627 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Helm \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 YugabyteDB \u0627\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nb\">cd\n<\/span><span class=\"nv\">region<\/span><span class=\"o\">=<\/span>eu-west-1\n<span class=\"nv\">masters<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span><span class=\"k\">for <\/span>az <span class=\"k\">in<\/span> <span class=\"o\">{<\/span>a..c<span class=\"o\">}<\/span> <span class=\"p\">;<\/span> <span class=\"k\">do <\/span><span class=\"nb\">echo<\/span> <span class=\"s2\">\"yb-master-0.yb-masters.yb-demo-<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"s2\">.svc.cluster.local:7100\"<\/span> <span class=\"p\">;<\/span> <span class=\"k\">done<\/span> | <span class=\"nb\">paste<\/span> <span class=\"nt\">-sd<\/span>,<span class=\"si\">)<\/span>\n<span class=\"nv\">placement<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span><span class=\"k\">for <\/span>az <span class=\"k\">in<\/span> <span class=\"o\">{<\/span>a..c<span class=\"o\">}<\/span> <span class=\"p\">;<\/span> <span class=\"k\">do <\/span><span class=\"nb\">echo<\/span> <span class=\"s2\">\"aws.<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}<\/span><span class=\"s2\">.<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"s2\">\"<\/span> <span class=\"p\">;<\/span> <span class=\"k\">done<\/span> | <span class=\"nb\">paste<\/span> <span class=\"nt\">-sd<\/span>,<span class=\"si\">)<\/span>\n<span class=\"nb\">echo\necho<\/span> <span class=\"s2\">\"<\/span><span class=\"nv\">$masters<\/span><span class=\"s2\">\"<\/span>\n<span class=\"nb\">echo<\/span> <span class=\"s2\">\"<\/span><span class=\"nv\">$region<\/span><span class=\"s2\">\"<\/span>\n<span class=\"nb\">echo<\/span> <span class=\"s2\">\"<\/span><span class=\"nv\">$placement<\/span><span class=\"s2\">\"<\/span>\n\n<span class=\"c\"># create per-AZ StorageClass and StatefulSet<\/span>\n<span class=\"o\">{<\/span>\n<span class=\"k\">for <\/span>az <span class=\"k\">in<\/span> <span class=\"o\">{<\/span>a..c<span class=\"o\">}<\/span> <span class=\"p\">;<\/span> <span class=\"k\">do<\/span>\n\n<span class=\"o\">{<\/span> <span class=\"nb\">cat<\/span> <span class=\"o\"><span class=\"no\">CAT<\/span><span class=\"sh\">\nkind: StorageClass\napiVersion: storage.k8s.io\/v1\nmetadata:\n  name: standard-<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"sh\">\nprovisioner: kubernetes.io\/aws-ebs\nparameters:\n  type: gp2\n  zone: <\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"sh\">\n<\/span><span class=\"no\">CAT\n<\/span><span class=\"o\">}<\/span> <span class=\"o\">&gt;<\/span> <span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span>.storageclass.yaml\n<span class=\"nb\">echo<\/span> <span class=\"s2\">\"kubectl apply -f <\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"s2\">.storageclass.yaml\"<\/span>\n\n<span class=\"o\">{<\/span> <span class=\"nb\">cat<\/span> <span class=\"o\"><span class=\"no\">CAT<\/span><span class=\"sh\">\nisMultiAz: True\nAZ: <\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"sh\">\nmasterAddresses: \"<\/span><span class=\"nv\">$masters<\/span><span class=\"sh\">\"\nstorage:\n  ephemeral: true\n  master:\n    storageClass: \"standard-<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"sh\">\"\n  tserver:\n    storageClass: \"standard-<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"sh\">\"\nreplicas:\n  master: 1\n  tserver: 2\n  totalMasters: 3\nresource:\n  master:\n   requests:\n    cpu: 0.5\n    memory: 1Gi\n  tserver:\n   requests:\n    cpu: 1\n    memory: 2Gi\ngflags:\n  master:\n    placement_cloud: \"aws\"\n    placement_region: \"<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}<\/span><span class=\"sh\">\"\n    placement_zone: \"<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"sh\">\"\n    ysql_num_shards_per_tserver: 2\n    tserver_unresponsive_timeout_ms: 10000\n    hide_dead_node_threshold_mins: 900\n  tserver:\n    placement_cloud: \"aws\"\n    placement_region: \"<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}<\/span><span class=\"sh\">\"\n    placement_zone: \"<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"sh\">\"\n    ysql_num_shards_per_tserver: 2\n    ysql_enable_auth: true\n    yb_enable_read_committed_isolation: true\n    ysql_suppress_unsafe_alter_notice: true\n    ysql_beta_features: true\n    allowed_preview_flags_csv: ysql_yb_ash_enable_infra,ysql_yb_enable_ash\n    ysql_yb_ash_enable_infra: true\n    ysql_yb_enable_ash: true\n<\/span><span class=\"no\">CAT\n<\/span><span class=\"o\">}<\/span> <span class=\"o\">&gt;<\/span> <span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span>.overrides.yaml\n<span class=\"nb\">echo<\/span> <span class=\"s2\">\"kubectl create namespace yb-demo-<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"s2\">\"<\/span>\n\n<span class=\"nb\">echo<\/span> <span class=\"s2\">\"helm install yb-demo yugabytedb\/yugabyte --namespace yb-demo-<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"s2\"> -f <\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}${<\/span><span class=\"nv\">az<\/span><span class=\"k\">}<\/span><span class=\"s2\">.overrides.yaml --wait <\/span><span class=\"se\">\\$<\/span><span class=\"s2\">* ; sleep 5\"<\/span>\n\n<span class=\"k\">done\n\n<\/span><span class=\"nb\">echo<\/span> <span class=\"s2\">\"kubectl exec -it -n yb-demo-<\/span><span class=\"k\">${<\/span><span class=\"nv\">region<\/span><span class=\"k\">}<\/span><span class=\"s2\">a yb-master-0 -- yb-admin --master_addresses <\/span><span class=\"nv\">$masters<\/span><span class=\"s2\"> modify_placement_info <\/span><span class=\"nv\">$placement<\/span><span class=\"s2\"> 3\"<\/span>\n\n<span class=\"o\">}<\/span> | <span class=\"nb\">tee <\/span>yb-demo-install.sh\n\n<\/span><\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0646\u0635\u0628 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a.  \u0645\u0646 \u0628\u0627 \u0627\u0641\u0632\u0648\u062f\u0646 \u0645\u062e\u0632\u0646 YugabyteDB Helm \u0648 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0622\u0646 \u0634\u0631\u0648\u0639 \u0645\u06cc \u06a9\u0646\u0645\u060c \u0633\u067e\u0633 \u0628\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 YugabyteDB \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc \u062f\u0647\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># install yugabyte Helm chart<\/span>\nhelm repo add yugabytedb https:\/\/charts.yugabyte.com\nhelm repo update\nhelm search repo yugabytedb\/yugabyte | <span class=\"nb\">cut<\/span> <span class=\"nt\">-c-75<\/span>\n\n<span class=\"nb\">export <\/span><span class=\"nv\">PATH<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"<\/span><span class=\"nv\">$HOME<\/span><span class=\"s2\">\/cloud\/aws-cli:<\/span><span class=\"nv\">$PATH<\/span><span class=\"s2\">\"<\/span>\n\n<span class=\"nb\">.<\/span> yb-demo-install.sh\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0646 \u06a9\u0646\u0633\u0648\u0644 \u0648\u0628 \u062f\u0627\u062e\u0644\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0648\u0628 \u0639\u0645\u0648\u0645\u06cc \u0628\u0627\u0632 \u0627\u0633\u062a \u0628\u0627 \u0634\u0631\u06a9\u062a \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u062e\u0648\u0627\u0647\u0645 \u06af\u0630\u0627\u0634\u062a.  \u0627\u06cc\u0646 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u060c \u062c\u062f\u0627\u0648\u0644 \u0648 \u0627\u0646\u062c\u0627\u0645 \u0639\u0645\u0644\u06cc\u0627\u062a \u062e\u0648\u0627\u0646\u062f\u0646\/\u0646\u0648\u0634\u062a\u0646 \u0631\u0627 \u0628\u0647 \u062a\u0646\u0647\u0627\u06cc\u06cc \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0646\u062f.  \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0646\u062d\u0648\u0647 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u06a9\u062f QR \u0628\u0631\u0627\u06cc URL \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 UI \u0622\u0645\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"k\">for <\/span>i <span class=\"k\">in <\/span>0 <span class=\"p\">;<\/span> <span class=\"k\">do <\/span><span class=\"nb\">echo<\/span> <span class=\"si\">$(<\/span>kubectl get svc <span class=\"nt\">-n<\/span> yb-demo-eu-west-1a <span class=\"nt\">--field-selector<\/span> <span class=\"s2\">\"metadata.name=yb-master-ui\"<\/span>  <span class=\"nt\">-o<\/span> <span class=\"nv\">jsonpath<\/span><span class=\"o\">=<\/span><span class=\"s1\">'http:\/\/{.items['<\/span><span class=\"nv\">$i<\/span><span class=\"s1\">'].status.loadBalancer.ingress[0].hostname}:{.items[0].spec.ports[?(@.name==\"http-ui\")].port}'<\/span><span class=\"si\">)<\/span> <span class=\"p\">;<\/span> <span class=\"k\">done<\/span> | <span class=\"k\">while <\/span><span class=\"nb\">read <\/span>url <span class=\"p\">;<\/span> <span class=\"k\">do <\/span><span class=\"nb\">echo<\/span> <span class=\"s2\">\"yb-master-ui <\/span><span class=\"nv\">$i<\/span><span class=\"s2\">\"<\/span> <span class=\"p\">;<\/span> qrencode <span class=\"nt\">-t<\/span> ANSIUTF8 <span class=\"nt\">-s<\/span> 1 <span class=\"nt\">-m<\/span> 0 <span class=\"s2\">\"<\/span><span class=\"nv\">$url<\/span><span class=\"s2\">\"<\/span> <span class=\"p\">;<\/span> <span class=\"nb\">echo<\/span> <span class=\"s2\">\"<\/span><span class=\"nv\">$url<\/span><span class=\"s2\">\"<\/span> <span class=\"p\">;<\/span> <span class=\"k\">done<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/distributing-postgresql-on-amazon-elastic-kubernetes-2f5g\/#PgBench\" >PgBench<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/distributing-postgresql-on-amazon-elastic-kubernetes-2f5g\/#%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA_%D8%A7%D8%B1%D8%AA%D8%AC%D8%A7%D8%B9%DB%8C\" >\u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0631\u062a\u062c\u0627\u0639\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/distributing-postgresql-on-amazon-elastic-kubernetes-2f5g\/#%D8%AA%D8%A7%D8%A8_%D8%A2%D9%88%D8%B1%DB%8C\" >\u062a\u0627\u0628 \u0622\u0648\u0631\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/distributing-postgresql-on-amazon-elastic-kubernetes-2f5g\/#%D9%BE%D8%A7%DA%A9_%DA%A9%D8%B1%D8%AF%D9%86\" >\u067e\u0627\u06a9 \u06a9\u0631\u062f\u0646<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"PgBench\"><\/span>\n<p>  PgBench<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0646 \u0627\u0632 kubectl \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06cc\u06a9 PostgreSQL pod \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645 <code>eu-west-1a<\/code>\u060c \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0644\u0627\u0632\u0645 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 load balancer \u062f\u0631 \u0627\u06cc\u0646 \u0646\u0627\u062d\u06cc\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0628\u0632\u0627\u0631 pgbench \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u062c\u062f\u0627\u0648\u0644 \u0628\u0627 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u0648 \u062e\u0627\u0631\u062c\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.  \u0633\u067e\u0633 \u062c\u062f\u0648\u0644 \u0631\u0627 \u0628\u0627 \u0645\u0642\u06cc\u0627\u0633 150 \u067e\u0631 \u0645\u06cc \u06a9\u0646\u0645 \u0648 YugabyteDB \u0628\u062f\u0648\u0646 \u062a\u0631\u0627\u06a9\u0646\u0634 \u0645\u06cc \u0646\u0648\u06cc\u0633\u062f \u062a\u0627 \u0628\u0627\u0631 \u0627\u0646\u0628\u0648\u0647 \u0628\u06cc\u0634\u062a\u0631\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight sql\"><code><span class=\"n\">kubectl<\/span> <span class=\"o\">-<\/span><span class=\"n\">n<\/span> <span class=\"n\">yb<\/span><span class=\"o\">-<\/span><span class=\"n\">demo<\/span><span class=\"o\">-<\/span><span class=\"n\">eu<\/span><span class=\"o\">-<\/span><span class=\"n\">west<\/span><span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"n\">a<\/span> <span class=\"n\">run<\/span> <span class=\"o\">-<\/span><span class=\"n\">it<\/span> <span class=\"n\">eu<\/span><span class=\"o\">-<\/span><span class=\"n\">west<\/span><span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"n\">a<\/span> <span class=\"c1\">--image=postgres:17beta2 --rm=true bash<\/span>\n\n<span class=\"n\">export<\/span> <span class=\"n\">PGPASSWORD<\/span><span class=\"o\">=<\/span><span class=\"n\">yugabyte<\/span> <span class=\"n\">PGUSER<\/span><span class=\"o\">=<\/span><span class=\"n\">yugabyte<\/span> <span class=\"n\">PGDATABASE<\/span><span class=\"o\">=<\/span><span class=\"n\">yugabyte<\/span> <span class=\"n\">PGPORT<\/span><span class=\"o\">=<\/span><span class=\"mi\">5433<\/span> <span class=\"n\">PGHOST<\/span><span class=\"o\">=<\/span><span class=\"n\">yb<\/span><span class=\"o\">-<\/span><span class=\"n\">tservers<\/span>\n\n<span class=\"n\">pgbench<\/span> <span class=\"o\">-<\/span><span class=\"n\">iIdtpf<\/span>\n\n<span class=\"n\">PGOPTIONS<\/span><span class=\"o\">=<\/span><span class=\"nv\">\"-c yb_disable_transactional_writes=on -c yb_default_copy_from_rows_per_transaction=0\"<\/span> <span class=\"n\">pgbench<\/span> <span class=\"o\">-<\/span><span class=\"n\">iIg<\/span> <span class=\"c1\">--scale 150<\/span>\n<span class=\"n\">psql<\/span> <span class=\"o\">-<\/span><span class=\"k\">c<\/span> <span class=\"nv\">\"select tablename, pg_size_pretty(pg_table_size(tablename::regclass)) from pg_tables where schemaname=\"public\"\"<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0646 \u0645\u0639\u06cc\u0627\u0631 Simple Update \u0631\u0627 \u0627\u0632 20 \u0645\u0634\u062a\u0631\u06cc \u0627\u062c\u0631\u0627 \u062e\u0648\u0627\u0647\u0645 \u06a9\u0631\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>\npgbench <span class=\"nt\">--client<\/span> 20 <span class=\"nt\">-nN<\/span> <span class=\"nt\">--progress<\/span> 5 <span class=\"nt\">--max-tries<\/span> 10 <span class=\"nt\">-T<\/span> 3600\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA_%D8%A7%D8%B1%D8%AA%D8%AC%D8%A7%D8%B9%DB%8C\"><\/span>\n<p>  \u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0631\u062a\u062c\u0627\u0639\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u062f\u0648\u0646 \u062e\u0631\u0627\u0628\u06cc \u0645\u0642\u06cc\u0627\u0633\u200c\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645\u060c \u062a\u0639\u062f\u0627\u062f \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u062a\u0628\u0644\u062a \u0631\u0627 \u062f\u0631 \u0647\u0631 \u0645\u0646\u0637\u0642\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0627 \u0635\u0631\u0641\u0627\u064b \u0645\u0642\u06cc\u0627\u0633\u200c\u0628\u0646\u062f\u06cc StatefulSets \u062f\u0648 \u0628\u0631\u0627\u0628\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>kubectl scale <span class=\"nt\">-n<\/span> yb-demo-eu-west-1a statefulset yb-tserver <span class=\"nt\">--replicas<\/span><span class=\"o\">=<\/span>4\nkubectl scale <span class=\"nt\">-n<\/span> yb-demo-eu-west-1b statefulset yb-tserver <span class=\"nt\">--replicas<\/span><span class=\"o\">=<\/span>4\nkubectl scale <span class=\"nt\">-n<\/span> yb-demo-eu-west-1c statefulset yb-tserver <span class=\"nt\">--replicas<\/span><span class=\"o\">=<\/span>4\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0646\u0627\u0645\u0647 PgBench \u0628\u0647 \u06a9\u0627\u0631 \u062e\u0648\u062f \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc \u062f\u0647\u062f \u0648 \u062a\u0648\u0627\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u0645\u06cc \u06cc\u0627\u0628\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 PgBench \u0628\u0627 \u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u06cc\u0633\u062a\u0627 \u0627\u0632 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u0647\u0646\u06af\u0627\u0645 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0622\u0646 \u0622\u063a\u0627\u0632 \u0645\u06cc \u0634\u0648\u062f\u060c \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0627\u0632 \u0647\u0645\u0647 \u06af\u0631\u0647 \u0647\u0627 \u0628\u0647\u0631\u0647 \u0646\u0645\u06cc \u0628\u0631\u062f \u0648 \u0641\u0642\u0637 \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u0646\u0648\u0634\u062a\u0646 \u062f\u0648\u0628\u0627\u0631\u0647 \u0645\u062a\u0639\u0627\u062f\u0644 \u0645\u06cc \u0634\u0648\u062f.  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f PgBench \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0628\u0647 \u06af\u0631\u0647 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0631\u0627 \u0645\u062a\u0639\u0627\u062f\u0644 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062a\u0648\u0627\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u062f\u0648 \u0628\u0631\u0627\u0628\u0631 \u0645\u06cc \u0634\u0648\u062f.  \u0627\u0644\u0628\u062a\u0647\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u062a\u062e\u0631 \u0627\u062a\u0635\u0627\u0644\u060c \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u0622\u0646 \u0646\u062f\u0627\u0631\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AA%D8%A7%D8%A8_%D8%A2%D9%88%D8%B1%DB%8C\"><\/span>\n<p>  \u062a\u0627\u0628 \u0622\u0648\u0631\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0646 \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631\u06cc \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u0634\u06a9\u0633\u062a\u060c \u06cc\u06a9 \u06af\u0631\u0647 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0627 \u06a9\u0648\u0686\u06a9 \u06a9\u0631\u062f\u0646 \u06cc\u06a9 StatefulSet \u062d\u0630\u0641 \u06a9\u0631\u062f.  \u0645\u0646 \u062d\u062a\u06cc \u06cc\u06a9 AZ \u0631\u0627 \u0628\u0647 \u0635\u0641\u0631 \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u0645 \u062a\u0627 \u0634\u06a9\u0633\u062a \u0645\u0646\u0637\u0642\u0647 \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>kubectl scale <span class=\"nt\">-n<\/span> yb-demo-eu-west-1c statefulset yb-tserver <span class=\"nt\">--replicas<\/span><span class=\"o\">=<\/span>3\nkubectl scale <span class=\"nt\">-n<\/span> yb-demo-eu-west-1c statefulset yb-tserver <span class=\"nt\">--replicas<\/span><span class=\"o\">=<\/span>0\nkubectl scale <span class=\"nt\">-n<\/span> yb-demo-eu-west-1c statefulset yb-tserver <span class=\"nt\">--replicas<\/span><span class=\"o\">=<\/span>4\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0646\u0627\u0645\u0647 PgBench \u0628\u0627\u06cc\u062f \u0628\u062f\u0648\u0646 \u0647\u06cc\u0686 \u062e\u0637\u0627\u06cc\u06cc \u0627\u062f\u0627\u0645\u0647 \u06cc\u0627\u0628\u062f.  \u062a\u0646\u0647\u0627 \u067e\u06cc\u0627\u0645\u062f \u062e\u0631\u0627\u0628\u06cc\u060c \u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647 \u06a9\u0627\u0647\u0634 \u062a\u0648\u0627\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0628\u0647 \u062f\u0644\u06cc\u0644 \u0648\u0642\u0641\u0647 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 TCP\/IP \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u06af\u0631\u0647 \u0647\u0627\u06cc \u0646\u0627\u0645\u0648\u0641\u0642 \u0627\u0633\u062a.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%BE%D8%A7%DA%A9_%DA%A9%D8%B1%D8%AF%D9%86\"><\/span>\n<p>  \u067e\u0627\u06a9 \u06a9\u0631\u062f\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0686\u0646\u06cc\u0646 \u0622\u0632\u0645\u0627\u06cc\u0634\u06af\u0627\u0647\u06cc \u0647\u0631 \u0637\u0648\u0631 \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.  \u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062e\u0648\u0634\u0647 EKS \u0631\u0627 \u062e\u0627\u062a\u0645\u0647 \u062f\u0647\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>aws cloudformation delete-stack <span class=\"nt\">--stack-name<\/span> eksctl-yb-demo1                                                         aws cloudformation delete-stack <span class=\"nt\">--stack-name<\/span> eksctl-yb-demo1-cluster\naws cloudformation delete-stack <span class=\"nt\">--stack-name<\/span> eksctl-yb-demo1-nodegroup-standard-workers\neksctl delete cluster <span class=\"nt\">--region<\/span><span class=\"o\">=<\/span>eu-west-1 <span class=\"nt\">--name<\/span><span class=\"o\">=<\/span>yb-demo1\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0622\u0646 \u0645\u06a9\u0627\u0646 \u0647\u0627\u060c \u0645\u0646 \u0628\u0647 \u062a\u0646\u0647\u0627\u06cc\u06cc \u0627\u0631\u0627\u0626\u0647 \u0646\u062e\u0648\u0627\u0647\u0645 \u0634\u062f.  \u0647\u0645\u06a9\u0627\u0631\u0627\u0646\u06cc \u0627\u0632 YugabyteDB\u060c \u0634\u0631\u06a9\u0627\u06cc AWS \u0648 \u0633\u062e\u0646\u0631\u0627\u0646\u0627\u0646 Snowflake \u0648 Striim \u0646\u06cc\u0632 \u0627\u0631\u0627\u0626\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0634\u062f.  \u0627\u06cc\u0646 \u06cc\u06a9 \u0641\u0631\u0635\u062a \u0639\u0627\u0644\u06cc \u0628\u0631\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0633\u0627\u0632\u06cc\u060c \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0648 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0631\u06cc \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n<div class=\"crayons-card c-embed text-styles text-styles--secondary\">\n<div class=\"c-embed__cover\">\n<p>          <\/p><\/div>\n<div class=\"c-embed__body\">\n<p class=\"truncate-at-3\">\n<p>          \u0628\u0647 \u0645\u0627 \u062f\u0631 \u0634\u0647\u0631\u06cc \u0646\u0632\u062f\u06cc\u06a9 \u062e\u0648\u062f \u0628\u067e\u06cc\u0648\u0646\u062f\u06cc\u062f \u062a\u0627 \u06cc\u06a9 \u0634\u0628 \u06af\u0641\u062a\u06af\u0648\u0647\u0627\u06cc \u0641\u0646\u06cc\u060c \u062c\u0644\u0633\u0627\u062a \u0646\u0645\u0627\u06cc\u0634 \u0648 \u06af\u0641\u062a\u0646\u060c \u0648 \u062f\u0645\u0648\u0647\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634\u06cc \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u063a\u0630\u0627\u060c \u0646\u0648\u0634\u06cc\u062f\u0646\u06cc\u060c \u062c\u0648\u0627\u06cc\u0632 \u0648 \u0647\u062f\u0627\u06cc\u0627 \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.\n        <\/p>\n<p>        info.yugabyte.com\n      <\/p>\n<\/p><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u067e\u0633 \u0627\u0632 \u0634\u0631\u06a9\u062a \u062f\u0631 \u0646\u0634\u0633\u062a \u062c\u0647\u0627\u0646\u06cc \u0642\u0647\u0631\u0645\u0627\u0646\u0627\u0646 AWS \u062f\u0631 \u0633\u06cc\u0627\u062a\u0644\u060c \u0645\u0646 \u0628\u0647 \u0627\u06cc\u0627\u0644\u0627\u062a \u0645\u062a\u062d\u062f\u0647 \u0633\u0641\u0631 \u0645\u06cc \u06a9\u0646\u0645 \u0648 \u0645\u06cc \u062e\u0648\u0627\u0647\u0645 YugabyteDB \u0631\u0627 \u0628\u0647 \u0645\u06a9\u0627\u0646 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0631\u0627\u0626\u0647 \u0648 \u0646\u0634\u0627\u0646 \u062f\u0647\u0645: \u062e\u0648\u0634\u062d\u0627\u0644 \u0645\u06cc \u0634\u0648\u0645 \u06a9\u0647 \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u0622\u0646 \u0645\u06a9\u0627\u0646 \u0647\u0627 \u0645\u0644\u0627\u0642\u0627\u062a \u06a9\u0646\u0645 \u0648 \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u0627\u0633\u0644\u0627\u06cc\u062f\u0647\u0627 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":70270,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-70269","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/70269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=70269"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/70269\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/70270"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=70269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=70269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=70269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}