mirror of https://github.com/status-im/consul.git
Delete old use case pages w/ redirect to new
This commit is contained in:
parent
6ecd9acf11
commit
29a6d814c2
|
@ -5,6 +5,8 @@
|
|||
|
||||
# Consul Redirects
|
||||
|
||||
/discovery.html /use-cases/service-discovery-and-health-checking 301!
|
||||
/mesh.html /use-cases/multi-platform-service-mesh 301!
|
||||
/api.html /api-docs 301!
|
||||
/docs/agent/acl-rules.html /docs/acl/acl-rules 301!
|
||||
/docs/agent/acl-rules /docs/acl/acl-rules 301!
|
||||
|
|
|
@ -1,480 +0,0 @@
|
|||
import CallToAction from '@hashicorp/react-call-to-action'
|
||||
import CaseStudySlider from '@hashicorp/react-case-study-slider'
|
||||
import CodeBlock from '@hashicorp/react-code-block'
|
||||
|
||||
export default function ServiceDiscovery() {
|
||||
return (
|
||||
<>
|
||||
<div className="consul-connect">
|
||||
<CallToAction
|
||||
heading="Service discovery made easy"
|
||||
content="Service registry, integrated health checks, and DNS and HTTP interfaces enable any service to discover and be discovered by other services"
|
||||
brand="consul"
|
||||
links={[
|
||||
{ text: 'Download', url: '/downloads' },
|
||||
{
|
||||
text: 'Explore Docs',
|
||||
url:
|
||||
'https://learn.hashicorp.com/consul/getting-started/services',
|
||||
},
|
||||
]}
|
||||
/>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="intro">
|
||||
<h2 class="g-type-display-2">Features</h2>
|
||||
</div>
|
||||
<div class="g-text-asset large">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">Service Registry</h3>
|
||||
<p class="g-type-body">
|
||||
Consul provides a registry of all the running nodes and
|
||||
services, along with their current health status. This
|
||||
allows operators to understand the environment, and
|
||||
applications and automation tools to interact with dynamic
|
||||
infrastructure using an HTTP API.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="https://learn.hashicorp.com/consul/getting-started/services"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<picture>
|
||||
<source
|
||||
type="image/webp"
|
||||
srcSet="
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_230.webp 230w,
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_690.webp 690w,
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_1290.webp 1290w"
|
||||
/>
|
||||
<source
|
||||
type="image/jpg"
|
||||
srcSet="
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_230.jpg 230w,
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_690.jpg 690w,
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_1290.jpg 1290w"
|
||||
/>
|
||||
<img
|
||||
src="/img/consul-connect/ui-health-checks/ui-health-checks_1290.jpg"
|
||||
alt="Service Registry"
|
||||
/>
|
||||
</picture>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="g-text-asset reverse">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">DNS Query Interface</h3>
|
||||
<p class="g-type-body">
|
||||
Consul enables service discovery using a built-in DNS
|
||||
server. This allows existing applications to easily
|
||||
integrate, as almost all applications support using DNS to
|
||||
resolve IP addresses. Using DNS instead of a static IP
|
||||
address allows services to scale up/down and route around
|
||||
failures easily.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="https://learn.hashicorp.com/consul/getting-started/services#querying-services"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="code-sample">
|
||||
<div>
|
||||
<span></span>
|
||||
<CodeBlock
|
||||
prefix="terminal"
|
||||
code={`
|
||||
$ dig web-frontend.service.consul. ANY
|
||||
; <<>> DiG 9.8.3-P1 <<>> web-frontend.service.consul. ANY
|
||||
;; global options: +cmd
|
||||
;; Got answer:
|
||||
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29981
|
||||
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
|
||||
|
||||
;; QUESTION SECTION:
|
||||
;web-frontend.service.consul. IN ANY
|
||||
|
||||
;; ANSWER SECTION:
|
||||
web-frontend.service.consul. 0 IN A 10.0.3.83
|
||||
web-frontend.service.consul. 0 IN A 10.0.1.109
|
||||
`}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="g-text-asset">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">HTTP API with Edge Triggers</h3>
|
||||
<p class="g-type-body">
|
||||
Consul provides an HTTP API to query the service registry
|
||||
for nodes, services, and health check information. The API
|
||||
also supports blocking queries, or long-polling for any
|
||||
changes. This allows automation tools to react to services
|
||||
being registered or health status changes to change
|
||||
configurations or traffic routing in real time.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="https://learn.hashicorp.com/consul/getting-started/services#http-api"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="code-sample">
|
||||
<div>
|
||||
<span></span>
|
||||
<CodeBlock
|
||||
prefix="terminal"
|
||||
code={`
|
||||
$ curl http://localhost:8500/v1/health/service/web?index=11&wait=30s
|
||||
{
|
||||
...
|
||||
"Node": "10-0-1-109",
|
||||
"CheckID": "service:web",
|
||||
"Name": "Service 'web' check",
|
||||
"Status": <code class='keyword'>"critical"</code>,
|
||||
"ServiceID": "web",
|
||||
"ServiceName": "web",
|
||||
"CreateIndex": 10,
|
||||
"ModifyIndex": 20
|
||||
...
|
||||
}
|
||||
`}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="g-text-asset reverse">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">Multi Datacenter</h3>
|
||||
<p class="g-type-body">
|
||||
Consul supports multiple datacenters out of the box with no
|
||||
complicated configuration. Look up services in other
|
||||
datacenters or keep the request local. Advanced features
|
||||
like Prepared Queries enable automatic failover to other
|
||||
datacenters.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="https://learn.hashicorp.com/consul/security-networking/datacenters"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="code-sample">
|
||||
<div>
|
||||
<span></span>
|
||||
<div class="code">
|
||||
<CodeBlock
|
||||
prefix="terminal"
|
||||
code={`
|
||||
$ curl http://localhost:8500/v1/catalog/datacenters
|
||||
[
|
||||
"dc1",
|
||||
"dc2"
|
||||
]
|
||||
$ curl http://localhost:8500/v1/catalog/nodes?dc=dc2
|
||||
[
|
||||
{
|
||||
"ID": "7081dcdf-fdc0-0432-f2e8-a357d36084e1",
|
||||
"Node": "10-0-1-109",
|
||||
"Address": "10.0.1.109",
|
||||
"Datacenter": "<code class='keyword'>dc2</code>",
|
||||
"TaggedAddresses": {
|
||||
"lan": "10.0.1.109",
|
||||
"wan": "10.0.1.109"
|
||||
},
|
||||
"CreateIndex": 112,
|
||||
"ModifyIndex": 125
|
||||
},
|
||||
...
|
||||
`}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="g-text-asset large">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">Health Checks</h3>
|
||||
<p class="g-type-body">
|
||||
Pairing service discovery with health checking prevents
|
||||
routing requests to unhealthy hosts and enables services to
|
||||
easily provide circuit breakers.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="https://learn.hashicorp.com/consul/getting-started/services"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<picture>
|
||||
<source
|
||||
type="image/webp"
|
||||
srcSet="
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_230.webp 230w,
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_690.webp 690w,
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_1290.webp 1290w"
|
||||
/>
|
||||
<source
|
||||
type="image/jpg"
|
||||
srcSet="
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_230.jpg 230w,
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_690.jpg 690w,
|
||||
/img/consul-connect/ui-health-checks/ui-health-checks_1290.jpg 1290w"
|
||||
/>
|
||||
<img
|
||||
src="/img/consul-connect/ui-health-checks/ui-health-checks_1290.jpg"
|
||||
alt="Health Checks"
|
||||
/>
|
||||
</picture>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section className="large-padding bg-dark">
|
||||
<div className="g-grid-container">
|
||||
<div class="intro">
|
||||
<h2 class="g-type-display-2">Use Cases</h2>
|
||||
</div>
|
||||
<CaseStudySlider
|
||||
dark
|
||||
data={{
|
||||
brand: 'consul',
|
||||
caseStudies: [
|
||||
{
|
||||
company: {
|
||||
monochromeLogo: {
|
||||
url:
|
||||
'https://www.datocms-assets.com/2885/1586530899-twitchextrudedwordmarkblackops.png',
|
||||
alt: 'Logo dark',
|
||||
format: 'png',
|
||||
},
|
||||
whiteLogo: {
|
||||
url:
|
||||
'https://www.datocms-assets.com/2885/1586530633-twitch-wordmark-white.svg',
|
||||
alt: 'Logo white',
|
||||
format: 'png',
|
||||
},
|
||||
},
|
||||
headline:
|
||||
'Twitch - Driving Towards a Modern Infrastructure',
|
||||
description:
|
||||
'In this talk from HashiConf 2015, Tarrant Rollins discusses how Twitch uses HashiCorp Consul to overcome legacy infrastructure and solve complex problems.',
|
||||
caseStudyLink:
|
||||
'https://www.hashicorp.com/resources/twitch-driving-towards-a-modern-infrastructure',
|
||||
caseStudyResource: {
|
||||
image: {
|
||||
url:
|
||||
'/img/consul-connect/case-studies/case-study_01.jpg',
|
||||
alt: 'Twitch - Modern Infrastructure',
|
||||
format: 'jpg',
|
||||
},
|
||||
},
|
||||
buttonLabel: 'Watch Video',
|
||||
},
|
||||
{
|
||||
company: {
|
||||
monochromeLogo: {
|
||||
url:
|
||||
'https://www.datocms-assets.com/2885/1522341143-jet-black.svg',
|
||||
alt: 'Logo dark',
|
||||
format: 'svg',
|
||||
},
|
||||
whiteLogo: {
|
||||
url:
|
||||
'https://www.datocms-assets.com/2885/1522341147-jet-white.svg',
|
||||
alt: 'Logo white',
|
||||
format: 'svg',
|
||||
},
|
||||
},
|
||||
headline:
|
||||
'Jet.com - Nomad Auto-Proxy with Consul-Template and NGINX',
|
||||
description:
|
||||
'Justen Walker explains how Jet.com uses HashiCorp Consul and Nomad to allow hundreds of developers to have self-service access, despite relying on NGINX static configs—and with a remarkably small DevOps team.',
|
||||
caseStudyLink:
|
||||
'https://www.hashicorp.com/resources/jet-com-nomad-auto-proxy-consul-template-nginx',
|
||||
caseStudyResource: {
|
||||
image: {
|
||||
url:
|
||||
'/img/consul-connect/case-studies/case-study_02.jpg',
|
||||
alt: 'Jet - Nomad Auto-Proxy',
|
||||
format: 'jpg',
|
||||
},
|
||||
},
|
||||
buttonLabel: 'Watch Video',
|
||||
},
|
||||
],
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section g-cta-section large-padding">
|
||||
<div>
|
||||
<h2 class="g-type-display-2">Ready to get started?</h2>
|
||||
<a href="/downloads.html" class="button download white">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="20"
|
||||
height="22"
|
||||
viewBox="0 0 20 22"
|
||||
>
|
||||
<path d="M9.292 15.706a1 1 0 0 0 1.416 0l3.999-3.999a1 1 0 1 0-1.414-1.414L11 12.586V1a1 1 0 1 0-2 0v11.586l-2.293-2.293a1 1 0 1 0-1.414 1.414l3.999 3.999zM20 16v3c0 1.654-1.346 3-3 3H3c-1.654 0-3-1.346-3-3v-3a1 1 0 1 1 2 0v3c0 .551.448 1 1 1h14c.552 0 1-.449 1-1v-3a1 1 0 1 1 2 0z" />
|
||||
</svg>
|
||||
Download
|
||||
</a>
|
||||
<a
|
||||
href="https://learn.hashicorp.com/consul/getting-started/services"
|
||||
class="button secondary white"
|
||||
>
|
||||
Explore docs
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
.intro {
|
||||
text-align: center;
|
||||
margin-bottom: 64px;
|
||||
}
|
||||
|
||||
.g-section.border-top {
|
||||
border-top: 1px solid #e5e6eb;
|
||||
}
|
||||
|
||||
.g-cta-section.g-section {
|
||||
align-items: center;
|
||||
background: var(--consul);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
background: url('/img/consul-connect/mesh.svg') top center;
|
||||
background-size: cover;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
opacity: 0.2;
|
||||
transform: scale(1.3, 1.3);
|
||||
}
|
||||
|
||||
& > div {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
& h2 {
|
||||
color: var(--white);
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
& .button + .button {
|
||||
margin-left: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
.bg-dark {
|
||||
background: #252937 !important;
|
||||
color: #fff;
|
||||
}
|
|
@ -1,435 +0,0 @@
|
|||
import CallToAction from '@hashicorp/react-call-to-action'
|
||||
import CodeBlock from '@hashicorp/react-code-block'
|
||||
|
||||
export default function ServiceMesh() {
|
||||
return (
|
||||
<>
|
||||
<div className="consul-connect">
|
||||
<CallToAction
|
||||
heading="Service Mesh made easy"
|
||||
content="Service discovery, identity-based authorization, and L7 traffic management abstracted from application code with proxies in the service mesh pattern"
|
||||
brand="consul"
|
||||
links={[
|
||||
{ text: 'Download', url: '/downloads' },
|
||||
{
|
||||
text: 'Explore Docs',
|
||||
url:
|
||||
'https://learn.hashicorp.com/consul/getting-started/services',
|
||||
},
|
||||
]}
|
||||
/>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="intro">
|
||||
<h2 class="g-type-display-2">Features</h2>
|
||||
</div>
|
||||
<div class="g-text-asset reverse">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">Layer 7 Traffic Management</h3>
|
||||
<p class="g-type-body">
|
||||
Service-to-service communication policy at Layer 7 can be
|
||||
managed centrally, enabling advanced traffic management
|
||||
patterns such as service failover, path-based routing, and
|
||||
traffic shifting that can be applied across public and
|
||||
private clouds, platforms, and networks.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="/docs/connect/l7-traffic-management.html"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="code-sample">
|
||||
<div>
|
||||
<span></span>
|
||||
<CodeBlock
|
||||
prefix="terminal"
|
||||
code={`
|
||||
Kind = "service-splitter"
|
||||
Name = "billing-api"
|
||||
|
||||
Splits = [
|
||||
{
|
||||
Weight = 10
|
||||
ServiceSubset = "v2"
|
||||
},
|
||||
{
|
||||
Weight = 90
|
||||
ServiceSubset = "v1"
|
||||
},
|
||||
]
|
||||
`}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="g-text-asset large">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">Layer 7 Observability</h3>
|
||||
<p class="g-type-body">
|
||||
Centrally managed service observability at Layer 7 including
|
||||
detailed metrics on all service-to-service communication
|
||||
such as connections, bytes transferred, retries, timeouts,
|
||||
open circuits, and request rates, response codes.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="/docs/connect/observability.html"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<picture>
|
||||
<source
|
||||
type="image/png"
|
||||
srcSet="/img/consul-connect/mesh-observability/metrics_300.png 300w, /img/consul-connect/mesh-observability/metrics_976.png 976w, /img/consul-connect/mesh-observability/metrics_1200.png 1200w"
|
||||
/>
|
||||
<img
|
||||
src="/img/consul-connect/mesh-observability/metrics_1200.png"
|
||||
alt="Metrics dashboard"
|
||||
/>
|
||||
</picture>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="g-text-asset reverse">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">
|
||||
Secure services across any runtime platform
|
||||
</h3>
|
||||
<p class="g-type-body">
|
||||
Secure communication between legacy and modern workloads.
|
||||
Sidecar proxies allow applications to be integrated without
|
||||
code changes and Layer 4 support provides nearly universal
|
||||
protocol compatibility.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="/docs/connect/proxies.html"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<picture>
|
||||
<source
|
||||
type="image/webp"
|
||||
srcSet="
|
||||
/img/consul-connect/grid_3/grid_3_300.webp 300w,
|
||||
/img/consul-connect/grid_3/grid_3_976.webp 976w,
|
||||
/img/consul-connect/grid_3/grid_3_1256.webp 1256w"
|
||||
/>
|
||||
<source
|
||||
type="image/png"
|
||||
srcSet="
|
||||
/img/consul-connect/grid_3/grid_3_300.png 300w,
|
||||
/img/consul-connect/grid_3/grid_3_976.png 976w,
|
||||
/img/consul-connect/grid_3/grid_3_1256.png 1256w"
|
||||
/>
|
||||
<img
|
||||
src="/img/consul-connect/grid_3/grid_3_1256.png"
|
||||
alt="Secure services across any runtime platform"
|
||||
/>
|
||||
</picture>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="g-text-asset">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">
|
||||
Certificate-Based Service Identity
|
||||
</h3>
|
||||
<p class="g-type-body">
|
||||
TLS certificates are used to identify services and secure
|
||||
communications. Certificates use the SPIFFE format for
|
||||
interoperability with other platforms. Consul can be a
|
||||
certificate authority to simplify deployment, or integrate
|
||||
with external signing authorities like Vault.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="/docs/connect/ca.html"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="logos">
|
||||
<div>
|
||||
<img src="/img/consul-connect/logos/vault.png" alt="Vault" />
|
||||
<img
|
||||
src="/img/consul-connect/logos/spiffe.png"
|
||||
alt="Spiffe"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="g-text-asset reverse">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">Encrypted communication</h3>
|
||||
<p class="g-type-body">
|
||||
All traffic between services is encrypted and authenticated
|
||||
with mutual TLS. Using TLS provides a strong guarantee of
|
||||
the identity of services communicating, and ensures all data
|
||||
in transit is encrypted.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="/docs/connect/security.html"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="code-sample">
|
||||
<div>
|
||||
<span></span>
|
||||
<CodeBlock
|
||||
prefix="terminal"
|
||||
code={`
|
||||
$ consul connect proxy -service web \\
|
||||
-service-addr 127.0.0.1:8000
|
||||
-listen 10.0.1.109:7200
|
||||
==> Consul Connect proxy starting...
|
||||
Configuration mode: Flags
|
||||
Service: web
|
||||
Public listener: 10.0.1.109:7200 => 127.0.0.1:8000
|
||||
...
|
||||
$ tshark -V \\
|
||||
-Y "ssl.handshake.certificate" \\
|
||||
-O "ssl" \\
|
||||
-f "dst port 7200"
|
||||
Frame 39: 899 bytes on wire (7192 bits), 899 bytes captured (7192 bits) on interface 0
|
||||
Internet Protocol Version 4, Src: 10.0.1.110, Dst: 10.0.1.109
|
||||
Transmission Control Protocol, Src Port: 61918, Dst Port: 7200, Seq: 136, Ack: 916, Len: 843
|
||||
Secure Sockets Layer
|
||||
TLSv1.2 Record Layer: Handshake Protocol: Certificate
|
||||
Version: TLS 1.2 (0x0303)
|
||||
Handshake Protocol: Certificate
|
||||
RDNSequence item: 1 item (id-at-commonName=Consul CA 7)
|
||||
RelativeDistinguishedName item (id-at-commonName=Consul CA 7)
|
||||
Id: 2.5.4.3 (id-at-commonName)
|
||||
DirectoryString: printableString (1)
|
||||
printableString: Consul CA 7
|
||||
`}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section border-top large-padding">
|
||||
<div class="g-container">
|
||||
<div class="g-text-asset">
|
||||
<div>
|
||||
<div>
|
||||
<h3 class="g-type-display-3">Mesh Gateway</h3>
|
||||
<p class="g-type-body">
|
||||
Connect between different cloud regions, VPCs and between
|
||||
overlay and underlay networks without complex network
|
||||
tunnels and NAT. Mesh Gateways solve routing at TLS layer
|
||||
while preserving end-to-end encryption and limiting attack
|
||||
surface area at the edge of each network.
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="learn-more g-type-buttons-and-standalone-links"
|
||||
href="/docs/connect/mesh_gateway.html"
|
||||
>
|
||||
Learn more
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="6"
|
||||
height="10"
|
||||
viewBox="0 0 6 10"
|
||||
>
|
||||
<g
|
||||
fill="none"
|
||||
fillRule="evenodd"
|
||||
transform="translate(-6 -3)"
|
||||
>
|
||||
<mask id="a" fill="#fff">
|
||||
<path d="M7.138 3.529a.666.666 0 1 0-.942.942l3.528 3.53-3.529 3.528a.666.666 0 1 0 .943.943l4-4a.666.666 0 0 0 0-.943l-4-4z" />
|
||||
</mask>
|
||||
<g fill="#1563FF" mask="url(#a)">
|
||||
<path d="M0 0h16v16H0z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<picture>
|
||||
<img
|
||||
src="/img/consul-connect/mesh-gateway/gateway_1200.png"
|
||||
alt="Mesh gateway diagram"
|
||||
/>
|
||||
</picture>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="g-section g-cta-section large-padding">
|
||||
<div>
|
||||
<h2 class="g-type-display-2">Ready to get started?</h2>
|
||||
<a href="/downloads.html" class="button download white">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="20"
|
||||
height="22"
|
||||
viewBox="0 0 20 22"
|
||||
>
|
||||
<path d="M9.292 15.706a1 1 0 0 0 1.416 0l3.999-3.999a1 1 0 1 0-1.414-1.414L11 12.586V1a1 1 0 1 0-2 0v11.586l-2.293-2.293a1 1 0 1 0-1.414 1.414l3.999 3.999zM20 16v3c0 1.654-1.346 3-3 3H3c-1.654 0-3-1.346-3-3v-3a1 1 0 1 1 2 0v3c0 .551.448 1 1 1h14c.552 0 1-.449 1-1v-3a1 1 0 1 1 2 0z" />
|
||||
</svg>
|
||||
Download
|
||||
</a>
|
||||
<a
|
||||
href="https://learn.hashicorp.com/consul/getting-started/services"
|
||||
class="button secondary white"
|
||||
>
|
||||
Explore docs
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
|
@ -56,7 +56,6 @@
|
|||
@import './downloads/style.css';
|
||||
@import './community/style.css';
|
||||
@import './home/style.css';
|
||||
@import './discovery/style.css';
|
||||
|
||||
/* Print Styles */
|
||||
@import './print.css';
|
||||
|
|
Loading…
Reference in New Issue