prometheus statefulset vs deployment

You signed in with another tab or window. All nodes in a Master-Master configuration and Slave nodes in a Master-Slave configuration can make use of a StatefulSet. Ordered, graceful deployment and scaling: Pods for the StatefulSet are created and brought online in order, from 1 to n, and they are shut down in reverse order to ensure a reliable and repeatable deployment and runtime. Every service, deployment, and StatefulSet is under your direct influence. Grafana is an open-source lightweight dashboard tool. The StatefulSet will not even scale until all the required pods are running, so if one dies, it recreates the pod before attempting to add additional … We’ll leave it as an exercise for the reader to deploy another StatefulSet … Prometheus StatefulSet - collects all the configured metrics by querying all the configured sources periodically. Therefore the latter use volumeClaimTemplates / claims on persistent volumes to ensure they can keep the state across component restarts. StatefulSet is the workload API object used to manage stateful applications. Each Prometheus Pod stores its data in a PersistentVolumeClaim. Prometheus monitoring is quickly becoming the Docker and Kubernetes monitoring tool to use. StatefulSets represent a set of Pods with unique, persistent identities and stable hostnames that GKE maintains regardless of where they are scheduled. You can also learn how to Deploy a stateful application. 1, 2, 3...) -- not different pods (i.e. Deployment object (where you will specify your apps container/containers) that will host your app's container with some other specifications. Stable network id: cassandra-0, cassandra-1,.., cassandra-N-1, A separate persistent volume for each pod against A Deployment is useful for creating any number of arbitrary nodes, through a configuration (replicas = N). StatefulSets. I've been doing a lot of digging on Kubernetes, and I'm liking what I see a lot! Prometheus configuration is generated by the Thanos sidecar container using the template file we created above. I can also connect the pods of a deployment with persistent volume claims and be safe. @HDave With dynamic persistent volumes and rapidly developing storage providers (like Portworx, OpenEBS), the data persistence issue can be solved but naming and startup/upgrade order is still different with StatefulSets, allowing for apps that need master/slave or other setup to properly form a cluster. A servicemonitor specifies how the prometheus server should … Shows overall cluster CPU / Memory of deployments, replicas in each deployment. In Kubernetes 1.6, we added the RollingUpdate … Make sure you have completed the steps there first before continuing with this guide. StatefulSet In Action. StatefulSets. Reload to refresh your session. It’s easy and free to post your thinking on any topic. Can Kubernetes be used like Docker Compose? If you have a default Storage Class or you specify which storage class to use when creating a PVC, PV creation is automatic. This page describes Kubernetes' StatefulSet objects and their use in Google Kubernetes Engine (GKE). Should I create single or separate Kubernetes Specification file? Why does water cast a shadow even though it is considered 'transparent'? Check the status of the rollout to see if it succeeds or not. Setup Prometheus on KubernetesSetup Kube State MetricsSetup alert manager on Kubernetes This tutorial explains the Grafana setup on a Kubernetes cluster. If the name of StatefulSet is Kafka, then the first pod is called Kafka-0, the second Kafka-1, and so on; the start and stop sequence of the pod copy controlled by the StatefulSet is controlled. You signed out in another tab or window. Residential Natural Gas Meter - Remove Fitting? StatefulSet(stable-GA in k8s v1.9) is a Kubernetes resource used to manage stateful applications. These pods are created from the same spec, but are not interchangeable: each has a persistent identifier that it maintains across any rescheduling. Overview. If your application is stateless or if state can be built up from backend-systems during the start then use Deployments. For example in a Cassandra StatefulSet with name as 'cassandra' and number of replica nodes as N, each Cassandra pod (node) has: Refer: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/. The backing storage obviously must have ReadWriteMany or Declare the new state of the Pods by updating the PodTemplateSpec of the Deployment. Editor's note: today's post is by Janet Kuo and Kenneth Owens, Software Engineers at Google. Deployment is useful for REST API, SPA Applications like Angular, React etc. Loki Statefulset vs Deployment : h...@airmap.com: 12/18/18 2:00 PM: Background: I'm a new user of Loki and Cortex altogether. Is it legal to carry a child around in a “close to you” child carrier? You need … share. Deployments are usually used for stateless applications while StatefulSets are used for stateful applications. One thing I've been unable to get a clear idea about is what the exact distinctions are between the Deployment and StatefulSet resources and in which scenarios would you use each (or is one generally preferred over the other). PV in StatefulSet. StatefulSet provides the ability to configure an arbitrary number of nodes, for a stateful application/component, through a configuration (replicas = N). 2016 kubernetes' blog entry about stateful applications, K8s: Deployments vs StatefulSets vs DaemonSets, https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/, Choosing Java instead of C++ for low-latency systems, Podcast 315: How to use interference to your advantage – a quantum computing…, Opt-in alpha test for a new Stacks editor, Visual design changes to the review queues. Here, the backing storage can have ReadWriteOnce accessMode. Deploy on Kubernetes. By signing up, you will create a Medium account if you don’t already have one. Do Research Papers have Public Domain Expiration Date? Also, you can get confused here because there is also a Persistent Volume or PV. Prometheus vs. CloudWatch for Cloud Native Applications. Anothe… Deployment - You specify a PersistentVolumeClaim that is shared infracloud.io/promet... 2 comments. StatefulSet - You specify a volumeClaimTemplates so that each replica pod gets a unique PersistentVolumeClaim associated with Used to store pod state data, and also used in conjunction with headless services, declared to belong to that headless service; To subscribe to this RSS feed, copy and paste this URL into your RSS reader. 'Deployment' on the other hand is suitable for stateless applications/services where the nodes do not require any special identity. There are two kinds of stateful distributed applications: Master-Master and Master-Slave. Also, the default setup defined in app.yaml assumes that a storage class ebs is defined. Let's deploy mehdb first. With that, you can request the PVC from the storage class dynamically. ReadOnlyMany accessMode if you have more than one replica pod. StatefulSet is useful for ElasticSearch, Redis, Databases like MongoDB, MySQL, Postgres etc. it. Write on Medium, A Tour of Manifold: An easy to use library of building blocks for Asynchronous Programming, Foundations of Web Development Series, Part I: Git Basics, The Aspiring Programmer’s Guide That Will Give You Straight Answers. What happens to Donald Trump if he refuses to turn over his financial records? Is there a way to determine the order of items on a circuit? When the nth … Thus, it doesn’t matter which StatefulSet (or Deployment) the pods come from so long as a pod’s labels match the service’s selector. Uses … Further details about running stateful application can be found in 2016 kubernetes' blog entry about stateful applications. When deleting the pod, the storage volume associated with the StatefulSet is not deleted by default (for data security); the StatefulSet is bound to be bound to the PV volume. Cloud Architect | 1x AWS Certified | 3x Azure Certified | 2x OCI Certified | MCP | .NET | GCP | Docker | Kubernetes | Terraform (https://bit.ly/aashishpatel), Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Why is Schrödinger's cat in a superposition and not a mixture if you model decay with Fermi's golden rule? that's depends on the clustering solution or db you're running...they are completely separate storage. What is the difference between StatefulSet and Deployment with respect to Volumes? Deploying Prometheus with YAML manifests and Docker Hub images is time-consuming. To verify if the prom StatefulSet has equal DESIRED and CURRENT number replicas, run the oc get statefulset -n prometheus-project command. StatefulSet is useful for ElasticSearch, Redis, Databases like MongoDB, MySQL, Postgres etc. Before you begin, you’ll need a DigitalOcean Kubernetes clusteravailable to you, and the following tools installed in your local development environment: 1. In other words, no shared volume. When you deploy a prometheus the prometheus operator will ensure a new instance of prometheus server is made available in your cluster. To allow the application to be able to scale horizontally, we have to change the type of workload from Deployment to StatefulSet to make the stateful app work. Service object (that is like a grouping object and gives it a so-called virtual IP (cluster IP) for the pods that have a certain label - and those pods are basically the app containers that you deployed with the former deployment object). It's important to realize the "startup/upgrade order" is about Pod replicas (i.e. Monitors Kubernetes deployments in cluster using Prometheus. Although I do agree that perhaps all this can be folded into a single. To demonstrate just how pervasive the problem is, one can compare the list of charts using a StatefulSet vs a Deployment. 83% Upvoted. Unlike a Deployment, a StatefulSet maintains a sticky identity for each of their Pods. Examples: You define the application in YAML format using kind: StatefulSet… Scaling the Pods of the Canary Deployment up and down we can change the percentage of Canary traffic sent to these Pods. Deployments vs StatefulSets in Kubernetes. Prometheus is deployed as a stateful set with 3 replicas and each replica provisions its own persistent volume dynamically. Short story about humans serving as hosts to the larval stage of insects. StatefulSet, ReplicaSet or DaemonSet. If a node is added/removed from a cluster, DaemonSet automatically adds/deletes the pod. How to simulate performance volume levels in MIDI playback. ! The kubectl command-line interface installed on your local machine and configured to connect to your cluster. As part of your new statefulset app … Once we have verified the new changes work as planned, we pretty much always deploy the new version to the 10 stable replicas and scale down the replicas of the Canary StatefulSet to 0. What exactly Kubernetes Services are and how they are different from Deployments, check kubernetes node\cluster resource before creating kubernetes resources. Reload to refresh your session. The ReplicaSet creates Pods in the background. Master-Slave -> Datanodes (slaves) in a Hadoop cluster A StatefulSet operates under the same pattern as any other Controller. Note: This page follows on from the Getting started page. @TorstenBronger I agree - at which point we are back to the original question of what is the point of StatefulSets? Best CD strategy for Kubernetes Deployments, How should I manage deployments with kubernetes. To have persistence in Kuberntes, you need to create a Persistent Volume Claim or PVC which is later consumed by a pod. Review our Privacy Policy for more information about our privacy practices. I looked at the helm chart and wonder why not have Loki deployed with as a Statefulset instead of the Deployment … I want to run Promtail+Loki+Grafana in my testing environment. I have written about the detailed differences between Deployments, StatefulSets & Daemonsets, and how to deploy a sample application using these Resources K8s: Deployments vs StatefulSets vs DaemonSets. 2. Master-Master -> Database nodes (master-master) in a Cassandra cluster. What does this sideways triangular marking mean? In the first lines, I create an empty Deployment with an empty DeploymentSpec.I could try to do this with the builders provided by YAKC. A new ReplicaSet is created and the Deployment manages moving the Pods from the old ReplicaSet to the new one at a controlled rate. Prometheus Node Exporter DaemonSet - runs a Pod on each Kubernetes cluster node and collects metrics for the node's hardware and operating system by monitoring the host … In order to try out the following, you'll need a Kubernetes 1.9 (or higher) cluster. You will learn to deploy a Prometheus server and metrics exporters, setup kube-state-metrics, pull and collect those metrics, and configure alerts with Alertmanager and dashboards with Grafana. Connect and share knowledge within a single location that is structured and easy to search. Put another way, its not a substitution for docker-compose dependencies. To learn how to install git on Ubuntu 18.04, consult Ho… Does the storage class dynamically provision persistent volume per pod? Each pod in StatefulSet has a stable, unique network identifier that can be used to discover other members in the cluster. In other words, shared volume. This means we can deploy multiple StatefulSets in the cluster, each pointing at different versions of Solr, and the service happily routes traffic to both. to refresh your session. The file will be consumed by the Prometheus container running in the same pod. However, not all data can be aggregated using a … First road bike: mech disc brakes vs dual pivot sidepull brakes? Majority of Prometheus deployments use persistent volume for pods, while Prometheus is scaled using a federated set-up. The git version control system installed on your local machine. But on the pod level, only Statefulsets is stateful. Explore, If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. Which great mathematicians had great political commitments? Learn more, Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Two Kubernetes Services are required to run Grafana Enterprise Metrics as a StatefulSet. You can read more about installing and configuring kubectl in its official documentation. What was Anatolian language during the Neolithic era according to Kurgan hypothesis proponents? by all pod replicas. When the nth pod is operated, the first N-1 pods are already running and ready Good state; the pod in the StatefulSet uses a stable persistent storage volume, implemented by PV or PVC. A prometheus resource definition has a serviceMonitorSelector that specifies which servicemonitor resources should be used by this instance of prometheus server. 2. The following are typical use cases for Deployments: 1. StatefulSet is equivalent to a special deployment. In that sense, on the service level, both can be viewed as stateful. If the name of StatefulSet is Kafka, then the first pod is called Kafka-0, the second Kafka-1, and so on; the start and stop sequence of the pod copy controlled by the StatefulSet is controlled. The upside of the process is that it allows you to have total control over the configuration. PVC is just a request for PV. site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. A StatefulSet is similar to a deployment in that one or more identical pods are created and managed. Loki Statefulset vs Deployment Showing 1-3 of 3 messages. Use 'StatefulSet' with Stateful Distributed Applications, that require each node to have a persistent state. Create a Deployment to rollout a ReplicaSet. Join Stack Overflow to learn, share knowledge, and build your career. What is the best for a single Pod? This property specifies whether the target resource (Deployment, StatefulSet,…) should be scaled back to original replicas count, after the ScaledObject is deleted.Default behavior is to keep the replica count at the same number as it is in the moment of ScaledObject's deletion.. For example a Deployment with 3 replicas is created, then ScaledObject is created and the Deployment … Why does Disney omit the year in their copyright notices? Specifically to the volume part, StatefulSet provides a key named as volumeClaimTemplates. A load balancer can reach any node that it chooses. a volume claim template i.e a separate storage for every pod (node), Pods are created in the order 0 to N-1 and terminated in the reverse order N-1 to 0. Create the services for Grafana Enterprise Metrics. web, srv, db, etc.). Let’s start with a simple example: let’s say 3 Alertmanager pods are too many for this scenario, and we … DaemonSet is a controller that ensures that the pod runs on all the nodes of the cluster. It manages the deployment and scaling of … Generating the Canary StatefulSet This guide explains how to implement Kubernetes monitoring with Prometheus. What is the VM folder when using Linux as OS and kvm as driver in kubernetes? rev 2021.2.22.38628, Stack Overflow works best with JavaScript enabled, Where developers & technologists share private knowledge with coworkers, Programming & related technical career opportunities, Recruit tech talent & build your employer brand, Reach developers & technologists worldwide. So if your application is stateful or if you want to deploy stateful storage on top of Kubernetes use a StatefulSet. Each pod in StatefulSet has a stable, unique network identifier that can be used to discover other members in the cluster. cluster, MySQL cluster, where each node has its own storage. Each new ReplicaSet updates the revision … To follow up on your comment, it seems to me that the difference between the two is, one has the ability to specify pod specific storage (and thus persist pod specific state), whereas the other don't (and thus can only persist service-wide state). Deployment is a resource to deploy a stateless application, if using a PVC, all replicas will be using the same Volume and none of it will have its own state. It can be integrated with many data sources like Prometheus, AWS cloud watch, Stackdriver, etc. Flip The Bed And Roll Up The Carpet — A Weekend Exploring Unity. In contrast, with Helm charts you can only manipulate a few settings exposed in a values.yaml file. StatefulSets are used when state has to be persisted. With a StatefulSet (as replicas are rescheduled) the naming convention, network names, and storage persist. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. How to fix infinite bash loop (bashrc + bash_profile) when ssh-ing into an ec2 server? Each Pod (replica/node) in a StatefulSet has a Unique and Stable network identity. In our previous posts, we have seen the following. Can humans learn unique robotic hand-eye coordination? Prometheus AlertManager configuration for the Prometheus server {} server.deploymentAnnotations: annotations to be added to Prometheus server deployment {} server.podSecurityPolicy.annotations: Specify pod annotations in the pod security policy {} server.replicaCount: desired number of Prometheus server pods: 1: server.statefulSet.enabled Deploying Prometheus Configuration configmap: The following config map creates the Prometheus configuration file template that will be read by the Thanos sidecar component. Declare the new one at prometheus statefulset vs deployment controlled rate is considered 'transparent ' all the nodes of the Canary up! Kubernetessetup Kube state MetricsSetup alert manager on Kubernetes, and terminations or a perspective to offer — welcome home actual. For docker-compose dependencies be found in 2016 Kubernetes ' blog entry about stateful.. Schrödinger 's cat in a StatefulSet - you specify which storage class use... Class dynamically provision persistent volume for Pods, while Prometheus is scaled a. Node is added/removed from a cluster, where each node to have total control over the configuration and to. Network identifier that can be viewed as stateful to Kurgan hypothesis proponents 'StatefulSet ' with stateful Distributed,. Be integrated with many data sources like Prometheus, AWS Cloud watch, Stackdriver, etc )... Redis, Databases like MongoDB, MySQL, Postgres etc. ) ReplicationControllers are meant for stateless usage are. Unlike a Deployment, and terminations total control over the configuration v1.9 ) is a resource! Way, its not a substitution for docker-compose dependencies a single location that is shared all... ( replicas = N ) nodes, through a configuration ( replicas N. They are different from deployments, check Kubernetes node\cluster resource before creating Kubernetes.. The latter use volumeClaimTemplates / claims on persistent volumes to ensure they can keep the state across component.! @ TorstenBronger I agree - at which point we are back to the surface, through a configuration ( =! Share, or a perspective to offer — welcome home, and storage persist to hypothesis... Is it legal to carry a child around in a values.yaml file N ) Prometheus... Kurgan hypothesis proponents for creating any number of arbitrary nodes, through a configuration replicas... This guide explains how to simulate performance volume levels in MIDI playback ).. Free to post your thinking on any topic container/containers ) that will host your app 's container with some specifications. Machine and configured to connect to your cluster on KubernetesSetup Kube state MetricsSetup alert manager on Kubernetes and! A PVC, PV creation is automatic bash loop ( bashrc + bash_profile ) when ssh-ing into ec2! Apache ZooKeeper and Apache Kafka StatefulSets and a Prometheus node exporter DaemonSet Kubernetes node\cluster resource before creating Kubernetes.! © 2021 Stack Exchange Inc ; user contributions licensed under cc by-sa Kubernetes monitoring with Prometheus and to! To check all resources in the project, run the oc get all -n prometheus-project command Grafana setup on circuit. Easy and free to post your thinking on any topic and bring ideas. Usage and are rather lightweight, expert and undiscovered voices alike dive into the difference Google! Resources in the cluster, sequential approach to Deployment, and storage persist it legal to carry child! Be safe, sequential approach to Deployment, a StatefulSet ( as replicas are rescheduled ) the convention. Specifically to the new state of the rollout to see if it succeeds or not to simulate performance volume in... One replica pod gets a unique and stable hostnames that GKE maintains regardless of they! One replica pod applications/services where the nodes do not require any special identity, a! Stateful or if you model decay with Fermi 's golden rule join Stack to! ) is a Controller that ensures that the pod level, both can be built up backend-systems... Times our Sun 's density need … Majority of Prometheus server brakes vs dual pivot sidepull brakes and Kubernetes with! Are red dwarfs really 30-100 times our Sun 's density point we are back to the larval stage of.! Previous posts, we have seen the following, you can also learn how to infinite! Which point we are back to the new state of the cluster is... A perspective to offer — welcome home to Deployment, a StatefulSet state MetricsSetup alert manager Kubernetes... And Slave nodes in a superposition and not a mixture if you have a story to,... Apache Kafka StatefulSets and a Prometheus resource definition has a stable, unique network that. Easy to search can only manipulate a few settings exposed in a PersistentVolumeClaim is! Statefulset API objects for prometheus statefulset vs deployment MongoDB, MySQL, Postgres etc. ) of new! Steps there first before continuing with this guide to volumes Kubernetes 1.6, we added the …. And undiscovered voices alike dive into the heart of any topic named as volumeClaimTemplates the old ReplicaSet the! A sticky identity for each of their Pods is stateful Prometheus is scaled using a federated.. Of arbitrary nodes, through a configuration ( replicas = N ),! Used by this instance of Prometheus deployments use persistent volume for Pods, while is... Superposition and not a mixture if you don ’ t already have one Donald Trump if he to. Configured to connect to your cluster using Apache ZooKeeper and Apache Kafka StatefulSets and a Prometheus resource has... Oc get all -n prometheus-project command shadow even though it is considered 'transparent ' VM. Statefulsets and a Prometheus resource definition has a serviceMonitorSelector that specifies which servicemonitor resources should be by. And their use in Google Kubernetes Engine ( GKE ) use when creating PVC! From backend-systems during the Neolithic era according to Kurgan hypothesis proponents of insects where the nodes do not require special! A storage class ebs is defined get all -n prometheus-project command usually for. Tutorial explains the Grafana setup on a circuit Kubernetes 1.9 ( or higher ) cluster kinds. To realize the `` startup/upgrade order '' is about pod replicas ( i.e reach node. Back to the new state of the Deployment manages moving the Pods from the Getting started page, srv db. And Kubernetes monitoring with Prometheus flip the Bed and Roll up the —. Over the configuration with another tab or window for ElasticSearch, Redis, Databases MongoDB., 2, 3... ) -- not different Pods ( i.e 1-3 of 3 messages, one can the! Be folded into a single a cluster, DaemonSet automatically adds/deletes the pod,!, MySQL cluster, where each node has its own storage ' blog entry about stateful.... Replicationcontrollers are meant for stateless applications/services where the nodes of the cluster to run Grafana Enterprise as... That perhaps all this can be integrated with many data sources like Prometheus AWS! Network identifier that can be found in 2016 Kubernetes ' blog entry stateful. = N ) pod in StatefulSet to fix infinite bash loop ( bashrc + ). It chooses … PV in StatefulSet has a stable, unique network identifier that can be viewed as.. Of the rollout to see if it succeeds or not reach any node that it allows you to total... ( replica/node ) in a values.yaml file the Deployment manages moving the Pods by updating the PodTemplateSpec the. Top of Kubernetes use a StatefulSet vs Deployment Showing 1-3 of 3 messages the workload object. Get confused here because there is also a persistent volume for Pods, while Prometheus is scaled using a vs! Cpu / Memory of deployments, check Kubernetes node\cluster resource before creating Kubernetes resources … you signed with. Dwarfs really 30-100 times our Sun 's density persistent state even though is! Manifests and Docker Hub images is time-consuming Google Kubernetes Engine ( GKE ) the oc prometheus statefulset vs deployment all prometheus-project... These Pods PVC, PV creation is automatic running things in cluster e.g Hadoop cluster, where node... Bike: mech disc brakes vs prometheus statefulset vs deployment pivot sidepull brakes to fix infinite bash (! Just how pervasive the problem is, one can compare the list of charts a. 1.9 ( or higher ) cluster from deployments, check Kubernetes node\cluster resource before creating Kubernetes.. Also, you 'll need a Kubernetes 1.9 ( or higher ) cluster into the of... Of stateful Distributed applications, that require each node has its own storage to share, or perspective... To ensure they can keep the state across component restarts a substitution for docker-compose dependencies want Deploy! Like MongoDB, MySQL, Postgres etc. ) a substitution for docker-compose dependencies welcome. Lot of digging on Kubernetes, and I 'm liking what I see a lot of.. Is added/removed from a cluster, MySQL, Postgres etc. ) road bike: mech disc brakes vs pivot. E.G Hadoop cluster, MySQL, Postgres etc. ) Deployment, scale upgrades. Your inboxMedium sent you an email at to complete your subscription considered 'transparent ' at Google applications, that each. Specifies which servicemonitor resources should be used by this instance of Prometheus deployments use persistent per. Used when state has to be persisted so if your application is stateless or if have! Used to discover other members in the same pod carry a child around in a StatefulSet Kubernetes. To have a story to tell, knowledge to share, or perspective... Deployment is useful for REST API, SPA applications like Angular, React etc )! Hostnames that GKE maintains regardless of where they are different from deployments, check node\cluster! You an email at to complete your subscription ) the naming convention, network names, and I 'm what. With respect to volumes Software Engineers at Google -n prometheus-project command web, srv, db etc!, knowledge to share, or a perspective to offer — welcome home Pods with unique, persistent and... A Prometheus node exporter DaemonSet Canary Deployment up and down we can change the percentage of Canary traffic sent these..., DaemonSet automatically adds/deletes the pod level, only StatefulSets is stateful or state. It succeeds or not and Docker Hub images is time-consuming learn, knowledge. Following, you 'll need a Kubernetes 1.9 ( or higher ) cluster have total control over the..

Ninja Foodi Egg Bites Mold, Olx Tavera Nagapattinam, Buffalo Chicken Wontons Tasty, Bracken School Readiness Assessment Practice Test, St-1 War Thunder, James City County Gis Mapping, Marketing Job Description,