{"id":771,"date":"2024-11-18T02:13:15","date_gmt":"2024-11-18T02:13:15","guid":{"rendered":"https:\/\/realstudy.net\/?p=771"},"modified":"2024-11-18T14:21:19","modified_gmt":"2024-11-18T14:21:19","slug":"nats-%ec%84%a4%ec%b9%98-docker-kubernetes","status":"publish","type":"post","link":"https:\/\/realstudy.net\/?p=771&lang=ko","title":{"rendered":"NATS \uc124\uce58 \u2013 Docker, Kubernetes"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"771\" class=\"elementor elementor-771\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cb49249 e-flex e-con-boxed e-con e-parent\" data-id=\"cb49249\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1d3f926d elementor-widget elementor-widget-text-editor\" data-id=\"1d3f926d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>\nNATS\ub294 \uace0\uc131\ub2a5\uc758 \uc624\ud508 \uc18c\uc2a4 \uba54\uc2dc\uc9d5 \uc2dc\uc2a4\ud15c\uc73c\ub85c, \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, IoT, \ud074\ub77c\uc6b0\ub4dc \ub124\uc774\ud2f0\ube0c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub4f1 \ub2e4\uc591\ud55c \ubd84\uc57c\uc5d0\uc11c \ud65c\uc6a9\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ube14\ub85c\uadf8\uc5d0\uc11c\ub294 <strong>Docker-Compose<\/strong>\uc640 <strong>Helm<\/strong>\uc744 \uc774\uc6a9\ud558\uc5ec NATS\ub97c \uc124\uce58\ud558\uace0 \uc2e4\ud589\ud558\ub294 \ubc29\ubc95\uc744 \uc790\uc138\ud788 \uc124\uba85\ud569\ub2c8\ub2e4. \uc774 \uac00\uc774\ub4dc\ub97c \ud1b5\ud574 \ub85c\uceec \uac1c\ubc1c \ud658\uacbd\ubd80\ud130 Kubernetes \ud074\ub7ec\uc2a4\ud130\uae4c\uc9c0 \uc190\uc27d\uac8c NATS\ub97c \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a485cb1 elementor-widget elementor-widget-text-editor\" data-id=\"5a485cb1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3><strong>\uc0ac\uc804 \uc900\ube44 \uc0ac\ud56d<\/strong>:<\/h3><ul style=\"margin-left: 0em;\"><li><strong>Docker<\/strong> \ubc0f <strong>Docker-Compose<\/strong>\uac00 \uc124\uce58\ub41c \ud658\uacbd<\/li><li><strong>Kubernetes<\/strong> \ud074\ub7ec\uc2a4\ud130 \uc811\uadfc \uad8c\ud55c<\/li><li><strong>Helm<\/strong>\uc774 \uc124\uce58\ub41c \ud658\uacbd<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a5d27ed elementor-widget elementor-widget-text-editor\" data-id=\"a5d27ed\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3><strong>\uc804\uccb4 \ub0b4\uc6a9<\/strong>:<\/h3><ol style=\"margin-left: 0em;\"><li><strong>Docker Compose\ub85c \uc124\uce58<\/strong>:<br \/><ul style=\"margin-left: 0em;\"><li>Localhost\uc5d0 Docker\ub97c \uc774\uc6a9\ud558\uc5ec \uc124\uce58.<\/li><\/ul><\/li><li><b>Kubernetes\uc5d0 \uc124\uce58<\/b>:<br \/><ul style=\"margin-left: 0em;\"><li>Helm\uc744 \uc774\uc6a9\ud558\uc5ec \uc124\uce58.<\/li><\/ul><\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-255eff3 e-flex e-con-boxed e-con e-parent\" data-id=\"255eff3\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c8867dc elementor-widget elementor-widget-heading\" data-id=\"c8867dc\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">* Local\uc5d0 Docker Compose \uc774\uc6a9<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7194773 elementor-widget elementor-widget-text-editor\" data-id=\"7194773\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* \uc608\uc81c\uc5d0\uc11c \ub370\uc774\ud130 \ud30c\uc77c\uc744 \uc800\uc7a5\ud560 \ub85c\uceec\uacbd\ub85c\ub97c &#8220;\/data\/nats&#8221;\ub85c \uc9c0\uc815 \ud588\uc2b5\ub2c8\ub2e4. \uc2e4\ud589\uc744 \uc704\ud55c \uc124\uc815\ud30c\uc77c\uc778 nats.conf \ud30c\uc77c\uc740 \uc678\ubd80\uc5d0\uc11c \ub9cc\ub4e4\uc5b4 \ucee8\ud14c\uc774\ub108\uc5d0 \uc804\ub2ec \ud569\ub2c8\ub2e4.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6133d3b elementor-widget elementor-widget-code-highlight\" data-id=\"6133d3b\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>user:~$ sudo mkdir -p \/data\/nats\nuser:~$ cd \/data\/nats\nuser:\/data\/nats$ vi nats.conf\n### NATS Clients Port ###############################################\nport: 4222\n# PID file shared with configuration reloader.\n# pid_file: \"\/var\/run\/nats\/nats.pid\"\n\n### Monitoring  #####################################################\nhttp: 8222\nserver_name: nats-0\nserver_tags: [\n    \"mem:4Gi\",\n]\n\n### NATS JetStream ##################################################\njetstream {\n    max_mem:2G\n    store_dir: \"\/data\"\n    max_file:10Gi\n    unique_tag: \"natsuniquetag\"\n}\n\n### NATS Full Mesh Clustering Setup #################################\n# cluster {\n#     name: natscluster\n#     port: 6222\n#     routes = [\n#     nats:\/\/nats-0.nats.nats.svc.cluster.local:6222\n#     nats:\/\/nats-1.nats.nats.svc.cluster.local:6222\n#     nats:\/\/nats-2.nats.nats.svc.cluster.local:6222\n\n#     ]\n#     cluster_advertise: $CLUSTER_ADVERTISE\n#     connect_retries: 120\n# }\nlame_duck_grace_period: 10s\nlame_duck_duration: 30s<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4002e0a elementor-widget elementor-widget-text-editor\" data-id=\"4002e0a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><b>docker-compose.yml<\/b><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0dd9905 elementor-widget elementor-widget-code-highlight\" data-id=\"0dd9905\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>services:\n# define nats container\n  nats:\n    image: nats:alpine\n    restart: unless-stopped\n    container_name: nats\n    ports:\n      - \"4222:4222\" # client port\n      - \"8222:8222\" # monitoring port\n    volumes:\n      - \/data\/nats\/nats.conf:\/etc\/nats\/nats.conf\n      - \/data\/nats:\/data\n    command: -c \/etc\/nats\/nats.conf<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3854c00 elementor-widget elementor-widget-text-editor\" data-id=\"3854c00\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><strong>\uc2e4\ud589 &amp; \uc81c\uac70<\/strong><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-acd1d9e elementor-widget elementor-widget-code-highlight\" data-id=\"acd1d9e\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp># start container\nuser:~$ docker compose up nats -d\n\n# stop container\nuser:~$ docker container stop <container hash value>\n\n# remove container\nuser:~$ docker container rm <container hash value>\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b415525 e-flex e-con-boxed e-con e-parent\" data-id=\"b415525\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7d63a5f elementor-widget elementor-widget-heading\" data-id=\"7d63a5f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">* Kubernetes\uc5d0  HELM \uc774\uc6a9<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d5add63 elementor-widget elementor-widget-text-editor\" data-id=\"d5add63\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>Kubernetes \ud658\uacbd\uc5d0\uc11c NATS\uc744 \uc124\uce58\ud560 \ub54c Helm\uc744 \ud65c\uc6a9\ud558\uba74 \uac04\ub2e8\ud558\uace0 \ud6a8\uc728\uc801\uc73c\ub85c \uc124\uce58 \ubc0f \uad00\ub9ac\ub97c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ubc88 \ubc29\ubc95\uc740 NATS \uacf5\uc2dd Helm Chart\uc640 Docker \uc774\ubbf8\uc9c0\ub97c \ud65c\uc6a9\ud574 \uc124\uce58\ud558\ub294 \uac00\uc7a5 \uac04\ub2e8\ud55c \ubc29\ubc95\uc744 \uc18c\uac1c\ud569\ub2c8\ub2e4.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da3fb4e elementor-widget elementor-widget-text-editor\" data-id=\"da3fb4e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><b>repository \ub4f1\ub85d<\/b><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8feb4d0 elementor-widget elementor-widget-code-highlight\" data-id=\"8feb4d0\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>user:~$ helm repo add nats https:\/\/nats-io.github.io\/k8s\/helm\/charts\/\nuser:~$ helm repo update<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2ff90af elementor-widget elementor-widget-text-editor\" data-id=\"2ff90af\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><b>\uc124\uc815 \uc635\uc158 \ud655\uc778<\/b><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2137ac elementor-widget elementor-widget-code-highlight\" data-id=\"c2137ac\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-python line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp>user:~$ helm show values nats\/nats > nats-values.yaml<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f5df603 elementor-widget elementor-widget-text-editor\" data-id=\"f5df603\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* Helm\uc5d0 values\uc5d0\uc11c \uc124\uc815\ud560 \uc218 \uc788\ub294 \uc635\uc158\uacfc \uac01 \uc635\uc158\ub4e4\uc758 \uc815\ud655\ud55c \uc704\uce58\ub97c \ud655\uc778\ud558\uae30 \uc704\ud574 values.yaml \ud30c\uc77c\ub85c \uc800\uc7a5 \ud569\ub2c8\ub2e4.<br \/>* \uacf5\uc2dd\ubb38\uc11c\ub97c \ud1b5\ud574 \ud655\uc778\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. : <a href=\"https:\/\/artifacthub.io\/packages\/helm\/nats\/nats\" target=\"_blank\" rel=\"noopener\">https:\/\/artifacthub.io\/packages\/helm\/nats\/nats<\/a><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bb5b6d1 elementor-widget elementor-widget-text-editor\" data-id=\"bb5b6d1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><strong>\uc124\uce58<\/strong><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-74ea5c7 elementor-widget elementor-widget-code-highlight\" data-id=\"74ea5c7\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>user:~$ helm install nats nats\/nats --namespace nats --create-namespace \\\n  --set config.jetstream.enabled=true \\\n  --set config.jetstream.fileStore.pvc.size=5Gi \\\n  --set config.jetstream.fileStore.pvc.storageClassName=local-path<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5306ed3 elementor-widget elementor-widget-text-editor\" data-id=\"5306ed3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* NATS\ub97c \uc678\ubd80\uc5d0\uc11c \uc811\uc18d\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud574 loadBalancer \ud0c0\uc785\uc758 service\ub97c \ub9cc\ub4e4\uc5b4 \uc90d\ub2c8\ub2e4.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-97aed96 elementor-widget elementor-widget-code-highlight\" data-id=\"97aed96\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp># export port (optional)\nuser:~$ cat << EOF | kubectl apply -f -\napiVersion: v1\nkind: Service\nmetadata:\n  name: nats\n  namespace: nats\nspec:\n  type: LoadBalancer\n  ports:\n    - port: 4222\n      targetPort: 4222\n      protocol: TCP\n  selector:\n    app.kubernetes.io\/instance: nats\n    app.kubernetes.io\/name: nats\nEOF<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c84475 elementor-widget elementor-widget-text-editor\" data-id=\"6c84475\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><strong>* \uc2e4\ud589 \ud655\uc778<\/strong><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-db006e4 elementor-widget elementor-widget-code-highlight\" data-id=\"db006e4\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-python line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp># Check if it is installed and running properly.\nuser:~$ kubectl get all -n nats<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>NATS\ub294 \uace0\uc131\ub2a5\uc758 \uc624\ud508 \uc18c\uc2a4 \uba54\uc2dc\uc9d5 \uc2dc\uc2a4\ud15c\uc73c\ub85c, \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, IoT, \ud074\ub77c\uc6b0\ub4dc \ub124\uc774\ud2f0\ube0c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub4f1 \ub2e4\uc591\ud55c \ubd84\uc57c\uc5d0\uc11c \ud65c\uc6a9\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ube14\ub85c\uadf8\uc5d0\uc11c\ub294 Docker-Compose\uc640 Helm\uc744&hellip;<\/p>\n","protected":false},"author":1,"featured_media":772,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[28],"tags":[],"class_list":["post-771","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-computer_kr"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/nats_install.jpeg","_links":{"self":[{"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts\/771","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=771"}],"version-history":[{"count":25,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts\/771\/revisions"}],"predecessor-version":[{"id":909,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts\/771\/revisions\/909"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/media\/772"}],"wp:attachment":[{"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=771"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=771"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}