Last active
July 30, 2019 20:24
-
-
Save marthydavid/d72dd3e4ea246d31bc48c9b51f545c1a to your computer and use it in GitHub Desktop.
docker on Pi4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
creationTimestamp: null | |
labels: | |
controller-tools.k8s.io: "1.0" | |
name: certificates.certmanager.k8s.io | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .status.conditions[?(@.type=="Ready")].status | |
name: Ready | |
type: string | |
- JSONPath: .spec.secretName | |
name: Secret | |
type: string | |
- JSONPath: .spec.issuerRef.name | |
name: Issuer | |
priority: 1 | |
type: string | |
- JSONPath: .status.conditions[?(@.type=="Ready")].message | |
name: Status | |
priority: 1 | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: CreationTimestamp is a timestamp representing the server time when | |
this object was created. It is not guaranteed to be set in happens-before order | |
across separate operations. Clients may not set this value. It is represented | |
in RFC3339 form and is in UTC. | |
name: Age | |
type: date | |
group: certmanager.k8s.io | |
names: | |
kind: Certificate | |
plural: certificates | |
shortNames: | |
- cert | |
- certs | |
scope: Namespaced | |
validation: | |
openAPIV3Schema: | |
properties: | |
apiVersion: | |
description: 'APIVersion defines the versioned schema of this representation | |
of an object. Servers should convert recognized schemas to the latest | |
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' | |
type: string | |
kind: | |
description: 'Kind is a string value representing the REST resource this | |
object represents. Servers may infer this from the endpoint the client | |
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' | |
type: string | |
metadata: | |
type: object | |
spec: | |
properties: | |
acme: | |
description: ACME contains configuration specific to ACME Certificates. | |
Notably, this contains details on how the domain names listed on this | |
Certificate resource should be 'solved', i.e. mapping HTTP01 and DNS01 | |
providers to DNS names. | |
properties: | |
config: | |
items: | |
properties: | |
domains: | |
description: Domains is the list of domains that this SolverConfig | |
applies to. | |
items: | |
type: string | |
type: array | |
required: | |
- domains | |
type: object | |
type: array | |
required: | |
- config | |
type: object | |
commonName: | |
description: CommonName is a common name to be used on the Certificate | |
type: string | |
dnsNames: | |
description: DNSNames is a list of subject alt names to be used on the | |
Certificate | |
items: | |
type: string | |
type: array | |
duration: | |
description: Certificate default Duration | |
type: string | |
ipAddresses: | |
description: IPAddresses is a list of IP addresses to be used on the | |
Certificate | |
items: | |
type: string | |
type: array | |
isCA: | |
description: IsCA will mark this Certificate as valid for signing. This | |
implies that the 'signing' usage is set | |
type: boolean | |
issuerRef: | |
description: IssuerRef is a reference to the issuer for this certificate. | |
If the 'kind' field is not set, or set to 'Issuer', an Issuer resource | |
with the given name in the same namespace as the Certificate will | |
be used. If the 'kind' field is set to 'ClusterIssuer', a ClusterIssuer | |
with the provided name will be used. The 'name' field in this stanza | |
is required at all times. | |
properties: | |
kind: | |
type: string | |
name: | |
type: string | |
required: | |
- name | |
type: object | |
keyAlgorithm: | |
description: KeyAlgorithm is the private key algorithm of the corresponding | |
private key for this certificate. If provided, allowed values are | |
either "rsa" or "ecdsa" If KeyAlgorithm is specified and KeySize is | |
not provided, key size of 256 will be used for "ecdsa" key algorithm | |
and key size of 2048 will be used for "rsa" key algorithm. | |
enum: | |
- rsa | |
- ecdsa | |
type: string | |
keySize: | |
description: KeySize is the key bit size of the corresponding private | |
key for this certificate. If provided, value must be between 2048 | |
and 8192 inclusive when KeyAlgorithm is empty or is set to "rsa", | |
and value must be one of (256, 384, 521) when KeyAlgorithm is set | |
to "ecdsa". | |
format: int64 | |
type: integer | |
organization: | |
description: Organization is the organization to be used on the Certificate | |
items: | |
type: string | |
type: array | |
renewBefore: | |
description: Certificate renew before expiration duration | |
type: string | |
secretName: | |
description: SecretName is the name of the secret resource to store | |
this secret in | |
type: string | |
required: | |
- secretName | |
- issuerRef | |
type: object | |
status: | |
properties: | |
conditions: | |
items: | |
properties: | |
lastTransitionTime: | |
description: LastTransitionTime is the timestamp corresponding | |
to the last status change of this condition. | |
format: date-time | |
type: string | |
message: | |
description: Message is a human readable description of the details | |
of the last transition, complementing reason. | |
type: string | |
reason: | |
description: Reason is a brief machine readable explanation for | |
the condition's last transition. | |
type: string | |
status: | |
description: Status of the condition, one of ('True', 'False', | |
'Unknown'). | |
enum: | |
- "True" | |
- "False" | |
- Unknown | |
type: string | |
type: | |
description: Type of the condition, currently ('Ready'). | |
type: string | |
required: | |
- type | |
- status | |
type: object | |
type: array | |
lastFailureTime: | |
format: date-time | |
type: string | |
notAfter: | |
description: The expiration time of the certificate stored in the secret | |
named by this resource in spec.secretName. | |
format: date-time | |
type: string | |
type: object | |
version: v1alpha1 | |
status: | |
acceptedNames: | |
kind: "" | |
plural: "" | |
conditions: [] | |
storedVersions: [] | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
creationTimestamp: null | |
labels: | |
controller-tools.k8s.io: "1.0" | |
name: challenges.certmanager.k8s.io | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .status.state | |
name: State | |
type: string | |
- JSONPath: .spec.dnsName | |
name: Domain | |
type: string | |
- JSONPath: .status.reason | |
name: Reason | |
priority: 1 | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: CreationTimestamp is a timestamp representing the server time when | |
this object was created. It is not guaranteed to be set in happens-before order | |
across separate operations. Clients may not set this value. It is represented | |
in RFC3339 form and is in UTC. | |
name: Age | |
type: date | |
group: certmanager.k8s.io | |
names: | |
kind: Challenge | |
plural: challenges | |
scope: Namespaced | |
validation: | |
openAPIV3Schema: | |
properties: | |
apiVersion: | |
description: 'APIVersion defines the versioned schema of this representation | |
of an object. Servers should convert recognized schemas to the latest | |
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' | |
type: string | |
kind: | |
description: 'Kind is a string value representing the REST resource this | |
object represents. Servers may infer this from the endpoint the client | |
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' | |
type: string | |
metadata: | |
type: object | |
spec: | |
properties: | |
authzURL: | |
description: AuthzURL is the URL to the ACME Authorization resource | |
that this challenge is a part of. | |
type: string | |
config: | |
description: 'Config specifies the solver configuration for this challenge. | |
Only **one** of ''config'' or ''solver'' may be specified, and if | |
both are specified then no action will be performed on the Challenge | |
resource. DEPRECATED: the ''solver'' field should be specified instead' | |
type: object | |
dnsName: | |
description: DNSName is the identifier that this challenge is for, e.g. | |
example.com. | |
type: string | |
issuerRef: | |
description: IssuerRef references a properly configured ACME-type Issuer | |
which should be used to create this Challenge. If the Issuer does | |
not exist, processing will be retried. If the Issuer is not an 'ACME' | |
Issuer, an error will be returned and the Challenge will be marked | |
as failed. | |
properties: | |
kind: | |
type: string | |
name: | |
type: string | |
required: | |
- name | |
type: object | |
key: | |
description: Key is the ACME challenge key for this challenge | |
type: string | |
solver: | |
description: Solver contains the domain solving configuration that should | |
be used to solve this challenge resource. Only **one** of 'config' | |
or 'solver' may be specified, and if both are specified then no action | |
will be performed on the Challenge resource. | |
properties: | |
selector: | |
description: Selector selects a set of DNSNames on the Certificate | |
resource that should be solved using this challenge solver. | |
properties: | |
dnsNames: | |
description: List of DNSNames that can be used to further refine | |
the domains that this solver applies to. | |
items: | |
type: string | |
type: array | |
matchLabels: | |
description: 'A label selector that is used to refine the set | |
of certificate''s that this challenge solver will apply to. | |
TODO: use kubernetes standard types for matchLabels' | |
type: object | |
type: object | |
type: object | |
token: | |
description: Token is the ACME challenge token for this challenge. | |
type: string | |
type: | |
description: Type is the type of ACME challenge this resource represents, | |
e.g. "dns01" or "http01" | |
type: string | |
url: | |
description: URL is the URL of the ACME Challenge resource for this | |
challenge. This can be used to lookup details about the status of | |
this challenge. | |
type: string | |
wildcard: | |
description: Wildcard will be true if this challenge is for a wildcard | |
identifier, for example '*.example.com' | |
type: boolean | |
required: | |
- authzURL | |
- type | |
- url | |
- dnsName | |
- token | |
- key | |
- wildcard | |
- issuerRef | |
type: object | |
status: | |
properties: | |
presented: | |
description: Presented will be set to true if the challenge values for | |
this challenge are currently 'presented'. This *does not* imply the | |
self check is passing. Only that the values have been 'submitted' | |
for the appropriate challenge mechanism (i.e. the DNS01 TXT record | |
has been presented, or the HTTP01 configuration has been configured). | |
type: boolean | |
processing: | |
description: Processing is used to denote whether this challenge should | |
be processed or not. This field will only be set to true by the 'scheduling' | |
component. It will only be set to false by the 'challenges' controller, | |
after the challenge has reached a final state or timed out. If this | |
field is set to false, the challenge controller will not take any | |
more action. | |
type: boolean | |
reason: | |
description: Reason contains human readable information on why the Challenge | |
is in the current state. | |
type: string | |
state: | |
description: State contains the current 'state' of the challenge. If | |
not set, the state of the challenge is unknown. | |
enum: | |
- "" | |
- valid | |
- ready | |
- pending | |
- processing | |
- invalid | |
- expired | |
- errored | |
type: string | |
required: | |
- processing | |
- presented | |
- reason | |
type: object | |
required: | |
- metadata | |
- spec | |
- status | |
version: v1alpha1 | |
status: | |
acceptedNames: | |
kind: "" | |
plural: "" | |
conditions: [] | |
storedVersions: [] | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
creationTimestamp: null | |
labels: | |
controller-tools.k8s.io: "1.0" | |
name: clusterissuers.certmanager.k8s.io | |
spec: | |
group: certmanager.k8s.io | |
names: | |
kind: ClusterIssuer | |
plural: clusterissuers | |
scope: Cluster | |
validation: | |
openAPIV3Schema: | |
properties: | |
apiVersion: | |
description: 'APIVersion defines the versioned schema of this representation | |
of an object. Servers should convert recognized schemas to the latest | |
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' | |
type: string | |
kind: | |
description: 'Kind is a string value representing the REST resource this | |
object represents. Servers may infer this from the endpoint the client | |
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' | |
type: string | |
metadata: | |
type: object | |
spec: | |
properties: | |
acme: | |
properties: | |
email: | |
description: Email is the email for this account | |
type: string | |
privateKeySecretRef: | |
description: PrivateKey is the name of a secret containing the private | |
key for this user account. | |
properties: | |
key: | |
description: The key of the secret to select from. Must be a | |
valid secret key. | |
type: string | |
name: | |
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | |
TODO: Add other useful fields. apiVersion, kind, uid?' | |
type: string | |
required: | |
- name | |
type: object | |
server: | |
description: Server is the ACME server URL | |
type: string | |
skipTLSVerify: | |
description: If true, skip verifying the ACME server TLS certificate | |
type: boolean | |
solvers: | |
description: Solvers is a list of challenge solvers that will be | |
used to solve ACME challenges for the matching domains. | |
items: | |
properties: | |
selector: | |
description: Selector selects a set of DNSNames on the Certificate | |
resource that should be solved using this challenge solver. | |
properties: | |
dnsNames: | |
description: List of DNSNames that can be used to further | |
refine the domains that this solver applies to. | |
items: | |
type: string | |
type: array | |
matchLabels: | |
description: 'A label selector that is used to refine | |
the set of certificate''s that this challenge solver | |
will apply to. TODO: use kubernetes standard types for | |
matchLabels' | |
type: object | |
type: object | |
type: object | |
type: array | |
required: | |
- server | |
- privateKeySecretRef | |
type: object | |
ca: | |
properties: | |
secretName: | |
description: SecretName is the name of the secret used to sign Certificates | |
issued by this Issuer. | |
type: string | |
required: | |
- secretName | |
type: object | |
selfSigned: | |
type: object | |
vault: | |
properties: | |
auth: | |
description: Vault authentication | |
properties: | |
appRole: | |
description: This Secret contains a AppRole and Secret | |
properties: | |
path: | |
description: Where the authentication path is mounted in | |
Vault. | |
type: string | |
roleId: | |
type: string | |
secretRef: | |
properties: | |
key: | |
description: The key of the secret to select from. Must | |
be a valid secret key. | |
type: string | |
name: | |
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | |
TODO: Add other useful fields. apiVersion, kind, uid?' | |
type: string | |
required: | |
- name | |
type: object | |
required: | |
- path | |
- roleId | |
- secretRef | |
type: object | |
tokenSecretRef: | |
description: This Secret contains the Vault token key | |
properties: | |
key: | |
description: The key of the secret to select from. Must | |
be a valid secret key. | |
type: string | |
name: | |
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | |
TODO: Add other useful fields. apiVersion, kind, uid?' | |
type: string | |
required: | |
- name | |
type: object | |
type: object | |
caBundle: | |
description: Base64 encoded CA bundle to validate Vault server certificate. | |
Only used if the Server URL is using HTTPS protocol. This parameter | |
is ignored for plain HTTP protocol connection. If not set the | |
system root certificates are used to validate the TLS connection. | |
format: byte | |
type: string | |
path: | |
description: Vault URL path to the certificate role | |
type: string | |
server: | |
description: Server is the vault connection address | |
type: string | |
required: | |
- auth | |
- server | |
- path | |
type: object | |
venafi: | |
properties: | |
cloud: | |
description: Cloud specifies the Venafi cloud configuration settings. | |
Only one of TPP or Cloud may be specified. | |
properties: | |
apiTokenSecretRef: | |
description: APITokenSecretRef is a secret key selector for | |
the Venafi Cloud API token. | |
properties: | |
key: | |
description: The key of the secret to select from. Must | |
be a valid secret key. | |
type: string | |
name: | |
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | |
TODO: Add other useful fields. apiVersion, kind, uid?' | |
type: string | |
required: | |
- name | |
type: object | |
url: | |
description: URL is the base URL for Venafi Cloud | |
type: string | |
required: | |
- url | |
- apiTokenSecretRef | |
type: object | |
tpp: | |
description: TPP specifies Trust Protection Platform configuration | |
settings. Only one of TPP or Cloud may be specified. | |
properties: | |
caBundle: | |
description: CABundle is a PEM encoded TLS certifiate to use | |
to verify connections to the TPP instance. If specified, system | |
roots will not be used and the issuing CA for the TPP instance | |
must be verifiable using the provided root. If not specified, | |
the connection will be verified using the cert-manager system | |
root certificates. | |
format: byte | |
type: string | |
credentialsRef: | |
description: CredentialsRef is a reference to a Secret containing | |
the username and password for the TPP server. The secret must | |
contain two keys, 'username' and 'password'. | |
properties: | |
name: | |
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | |
TODO: Add other useful fields. apiVersion, kind, uid?' | |
type: string | |
required: | |
- name | |
type: object | |
url: | |
description: URL is the base URL for the Venafi TPP instance | |
type: string | |
required: | |
- url | |
- credentialsRef | |
type: object | |
zone: | |
description: Zone is the Venafi Policy Zone to use for this issuer. | |
All requests made to the Venafi platform will be restricted by | |
the named zone policy. This field is required. | |
type: string | |
required: | |
- zone | |
type: object | |
type: object | |
status: | |
properties: | |
acme: | |
properties: | |
uri: | |
description: URI is the unique account identifier, which can also | |
be used to retrieve account details from the CA | |
type: string | |
type: object | |
conditions: | |
items: | |
properties: | |
lastTransitionTime: | |
description: LastTransitionTime is the timestamp corresponding | |
to the last status change of this condition. | |
format: date-time | |
type: string | |
message: | |
description: Message is a human readable description of the details | |
of the last transition, complementing reason. | |
type: string | |
reason: | |
description: Reason is a brief machine readable explanation for | |
the condition's last transition. | |
type: string | |
status: | |
description: Status of the condition, one of ('True', 'False', | |
'Unknown'). | |
enum: | |
- "True" | |
- "False" | |
- Unknown | |
type: string | |
type: | |
description: Type of the condition, currently ('Ready'). | |
type: string | |
required: | |
- type | |
- status | |
type: object | |
type: array | |
type: object | |
version: v1alpha1 | |
status: | |
acceptedNames: | |
kind: "" | |
plural: "" | |
conditions: [] | |
storedVersions: [] | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
creationTimestamp: null | |
labels: | |
controller-tools.k8s.io: "1.0" | |
name: issuers.certmanager.k8s.io | |
spec: | |
group: certmanager.k8s.io | |
names: | |
kind: Issuer | |
plural: issuers | |
scope: Namespaced | |
validation: | |
openAPIV3Schema: | |
properties: | |
apiVersion: | |
description: 'APIVersion defines the versioned schema of this representation | |
of an object. Servers should convert recognized schemas to the latest | |
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' | |
type: string | |
kind: | |
description: 'Kind is a string value representing the REST resource this | |
object represents. Servers may infer this from the endpoint the client | |
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' | |
type: string | |
metadata: | |
type: object | |
spec: | |
properties: | |
acme: | |
properties: | |
email: | |
description: Email is the email for this account | |
type: string | |
privateKeySecretRef: | |
description: PrivateKey is the name of a secret containing the private | |
key for this user account. | |
properties: | |
key: | |
description: The key of the secret to select from. Must be a | |
valid secret key. | |
type: string | |
name: | |
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | |
TODO: Add other useful fields. apiVersion, kind, uid?' | |
type: string | |
required: | |
- name | |
type: object | |
server: | |
description: Server is the ACME server URL | |
type: string | |
skipTLSVerify: | |
description: If true, skip verifying the ACME server TLS certificate | |
type: boolean | |
solvers: | |
description: Solvers is a list of challenge solvers that will be | |
used to solve ACME challenges for the matching domains. | |
items: | |
properties: | |
selector: | |
description: Selector selects a set of DNSNames on the Certificate | |
resource that should be solved using this challenge solver. | |
properties: | |
dnsNames: | |
description: List of DNSNames that can be used to further | |
refine the domains that this solver applies to. | |
items: | |
type: string | |
type: array | |
matchLabels: | |
description: 'A label selector that is used to refine | |
the set of certificate''s that this challenge solver | |
will apply to. TODO: use kubernetes standard types for | |
matchLabels' | |
type: object | |
type: object | |
type: object | |
type: array | |
required: | |
- server | |
- privateKeySecretRef | |
type: object | |
ca: | |
properties: | |
secretName: | |
description: SecretName is the name of the secret used to sign Certificates | |
issued by this Issuer. | |
type: string | |
required: | |
- secretName | |
type: object | |
selfSigned: | |
type: object | |
vault: | |
properties: | |
auth: | |
description: Vault authentication | |
properties: | |
appRole: | |
description: This Secret contains a AppRole and Secret | |
properties: | |
path: | |
description: Where the authentication path is mounted in | |
Vault. | |
type: string | |
roleId: | |
type: string | |
secretRef: | |
properties: | |
key: | |
description: The key of the secret to select from. Must | |
be a valid secret key. | |
type: string | |
name: | |
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | |
TODO: Add other useful fields. apiVersion, kind, uid?' | |
type: string | |
required: | |
- name | |
type: object | |
required: | |
- path | |
- roleId | |
- secretRef | |
type: object | |
tokenSecretRef: | |
description: This Secret contains the Vault token key | |
properties: | |
key: | |
description: The key of the secret to select from. Must | |
be a valid secret key. | |
type: string | |
name: | |
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | |
TODO: Add other useful fields. apiVersion, kind, uid?' | |
type: string | |
required: | |
- name | |
type: object | |
type: object | |
caBundle: | |
description: Base64 encoded CA bundle to validate Vault server certificate. | |
Only used if the Server URL is using HTTPS protocol. This parameter | |
is ignored for plain HTTP protocol connection. If not set the | |
system root certificates are used to validate the TLS connection. | |
format: byte | |
type: string | |
path: | |
description: Vault URL path to the certificate role | |
type: string | |
server: | |
description: Server is the vault connection address | |
type: string | |
required: | |
- auth | |
- server | |
- path | |
type: object | |
venafi: | |
properties: | |
cloud: | |
description: Cloud specifies the Venafi cloud configuration settings. | |
Only one of TPP or Cloud may be specified. | |
properties: | |
apiTokenSecretRef: | |
description: APITokenSecretRef is a secret key selector for | |
the Venafi Cloud API token. | |
properties: | |
key: | |
description: The key of the secret to select from. Must | |
be a valid secret key. | |
type: string | |
name: | |
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | |
TODO: Add other useful fields. apiVersion, kind, uid?' | |
type: string | |
required: | |
- name | |
type: object | |
url: | |
description: URL is the base URL for Venafi Cloud | |
type: string | |
required: | |
- url | |
- apiTokenSecretRef | |
type: object | |
tpp: | |
description: TPP specifies Trust Protection Platform configuration | |
settings. Only one of TPP or Cloud may be specified. | |
properties: | |
caBundle: | |
description: CABundle is a PEM encoded TLS certifiate to use | |
to verify connections to the TPP instance. If specified, system | |
roots will not be used and the issuing CA for the TPP instance | |
must be verifiable using the provided root. If not specified, | |
the connection will be verified using the cert-manager system | |
root certificates. | |
format: byte | |
type: string | |
credentialsRef: | |
description: CredentialsRef is a reference to a Secret containing | |
the username and password for the TPP server. The secret must | |
contain two keys, 'username' and 'password'. | |
properties: | |
name: | |
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | |
TODO: Add other useful fields. apiVersion, kind, uid?' | |
type: string | |
required: | |
- name | |
type: object | |
url: | |
description: URL is the base URL for the Venafi TPP instance | |
type: string | |
required: | |
- url | |
- credentialsRef | |
type: object | |
zone: | |
description: Zone is the Venafi Policy Zone to use for this issuer. | |
All requests made to the Venafi platform will be restricted by | |
the named zone policy. This field is required. | |
type: string | |
required: | |
- zone | |
type: object | |
type: object | |
status: | |
properties: | |
acme: | |
properties: | |
uri: | |
description: URI is the unique account identifier, which can also | |
be used to retrieve account details from the CA | |
type: string | |
type: object | |
conditions: | |
items: | |
properties: | |
lastTransitionTime: | |
description: LastTransitionTime is the timestamp corresponding | |
to the last status change of this condition. | |
format: date-time | |
type: string | |
message: | |
description: Message is a human readable description of the details | |
of the last transition, complementing reason. | |
type: string | |
reason: | |
description: Reason is a brief machine readable explanation for | |
the condition's last transition. | |
type: string | |
status: | |
description: Status of the condition, one of ('True', 'False', | |
'Unknown'). | |
enum: | |
- "True" | |
- "False" | |
- Unknown | |
type: string | |
type: | |
description: Type of the condition, currently ('Ready'). | |
type: string | |
required: | |
- type | |
- status | |
type: object | |
type: array | |
type: object | |
version: v1alpha1 | |
status: | |
acceptedNames: | |
kind: "" | |
plural: "" | |
conditions: [] | |
storedVersions: [] | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
creationTimestamp: null | |
labels: | |
controller-tools.k8s.io: "1.0" | |
name: orders.certmanager.k8s.io | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .status.state | |
name: State | |
type: string | |
- JSONPath: .spec.issuerRef.name | |
name: Issuer | |
priority: 1 | |
type: string | |
- JSONPath: .status.reason | |
name: Reason | |
priority: 1 | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: CreationTimestamp is a timestamp representing the server time when | |
this object was created. It is not guaranteed to be set in happens-before order | |
across separate operations. Clients may not set this value. It is represented | |
in RFC3339 form and is in UTC. | |
name: Age | |
type: date | |
group: certmanager.k8s.io | |
names: | |
kind: Order | |
plural: orders | |
scope: Namespaced | |
validation: | |
openAPIV3Schema: | |
properties: | |
apiVersion: | |
description: 'APIVersion defines the versioned schema of this representation | |
of an object. Servers should convert recognized schemas to the latest | |
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' | |
type: string | |
kind: | |
description: 'Kind is a string value representing the REST resource this | |
object represents. Servers may infer this from the endpoint the client | |
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' | |
type: string | |
metadata: | |
type: object | |
spec: | |
properties: | |
commonName: | |
description: CommonName is the common name as specified on the DER encoded | |
CSR. If CommonName is not specified, the first DNSName specified will | |
be used as the CommonName. At least one of CommonName or a DNSNames | |
must be set. This field must match the corresponding field on the | |
DER encoded CSR. | |
type: string | |
config: | |
description: 'Config specifies a mapping from DNS identifiers to how | |
those identifiers should be solved when performing ACME challenges. | |
A config entry must exist for each domain listed in DNSNames and CommonName. | |
Only **one** of ''config'' or ''solvers'' may be specified, and if | |
both are specified then no action will be performed on the Order resource. This | |
field will be removed when support for solver config specified on | |
the Certificate under certificate.spec.acme has been removed. DEPRECATED: | |
this field will be removed in future. Solver configuration must instead | |
be provided on ACME Issuer resources.' | |
items: | |
properties: | |
domains: | |
description: Domains is the list of domains that this SolverConfig | |
applies to. | |
items: | |
type: string | |
type: array | |
required: | |
- domains | |
type: object | |
type: array | |
csr: | |
description: Certificate signing request bytes in DER encoding. This | |
will be used when finalizing the order. This field must be set on | |
the order. | |
format: byte | |
type: string | |
dnsNames: | |
description: DNSNames is a list of DNS names that should be included | |
as part of the Order validation process. If CommonName is not specified, | |
the first DNSName specified will be used as the CommonName. At least | |
one of CommonName or a DNSNames must be set. This field must match | |
the corresponding field on the DER encoded CSR. | |
items: | |
type: string | |
type: array | |
issuerRef: | |
description: IssuerRef references a properly configured ACME-type Issuer | |
which should be used to create this Order. If the Issuer does not | |
exist, processing will be retried. If the Issuer is not an 'ACME' | |
Issuer, an error will be returned and the Order will be marked as | |
failed. | |
properties: | |
kind: | |
type: string | |
name: | |
type: string | |
required: | |
- name | |
type: object | |
required: | |
- csr | |
- issuerRef | |
type: object | |
status: | |
properties: | |
certificate: | |
description: Certificate is a copy of the PEM encoded certificate for | |
this Order. This field will be populated after the order has been | |
successfully finalized with the ACME server, and the order has transitioned | |
to the 'valid' state. | |
format: byte | |
type: string | |
challenges: | |
description: Challenges is a list of ChallengeSpecs for Challenges that | |
must be created in order to complete this Order. | |
items: | |
properties: | |
authzURL: | |
description: AuthzURL is the URL to the ACME Authorization resource | |
that this challenge is a part of. | |
type: string | |
config: | |
description: 'Config specifies the solver configuration for this | |
challenge. Only **one** of ''config'' or ''solver'' may be specified, | |
and if both are specified then no action will be performed on | |
the Challenge resource. DEPRECATED: the ''solver'' field should | |
be specified instead' | |
type: object | |
dnsName: | |
description: DNSName is the identifier that this challenge is | |
for, e.g. example.com. | |
type: string | |
issuerRef: | |
description: IssuerRef references a properly configured ACME-type | |
Issuer which should be used to create this Challenge. If the | |
Issuer does not exist, processing will be retried. If the Issuer | |
is not an 'ACME' Issuer, an error will be returned and the Challenge | |
will be marked as failed. | |
properties: | |
kind: | |
type: string | |
name: | |
type: string | |
required: | |
- name | |
type: object | |
key: | |
description: Key is the ACME challenge key for this challenge | |
type: string | |
solver: | |
description: Solver contains the domain solving configuration | |
that should be used to solve this challenge resource. Only **one** | |
of 'config' or 'solver' may be specified, and if both are specified | |
then no action will be performed on the Challenge resource. | |
properties: | |
selector: | |
description: Selector selects a set of DNSNames on the Certificate | |
resource that should be solved using this challenge solver. | |
properties: | |
dnsNames: | |
description: List of DNSNames that can be used to further | |
refine the domains that this solver applies to. | |
items: | |
type: string | |
type: array | |
matchLabels: | |
description: 'A label selector that is used to refine | |
the set of certificate''s that this challenge solver | |
will apply to. TODO: use kubernetes standard types for | |
matchLabels' | |
type: object | |
type: object | |
type: object | |
token: | |
description: Token is the ACME challenge token for this challenge. | |
type: string | |
type: | |
description: Type is the type of ACME challenge this resource | |
represents, e.g. "dns01" or "http01" | |
type: string | |
url: | |
description: URL is the URL of the ACME Challenge resource for | |
this challenge. This can be used to lookup details about the | |
status of this challenge. | |
type: string | |
wildcard: | |
description: Wildcard will be true if this challenge is for a | |
wildcard identifier, for example '*.example.com' | |
type: boolean | |
required: | |
- authzURL | |
- type | |
- url | |
- dnsName | |
- token | |
- key | |
- wildcard | |
- issuerRef | |
type: object | |
type: array | |
failureTime: | |
description: FailureTime stores the time that this order failed. This | |
is used to influence garbage collection and back-off. | |
format: date-time | |
type: string | |
finalizeURL: | |
description: FinalizeURL of the Order. This is used to obtain certificates | |
for this order once it has been completed. | |
type: string | |
reason: | |
description: Reason optionally provides more information about a why | |
the order is in the current state. | |
type: string | |
state: | |
description: State contains the current state of this Order resource. | |
States 'success' and 'expired' are 'final' | |
enum: | |
- "" | |
- valid | |
- ready | |
- pending | |
- processing | |
- invalid | |
- expired | |
- errored | |
type: string | |
url: | |
description: URL of the Order. This will initially be empty when the | |
resource is first created. The Order controller will populate this | |
field when the Order is first processed. This field will be immutable | |
after it is initially set. | |
type: string | |
type: object | |
required: | |
- metadata | |
- spec | |
- status | |
version: v1alpha1 | |
status: | |
acceptedNames: | |
kind: "" | |
plural: "" | |
conditions: [] | |
storedVersions: [] | |
--- | |
apiVersion: v1 | |
kind: Namespace | |
metadata: | |
name: cert-manager | |
labels: | |
certmanager.k8s.io/disable-validation: "true" | |
--- | |
--- | |
# Source: cert-manager/charts/cainjector/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: cert-manager-cainjector | |
namespace: "cert-manager" | |
labels: | |
app: cainjector | |
chart: cainjector-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
--- | |
# Source: cert-manager/charts/webhook/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: cert-manager-webhook | |
namespace: "cert-manager" | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
--- | |
# Source: cert-manager/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: cert-manager | |
namespace: "cert-manager" | |
labels: | |
app: cert-manager | |
chart: cert-manager-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
--- | |
# Source: cert-manager/charts/cainjector/templates/rbac.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: cert-manager-cainjector | |
labels: | |
app: cainjector | |
chart: cainjector-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
rules: | |
- apiGroups: ["certmanager.k8s.io"] | |
resources: ["certificates"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: ["secrets"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: ["configmaps", "events"] | |
verbs: ["*"] | |
- apiGroups: ["admissionregistration.k8s.io"] | |
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"] | |
verbs: ["*"] | |
- apiGroups: ["apiregistration.k8s.io"] | |
resources: ["apiservices"] | |
verbs: ["*"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: cert-manager-cainjector | |
labels: | |
app: cainjector | |
chart: cainjector-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: cert-manager-cainjector | |
subjects: | |
- name: cert-manager-cainjector | |
namespace: "cert-manager" | |
kind: ServiceAccount | |
--- | |
# Source: cert-manager/templates/rbac.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: cert-manager | |
labels: | |
app: cert-manager | |
chart: cert-manager-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
rules: | |
- apiGroups: ["certmanager.k8s.io"] | |
resources: ["certificates", "certificates/finalizers", "issuers", "clusterissuers", "orders", "orders/finalizers", "challenges", "challenges/finalizers"] | |
verbs: ["*"] | |
- apiGroups: [""] | |
resources: ["configmaps", "secrets", "events", "services","pods"] | |
verbs: ["*"] | |
- apiGroups: ["extensions"] | |
resources: ["ingresses", "ingresses/finalizers"] | |
verbs: ["*"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: cert-manager | |
labels: | |
app: cert-manager | |
chart: cert-manager-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: cert-manager | |
subjects: | |
- name: cert-manager | |
namespace: "cert-manager" | |
kind: ServiceAccount | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: cert-manager-view | |
labels: | |
app: cert-manager | |
chart: cert-manager-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
rbac.authorization.k8s.io/aggregate-to-view: "true" | |
rbac.authorization.k8s.io/aggregate-to-edit: "true" | |
rbac.authorization.k8s.io/aggregate-to-admin: "true" | |
rules: | |
- apiGroups: ["certmanager.k8s.io"] | |
resources: ["certificates", "issuers"] | |
verbs: ["get", "list", "watch"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: cert-manager-edit | |
labels: | |
app: cert-manager | |
chart: cert-manager-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
rbac.authorization.k8s.io/aggregate-to-edit: "true" | |
rbac.authorization.k8s.io/aggregate-to-admin: "true" | |
rules: | |
- apiGroups: ["certmanager.k8s.io"] | |
resources: ["certificates", "issuers"] | |
verbs: ["create", "delete", "deletecollection", "patch", "update"] | |
--- | |
# Source: cert-manager/charts/webhook/templates/rbac.yaml | |
### Webhook ### | |
--- | |
# apiserver gets the auth-delegator role to delegate auth decisions to | |
# the core apiserver | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: cert-manager-webhook:auth-delegator | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: system:auth-delegator | |
subjects: | |
- apiGroup: "" | |
kind: ServiceAccount | |
name: cert-manager-webhook | |
namespace: cert-manager | |
--- | |
# apiserver gets the ability to read authentication. This allows it to | |
# read the specific configmap that has the requestheader-* entries to | |
# api agg | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: RoleBinding | |
metadata: | |
name: cert-manager-webhook:webhook-authentication-reader | |
namespace: kube-system | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: extension-apiserver-authentication-reader | |
subjects: | |
- apiGroup: "" | |
kind: ServiceAccount | |
name: cert-manager-webhook | |
namespace: cert-manager | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: cert-manager-webhook:webhook-requester | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
rules: | |
- apiGroups: | |
- admission.certmanager.k8s.io | |
resources: | |
- certificates | |
- issuers | |
- clusterissuers | |
verbs: | |
- create | |
--- | |
# Source: cert-manager/charts/webhook/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: cert-manager-webhook | |
namespace: "cert-manager" | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
spec: | |
type: ClusterIP | |
ports: | |
- name: https | |
port: 443 | |
targetPort: 6443 | |
selector: | |
app: webhook | |
release: cert-manager | |
--- | |
# Source: cert-manager/charts/cainjector/templates/deployment.yaml | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
name: cert-manager-cainjector | |
namespace: "cert-manager" | |
labels: | |
app: cainjector | |
chart: cainjector-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: cainjector | |
release: cert-manager | |
template: | |
metadata: | |
labels: | |
app: cainjector | |
release: cert-manager | |
annotations: | |
spec: | |
serviceAccountName: cert-manager-cainjector | |
containers: | |
- name: cainjector | |
image: "quay.io/jetstack/cert-manager-cainjector-arm:v0.8.1" | |
imagePullPolicy: IfNotPresent | |
args: | |
- --v=2 | |
- --leader-election-namespace=$(POD_NAMESPACE) | |
env: | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
resources: | |
{} | |
--- | |
# Source: cert-manager/charts/webhook/templates/deployment.yaml | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
name: cert-manager-webhook | |
namespace: "cert-manager" | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: webhook | |
release: cert-manager | |
template: | |
metadata: | |
labels: | |
app: webhook | |
release: cert-manager | |
annotations: | |
spec: | |
serviceAccountName: cert-manager-webhook | |
containers: | |
- name: webhook | |
image: "quay.io/jetstack/cert-manager-webhook-arm:v0.8.1" | |
imagePullPolicy: IfNotPresent | |
args: | |
- --v=2 | |
- --secure-port=6443 | |
- --tls-cert-file=/certs/tls.crt | |
- --tls-private-key-file=/certs/tls.key | |
env: | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
resources: | |
{} | |
volumeMounts: | |
- name: certs | |
mountPath: /certs | |
volumes: | |
- name: certs | |
secret: | |
secretName: cert-manager-webhook-webhook-tls | |
--- | |
# Source: cert-manager/templates/deployment.yaml | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
name: cert-manager | |
namespace: "cert-manager" | |
labels: | |
app: cert-manager | |
chart: cert-manager-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: cert-manager | |
release: cert-manager | |
template: | |
metadata: | |
labels: | |
app: cert-manager | |
release: cert-manager | |
annotations: | |
prometheus.io/path: "/metrics" | |
prometheus.io/scrape: 'true' | |
prometheus.io/port: '9402' | |
spec: | |
serviceAccountName: cert-manager | |
containers: | |
- name: cert-manager | |
image: "quay.io/jetstack/cert-manager-controller-arm:v0.8.1" | |
imagePullPolicy: IfNotPresent | |
args: | |
- --v=2 | |
- --cluster-resource-namespace=$(POD_NAMESPACE) | |
- --leader-election-namespace=$(POD_NAMESPACE) | |
ports: | |
- containerPort: 9402 | |
env: | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
resources: | |
requests: | |
cpu: 10m | |
memory: 32Mi | |
--- | |
# Source: cert-manager/charts/webhook/templates/apiservice.yaml | |
apiVersion: apiregistration.k8s.io/v1beta1 | |
kind: APIService | |
metadata: | |
name: v1beta1.admission.certmanager.k8s.io | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
annotations: | |
certmanager.k8s.io/inject-ca-from: "cert-manager/cert-manager-webhook-webhook-tls" | |
spec: | |
group: admission.certmanager.k8s.io | |
groupPriorityMinimum: 1000 | |
versionPriority: 15 | |
service: | |
name: cert-manager-webhook | |
namespace: "cert-manager" | |
version: v1beta1 | |
--- | |
# Source: cert-manager/charts/webhook/templates/pki.yaml | |
--- | |
# Create a selfsigned Issuer, in order to create a root CA certificate for | |
# signing webhook serving certificates | |
apiVersion: certmanager.k8s.io/v1alpha1 | |
kind: Issuer | |
metadata: | |
name: cert-manager-webhook-selfsign | |
namespace: "cert-manager" | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
spec: | |
selfSigned: {} | |
--- | |
# Generate a CA Certificate used to sign certificates for the webhook | |
apiVersion: certmanager.k8s.io/v1alpha1 | |
kind: Certificate | |
metadata: | |
name: cert-manager-webhook-ca | |
namespace: "cert-manager" | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
spec: | |
secretName: cert-manager-webhook-ca | |
duration: 43800h # 5y | |
issuerRef: | |
name: cert-manager-webhook-selfsign | |
commonName: "ca.webhook.cert-manager" | |
isCA: true | |
--- | |
# Create an Issuer that uses the above generated CA certificate to issue certs | |
apiVersion: certmanager.k8s.io/v1alpha1 | |
kind: Issuer | |
metadata: | |
name: cert-manager-webhook-ca | |
namespace: "cert-manager" | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
spec: | |
ca: | |
secretName: cert-manager-webhook-ca | |
--- | |
# Finally, generate a serving certificate for the webhook to use | |
apiVersion: certmanager.k8s.io/v1alpha1 | |
kind: Certificate | |
metadata: | |
name: cert-manager-webhook-webhook-tls | |
namespace: "cert-manager" | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
spec: | |
secretName: cert-manager-webhook-webhook-tls | |
duration: 8760h # 1y | |
issuerRef: | |
name: cert-manager-webhook-ca | |
dnsNames: | |
- cert-manager-webhook | |
- cert-manager-webhook.cert-manager | |
- cert-manager-webhook.cert-manager.svc | |
--- | |
# Source: cert-manager/charts/webhook/templates/validating-webhook.yaml | |
apiVersion: admissionregistration.k8s.io/v1beta1 | |
kind: ValidatingWebhookConfiguration | |
metadata: | |
name: cert-manager-webhook | |
labels: | |
app: webhook | |
chart: webhook-v0.8.1 | |
release: cert-manager | |
heritage: Tiller | |
annotations: | |
certmanager.k8s.io/inject-apiserver-ca: "true" | |
webhooks: | |
- name: certificates.admission.certmanager.k8s.io | |
namespaceSelector: | |
matchExpressions: | |
- key: "certmanager.k8s.io/disable-validation" | |
operator: "NotIn" | |
values: | |
- "true" | |
- key: "name" | |
operator: "NotIn" | |
values: | |
- cert-manager | |
rules: | |
- apiGroups: | |
- "certmanager.k8s.io" | |
apiVersions: | |
- v1alpha1 | |
operations: | |
- CREATE | |
- UPDATE | |
resources: | |
- certificates | |
failurePolicy: Fail | |
clientConfig: | |
service: | |
name: kubernetes | |
namespace: default | |
path: /apis/admission.certmanager.k8s.io/v1beta1/certificates | |
- name: issuers.admission.certmanager.k8s.io | |
namespaceSelector: | |
matchExpressions: | |
- key: "certmanager.k8s.io/disable-validation" | |
operator: "NotIn" | |
values: | |
- "true" | |
- key: "name" | |
operator: "NotIn" | |
values: | |
- cert-manager | |
rules: | |
- apiGroups: | |
- "certmanager.k8s.io" | |
apiVersions: | |
- v1alpha1 | |
operations: | |
- CREATE | |
- UPDATE | |
resources: | |
- issuers | |
failurePolicy: Fail | |
clientConfig: | |
service: | |
name: kubernetes | |
namespace: default | |
path: /apis/admission.certmanager.k8s.io/v1beta1/issuers | |
- name: clusterissuers.admission.certmanager.k8s.io | |
namespaceSelector: | |
matchExpressions: | |
- key: "certmanager.k8s.io/disable-validation" | |
operator: "NotIn" | |
values: | |
- "true" | |
- key: "name" | |
operator: "NotIn" | |
values: | |
- cert-manager | |
rules: | |
- apiGroups: | |
- "certmanager.k8s.io" | |
apiVersions: | |
- v1alpha1 | |
operations: | |
- CREATE | |
- UPDATE | |
resources: | |
- clusterissuers | |
failurePolicy: Fail | |
clientConfig: | |
service: | |
name: kubernetes | |
namespace: default | |
path: /apis/admission.certmanager.k8s.io/v1beta1/clusterissuers | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
labels: | |
app.kubernetes.io/name: echoserver-arm | |
app.kubernetes.io/part-of: echoserver-arm | |
name: echoserver-arm | |
namespace: default | |
spec: | |
progressDeadlineSeconds: 600 | |
replicas: 1 | |
revisionHistoryLimit: 10 | |
selector: | |
matchLabels: | |
app.kubernetes.io/name: echoserver-arm | |
app.kubernetes.io/part-of: echoserver-arm | |
strategy: | |
rollingUpdate: | |
maxSurge: 25% | |
maxUnavailable: 25% | |
type: RollingUpdate | |
template: | |
metadata: | |
creationTimestamp: null | |
labels: | |
app.kubernetes.io/name: echoserver-arm | |
app.kubernetes.io/part-of: echoserver-arm | |
spec: | |
containers: | |
- env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
image: gcr.io/google_containers/echoserver-arm:1.8 | |
imagePullPolicy: IfNotPresent | |
name: echoserver-arm | |
ports: | |
- containerPort: 8080 | |
hostPort: 8080 | |
name: http | |
protocol: TCP | |
resources: | |
dnsPolicy: ClusterFirst | |
nodeSelector: | |
node-role.kubernetes.io/master: "" | |
restartPolicy: Always | |
schedulerName: default-scheduler | |
securityContext: {} | |
terminationGracePeriodSeconds: 30 | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: echoserver-arm | |
namespace: default | |
labels: | |
app.kubernetes.io/name: echoserver-arm | |
app.kubernetes.io/part-of: echoserver-arm | |
spec: | |
type: ClusterIP | |
ports: | |
- name: http | |
port: 8080 | |
targetPort: 8080 | |
protocol: TCP | |
selector: | |
app.kubernetes.io/name: echoserver-arm | |
app.kubernetes.io/part-of: echoserver-arm | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Ingress | |
metadata: | |
name: echoserver-arm | |
namespace: default | |
labels: | |
app.kubernetes.io/name: echoserver-arm | |
app.kubernetes.io/part-of: echoserver-arm | |
spec: | |
rules: | |
- host: echoserver.192.168.0.50.nip.io | |
http: | |
paths: | |
- path: "/" | |
backend: | |
serviceName: echoserver-arm | |
servicePort: http |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "6.2.5" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "1.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "singlestat", | |
"name": "Singlestat", | |
"version": "" | |
}, | |
{ | |
"type": "panel", | |
"id": "table", | |
"name": "Table", | |
"version": "" | |
}, | |
{ | |
"type": "panel", | |
"id": "text", | |
"name": "Text", | |
"version": "" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"description": "Metrics about Grafana", | |
"editable": true, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"links": [ | |
{ | |
"icon": "external link", | |
"tags": [], | |
"targetBlank": true, | |
"title": "Available metrics", | |
"type": "link", | |
"url": "/metrics" | |
}, | |
{ | |
"icon": "external link", | |
"tags": [], | |
"title": "Grafana docs", | |
"type": "link", | |
"url": "http://docs.grafana.org/" | |
}, | |
{ | |
"icon": "external link", | |
"tags": [], | |
"title": "Prometheus docs", | |
"type": "link", | |
"url": "http://prometheus.io/docs/introduction/overview/" | |
} | |
], | |
"panels": [ | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(222, 3, 3, 0.9)", | |
"rgb(234, 245, 234)", | |
"rgb(235, 244, 235)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 0, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 5, | |
"w": 4, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 4, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "up{kubernetes_name=\"grafana\"}", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 60 | |
} | |
], | |
"thresholds": "1, 10000", | |
"title": "Active instances", | |
"type": "singlestat", | |
"valueFontSize": "120%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": ":(", | |
"value": "0" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 5, | |
"w": 4, | |
"x": 4, | |
"y": 0 | |
}, | |
"id": 8, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "grafana_stat_totals_dashboard", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 60 | |
} | |
], | |
"thresholds": "", | |
"title": "Dashboard count", | |
"type": "singlestat", | |
"valueFontSize": "120%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 5, | |
"w": 4, | |
"x": 8, | |
"y": 0 | |
}, | |
"id": 9, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "grafana_stat_total_users", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 60 | |
} | |
], | |
"thresholds": "", | |
"title": "User count", | |
"type": "singlestat", | |
"valueFontSize": "120%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 5, | |
"w": 4, | |
"x": 12, | |
"y": 0 | |
}, | |
"id": 10, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "grafana_stat_total_playlists", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 60 | |
} | |
], | |
"thresholds": "", | |
"title": "Playlist count", | |
"type": "singlestat", | |
"valueFontSize": "120%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"columns": [], | |
"datasource": "${DS_PROMETHEUS}", | |
"fontSize": "100%", | |
"gridPos": { | |
"h": 5, | |
"w": 4, | |
"x": 16, | |
"y": 0 | |
}, | |
"id": 17, | |
"links": [], | |
"options": {}, | |
"pageSize": null, | |
"scroll": false, | |
"showHeader": true, | |
"sort": { | |
"col": 0, | |
"desc": true | |
}, | |
"styles": [ | |
{ | |
"alias": "Time", | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"link": false, | |
"pattern": "Time", | |
"type": "hidden" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"decimals": 0, | |
"pattern": "/.*/", | |
"thresholds": [], | |
"type": "number", | |
"unit": "short" | |
} | |
], | |
"targets": [ | |
{ | |
"expr": "topk(1, grafana_info)", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 2, | |
"legendFormat": "{{version}}", | |
"refId": "A", | |
"step": 20 | |
} | |
], | |
"title": "Grafana version", | |
"transform": "timeseries_to_rows", | |
"type": "table" | |
}, | |
{ | |
"content": "<br />\n<br />\n<center>\n<img src=\"public/img/grafana_icon.svg\" style=\"height: 60px;\">\n<span style=\"color: red;font-size:3rem;line-height: 2rem;\">💖</span>\n<img src=\"public/app/plugins/datasource/prometheus/img/prometheus_logo.svg\" alt=\"Prometheus logo\" style=\"height: 60px;\">\n</center>", | |
"gridPos": { | |
"h": 5, | |
"w": 4, | |
"x": 20, | |
"y": 0 | |
}, | |
"id": 16, | |
"links": [], | |
"mode": "html", | |
"options": {}, | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": { | |
"400": "#447EBC", | |
"500": "#BF1B00" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 10, | |
"w": 10, | |
"x": 0, | |
"y": 5 | |
}, | |
"height": "", | |
"id": 15, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum by (statuscode) (irate(http_request_total{kubernetes_name=\"grafana\"}[5m]))", | |
"format": "time_series", | |
"intervalFactor": 3, | |
"legendFormat": "{{statuscode}}", | |
"refId": "B", | |
"step": 15, | |
"target": "dev.grafana.cb-office.alerting.active_alerts" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "http status codes", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": { | |
"400": "#447EBC", | |
"500": "#BF1B00" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 10, | |
"w": 10, | |
"x": 10, | |
"y": 5 | |
}, | |
"height": "", | |
"id": 11, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(grafana_api_response_status_total[5m]))", | |
"format": "time_series", | |
"intervalFactor": 4, | |
"legendFormat": "api", | |
"refId": "A", | |
"step": 20 | |
}, | |
{ | |
"expr": "sum(irate(grafana_proxy_response_status_total[5m]))", | |
"format": "time_series", | |
"intervalFactor": 4, | |
"legendFormat": "proxy", | |
"refId": "B", | |
"step": 20 | |
}, | |
{ | |
"expr": "sum(irate(grafana_page_response_status_total[5m]))", | |
"format": "time_series", | |
"intervalFactor": 4, | |
"legendFormat": "web", | |
"refId": "C", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Requests by routing group", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"columns": [], | |
"datasource": "${DS_PROMETHEUS}", | |
"fontSize": "100%", | |
"gridPos": { | |
"h": 10, | |
"w": 4, | |
"x": 20, | |
"y": 5 | |
}, | |
"height": "", | |
"id": 12, | |
"links": [], | |
"options": {}, | |
"pageSize": null, | |
"scroll": true, | |
"showHeader": true, | |
"sort": { | |
"col": 0, | |
"desc": true | |
}, | |
"styles": [ | |
{ | |
"alias": "Time", | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"link": false, | |
"pattern": "Time", | |
"type": "hidden" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"decimals": 0, | |
"pattern": "/.*/", | |
"thresholds": [], | |
"type": "number", | |
"unit": "short" | |
} | |
], | |
"targets": [ | |
{ | |
"expr": "sort(topk(8, sum by (handler) (http_request_total{kubernetes_name=\"grafana\"})))", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 10, | |
"legendFormat": "{{handler}}", | |
"refId": "A", | |
"step": 100 | |
} | |
], | |
"title": "Most used handlers", | |
"transform": "timeseries_to_rows", | |
"type": "table" | |
}, | |
{ | |
"aliasColors": { | |
"alerting": "#890F02", | |
"ok": "#7EB26D" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 12, | |
"x": 0, | |
"y": 15 | |
}, | |
"id": 6, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "null", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": true, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "increase(grafana_alerting_active_alerts[1m])", | |
"format": "time_series", | |
"intervalFactor": 3, | |
"legendFormat": "{{state}}", | |
"refId": "A", | |
"step": 15 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Grafana active alerts", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": { | |
"alerting": "#890F02", | |
"alertname": "#BF1B00", | |
"firing alerts": "#BF1B00", | |
"ok": "#7EB26D" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 12, | |
"x": 12, | |
"y": 15 | |
}, | |
"id": 18, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "null", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "Firing alerts", | |
"yaxis": 1 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": " sum (ALERTS)", | |
"format": "time_series", | |
"intervalFactor": 3, | |
"legendFormat": "firing alerts", | |
"refId": "A", | |
"step": 15 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Prometheus alerts", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"description": "Aggregated over all Grafana nodes.", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 24, | |
"x": 0, | |
"y": 20 | |
}, | |
"id": 7, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "null", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "avg gc duration", | |
"yaxis": 2 | |
}, | |
{ | |
"alias": "127.0.0.1:3000", | |
"yaxis": 1 | |
}, | |
{ | |
"alias": "allocated memory", | |
"yaxis": 2 | |
}, | |
{ | |
"alias": "used memory", | |
"yaxis": 2 | |
}, | |
{ | |
"alias": "memory usage", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(go_goroutines{kubernetes_name=\"grafana\"})", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 4, | |
"legendFormat": "go routines", | |
"refId": "A", | |
"step": 8, | |
"target": "select metric", | |
"type": "timeserie" | |
}, | |
{ | |
"expr": "sum(process_resident_memory_bytes{kubernetes_name=\"grafana\"})", | |
"format": "time_series", | |
"intervalFactor": 4, | |
"legendFormat": "memory usage", | |
"refId": "B", | |
"step": 8 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Grafana performance", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"revision": "1.0", | |
"schemaVersion": 18, | |
"style": "dark", | |
"tags": [ | |
"grafana", | |
"prometheus" | |
], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-6h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Grafana metrics", | |
"uid": "whu-7WgRk", | |
"version": 2 | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: tiller | |
namespace: kube-system | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: tiller | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: cluster-admin | |
subjects: | |
- kind: ServiceAccount | |
name: tiller | |
namespace: kube-system |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
labels: | |
app.kubernetes.io/name: ingress-nginx | |
app.kubernetes.io/part-of: ingress-nginx | |
name: nginx-ingress-controller | |
namespace: ingress-nginx | |
spec: | |
progressDeadlineSeconds: 600 | |
replicas: 1 | |
revisionHistoryLimit: 10 | |
selector: | |
matchLabels: | |
app.kubernetes.io/name: ingress-nginx | |
app.kubernetes.io/part-of: ingress-nginx | |
strategy: | |
rollingUpdate: | |
maxSurge: 25% | |
maxUnavailable: 25% | |
type: RollingUpdate | |
template: | |
metadata: | |
annotations: | |
prometheus.io/port: "10254" | |
prometheus.io/scrape: "true" | |
creationTimestamp: null | |
labels: | |
app.kubernetes.io/name: ingress-nginx | |
app.kubernetes.io/part-of: ingress-nginx | |
spec: | |
containers: | |
- args: | |
- /nginx-ingress-controller | |
- --configmap=$(POD_NAMESPACE)/nginx-configuration | |
- --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services | |
- --udp-services-configmap=$(POD_NAMESPACE)/udp-services | |
- --publish-service=$(POD_NAMESPACE)/ingress-nginx | |
- --annotations-prefix=nginx.ingress.kubernetes.io | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller-arm:0.25.0 | |
imagePullPolicy: IfNotPresent | |
livenessProbe: | |
failureThreshold: 3 | |
httpGet: | |
path: /healthz | |
port: 10254 | |
scheme: HTTP | |
initialDelaySeconds: 10 | |
periodSeconds: 10 | |
successThreshold: 1 | |
timeoutSeconds: 10 | |
name: nginx-ingress-controller | |
ports: | |
- containerPort: 80 | |
hostPort: 80 | |
name: http | |
protocol: TCP | |
- containerPort: 443 | |
hostPort: 443 | |
name: https | |
protocol: TCP | |
readinessProbe: | |
failureThreshold: 3 | |
httpGet: | |
path: /healthz | |
port: 10254 | |
scheme: HTTP | |
periodSeconds: 10 | |
successThreshold: 1 | |
timeoutSeconds: 10 | |
resources: {} | |
securityContext: | |
allowPrivilegeEscalation: true | |
capabilities: | |
add: | |
- NET_BIND_SERVICE | |
drop: | |
- ALL | |
procMount: Default | |
runAsUser: 33 | |
terminationMessagePath: /dev/termination-log | |
terminationMessagePolicy: File | |
dnsPolicy: ClusterFirst | |
hostNetwork: true | |
nodeSelector: | |
node-role.kubernetes.io/master: "" | |
restartPolicy: Always | |
schedulerName: default-scheduler | |
securityContext: {} | |
serviceAccount: nginx-ingress-serviceaccount | |
serviceAccountName: nginx-ingress-serviceaccount | |
terminationGracePeriodSeconds: 30 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo apt-get install apt-transport-https ca-certificates software-properties-common -y | |
curl -fsSL https://git.io/get_helm.sh | sudo bash | |
curl -fsSL https://get.docker.com | sudo bash | |
sudo systemctl enable docker | |
sudo systemctl start docker | |
sudo usermod -aG docker $USER | |
cat |sudo tee /etc/docker/daemon.json <<EOF | |
{ | |
"exec-opts": ["native.cgroupdriver=systemd"], | |
"log-driver": "json-file", | |
"log-opts": { | |
"max-size": "100m" | |
}, | |
"storage-driver": "overlay2" | |
} | |
EOF | |
cat |sudo tee /etc/cron.d/iptables <<EOF | |
@reboot /usr/sbin/iptables -P FORWARD ACCEPT | |
EOF | |
curl -sL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - | |
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list | |
sudo dphys-swapfile swapoff | |
sudo systemctl disable dphys-swapfile | |
sudo systemctl stop dphys-swapfile | |
sudo systemctl restart docker | |
sudo apt-get update -q | |
sudo apt-get install -y --allow-downgrades kubeadm kubectl kubelet | |
add these at the end of the line: | |
cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory | |
sudo nano /boot/cmdline.txt | |
sudo sysctl net.bridge.bridge-nf-call-iptables=1 | |
sudo shutdown -r now | |
sudo kubeadm init --upload-certs --token-ttl=0 --apiserver-advertise-address=192.168.0.50 --pod-network-cidr=10.244.0.0/16 | |
save the kubeadm join thing | |
mkdir -p $HOME/.kube | |
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config | |
sudo chown $(id -u):$(id -g) $HOME/.kube/config | |
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/62e44c867a2846fefb68bd5f178daf4da3095ccb/Documentation/kube-flannel.yml | |
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml | |
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/service-nodeport.yaml | |
kubectl apply -f https://gist.githubusercontent.com/marthydavid/d72dd3e4ea246d31bc48c9b51f545c1a/raw/258465eb0e0769a909904aa7775fc5b58f93c7c7/ingress-nginx-depl.yaml | |
kubectl taint nodes $(hostname -f) node-role.kubernetes.io/master- | |
sleep 60 && kubectl get pods --all-namespaces -owide | |
kubectl apply -f https://gist.githubusercontent.com/marthydavid/d72dd3e4ea246d31bc48c9b51f545c1a/raw/258465eb0e0769a909904aa7775fc5b58f93c7c7/helm-sa.yaml | |
helm init --upgrade --service-account tiller -i marthydavid/tiller:v2.14.3 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "6.2.5" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "1.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "singlestat", | |
"name": "Singlestat", | |
"version": "" | |
}, | |
{ | |
"type": "panel", | |
"id": "table", | |
"name": "Table", | |
"version": "" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
}, | |
{ | |
"datasource": "${DS_PROMETHEUS}", | |
"enable": true, | |
"expr": "sum(changes(nginx_ingress_controller_config_last_reload_successful_timestamp_seconds{instance!=\"unknown\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[30s])) by (controller_class)", | |
"hide": false, | |
"iconColor": "rgba(255, 96, 96, 1)", | |
"limit": 100, | |
"name": "Config Reloads", | |
"showIn": 0, | |
"step": "30s", | |
"tagKeys": "controller_class", | |
"tags": [], | |
"titleFormat": "Config Reloaded", | |
"type": "tags" | |
} | |
] | |
}, | |
"editable": true, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"iteration": 1563477926856, | |
"links": [], | |
"panels": [ | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 20, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[2m])), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Controller Request Volume", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 6, | |
"y": 0 | |
}, | |
"id": 82, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(avg_over_time(nginx_ingress_controller_nginx_process_connections{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Controller Connections", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 80, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 12, | |
"y": 0 | |
}, | |
"id": 21, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",status!~\"[4-5].*\"}[2m])) / sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[2m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Controller Success Rate (non-4|5xx responses)", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 0, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 3, | |
"x": 18, | |
"y": 0 | |
}, | |
"id": 81, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "avg(nginx_ingress_controller_success{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"})", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Config Reloads", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 0, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 3, | |
"x": 21, | |
"y": 0 | |
}, | |
"id": 83, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "count(nginx_ingress_controller_config_last_reload_successful{controller_pod=~\"$controller\",controller_namespace=~\"$namespace\"} == 0)", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Last Config Failed", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 2, | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": {}, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 0, | |
"y": 3 | |
}, | |
"height": "200px", | |
"id": 86, | |
"isNew": true, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": true, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"sideWidth": 300, | |
"sort": "current", | |
"sortDesc": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"repeat": null, | |
"repeatDirection": "h", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (ingress), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "{{ ingress }}", | |
"metric": "network", | |
"refId": "A", | |
"step": 10 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Ingress Request Volume", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 2, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "reqps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": { | |
"max - istio-proxy": "#890f02", | |
"max - master": "#bf1b00", | |
"max - prometheus": "#bf1b00" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 2, | |
"editable": false, | |
"error": false, | |
"fill": 0, | |
"grid": {}, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 12, | |
"y": 3 | |
}, | |
"id": 87, | |
"isNew": true, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"sideWidth": 300, | |
"sort": "avg", | |
"sortDesc": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",ingress=~\"$ingress\",status!~\"[4-5].*\"}[2m])) by (ingress) / sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (ingress)", | |
"format": "time_series", | |
"instant": false, | |
"interval": "10s", | |
"intervalFactor": 1, | |
"legendFormat": "{{ ingress }}", | |
"metric": "container_memory_usage:sort_desc", | |
"refId": "A", | |
"step": 10 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Ingress Success Rate (non-4|5xx responses)", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 1, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 2, | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": {}, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 10 | |
}, | |
"height": "200px", | |
"id": 32, | |
"isNew": true, | |
"legend": { | |
"alignAsTable": false, | |
"avg": true, | |
"current": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": false, | |
"sideWidth": 200, | |
"sort": "current", | |
"sortDesc": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum (irate (nginx_ingress_controller_request_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))", | |
"format": "time_series", | |
"instant": false, | |
"interval": "10s", | |
"intervalFactor": 1, | |
"legendFormat": "Received", | |
"metric": "network", | |
"refId": "A", | |
"step": 10 | |
}, | |
{ | |
"expr": "- sum (irate (nginx_ingress_controller_response_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))", | |
"format": "time_series", | |
"hide": false, | |
"interval": "10s", | |
"intervalFactor": 1, | |
"legendFormat": "Sent", | |
"metric": "network", | |
"refId": "B", | |
"step": 10 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Network I/O pressure", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": { | |
"max - istio-proxy": "#890f02", | |
"max - master": "#bf1b00", | |
"max - prometheus": "#bf1b00" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 2, | |
"editable": false, | |
"error": false, | |
"fill": 0, | |
"grid": {}, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 10 | |
}, | |
"id": 77, | |
"isNew": true, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": false, | |
"sideWidth": 200, | |
"sort": "current", | |
"sortDesc": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "avg(nginx_ingress_controller_nginx_process_resident_memory_bytes{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}) ", | |
"format": "time_series", | |
"instant": false, | |
"interval": "10s", | |
"intervalFactor": 1, | |
"legendFormat": "nginx", | |
"metric": "container_memory_usage:sort_desc", | |
"refId": "A", | |
"step": 10 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Average Memory Usage", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 2, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": { | |
"max - istio-proxy": "#890f02", | |
"max - master": "#bf1b00" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 3, | |
"editable": false, | |
"error": false, | |
"fill": 0, | |
"grid": {}, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 10 | |
}, | |
"height": "", | |
"id": 79, | |
"isNew": true, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": false, | |
"sort": null, | |
"sortDesc": null, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum (rate (nginx_ingress_controller_nginx_process_cpu_seconds_total{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m])) ", | |
"format": "time_series", | |
"interval": "10s", | |
"intervalFactor": 1, | |
"legendFormat": "nginx", | |
"metric": "container_cpu", | |
"refId": "A", | |
"step": 10 | |
} | |
], | |
"thresholds": [ | |
{ | |
"colorMode": "critical", | |
"fill": true, | |
"line": true, | |
"op": "gt" | |
} | |
], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Average CPU Usage", | |
"tooltip": { | |
"msResolution": true, | |
"shared": true, | |
"sort": 2, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "none", | |
"label": "cores", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"columns": [], | |
"datasource": "${DS_PROMETHEUS}", | |
"fontSize": "100%", | |
"gridPos": { | |
"h": 8, | |
"w": 24, | |
"x": 0, | |
"y": 16 | |
}, | |
"hideTimeOverride": false, | |
"id": 75, | |
"links": [], | |
"options": {}, | |
"pageSize": 7, | |
"repeat": null, | |
"repeatDirection": "h", | |
"scroll": true, | |
"showHeader": true, | |
"sort": { | |
"col": 1, | |
"desc": true | |
}, | |
"styles": [ | |
{ | |
"alias": "Ingress", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "ingress", | |
"preserveFormat": false, | |
"sanitize": false, | |
"thresholds": [], | |
"type": "string", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Requests", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #A", | |
"thresholds": [ | |
"" | |
], | |
"type": "number", | |
"unit": "ops" | |
}, | |
{ | |
"alias": "Errors", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #B", | |
"thresholds": [], | |
"type": "number", | |
"unit": "ops" | |
}, | |
{ | |
"alias": "P50 Latency", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 0, | |
"link": false, | |
"pattern": "Value #C", | |
"thresholds": [], | |
"type": "number", | |
"unit": "dtdurations" | |
}, | |
{ | |
"alias": "P90 Latency", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 0, | |
"pattern": "Value #D", | |
"thresholds": [], | |
"type": "number", | |
"unit": "dtdurations" | |
}, | |
{ | |
"alias": "P99 Latency", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 0, | |
"pattern": "Value #E", | |
"thresholds": [], | |
"type": "number", | |
"unit": "dtdurations" | |
}, | |
{ | |
"alias": "IN", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #F", | |
"thresholds": [ | |
"" | |
], | |
"type": "number", | |
"unit": "Bps" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Time", | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "OUT", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"mappingType": 1, | |
"pattern": "Value #G", | |
"thresholds": [], | |
"type": "number", | |
"unit": "Bps" | |
} | |
], | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (le, ingress))", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ ingress }}", | |
"refId": "C" | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (le, ingress))", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ ingress }}", | |
"refId": "D" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (le, ingress))", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }}", | |
"refId": "E" | |
}, | |
{ | |
"expr": "sum(irate(nginx_ingress_controller_request_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (ingress)", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "{{ ingress }}", | |
"refId": "F" | |
}, | |
{ | |
"expr": "sum(irate(nginx_ingress_controller_response_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (ingress)", | |
"format": "table", | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ ingress }}", | |
"refId": "G" | |
} | |
], | |
"timeFrom": null, | |
"title": "Ingress Percentile Response Times and Transfer Rates", | |
"transform": "table", | |
"type": "table" | |
}, | |
{ | |
"columns": [ | |
{ | |
"text": "Current", | |
"value": "current" | |
} | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"fontSize": "100%", | |
"gridPos": { | |
"h": 8, | |
"w": 24, | |
"x": 0, | |
"y": 24 | |
}, | |
"height": "1024", | |
"id": 85, | |
"links": [], | |
"options": {}, | |
"pageSize": 7, | |
"scroll": true, | |
"showHeader": true, | |
"sort": { | |
"col": 1, | |
"desc": false | |
}, | |
"styles": [ | |
{ | |
"alias": "Time", | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"pattern": "Time", | |
"type": "date" | |
}, | |
{ | |
"alias": "TTL", | |
"colorMode": "cell", | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 0, | |
"pattern": "Current", | |
"thresholds": [ | |
"0", | |
"691200" | |
], | |
"type": "number", | |
"unit": "s" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"decimals": 2, | |
"pattern": "/.*/", | |
"thresholds": [], | |
"type": "number", | |
"unit": "short" | |
} | |
], | |
"targets": [ | |
{ | |
"expr": "avg(nginx_ingress_controller_ssl_expire_time_seconds{kubernetes_pod_name=~\"$controller\",namespace=~\"$namespace\",ingress=~\"$ingress\"}) by (host) - time()", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ host }}", | |
"metric": "gke_letsencrypt_cert_expiration", | |
"refId": "A", | |
"step": 1 | |
} | |
], | |
"title": "Ingress Certificate Expiry", | |
"transform": "timeseries_aggregations", | |
"type": "table" | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 18, | |
"style": "dark", | |
"tags": [ | |
"nginx" | |
], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": ".*", | |
"current": {}, | |
"datasource": "${DS_PROMETHEUS}", | |
"definition": "", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Namespace", | |
"multi": false, | |
"name": "namespace", | |
"options": [], | |
"query": "label_values(nginx_ingress_controller_config_hash, controller_namespace)", | |
"refresh": 1, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": ".*", | |
"current": {}, | |
"datasource": "${DS_PROMETHEUS}", | |
"definition": "", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Controller Class", | |
"multi": false, | |
"name": "controller_class", | |
"options": [], | |
"query": "label_values(nginx_ingress_controller_config_hash{namespace=~\"$namespace\"}, controller_class) ", | |
"refresh": 1, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": ".*", | |
"current": {}, | |
"datasource": "${DS_PROMETHEUS}", | |
"definition": "", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Controller", | |
"multi": false, | |
"name": "controller", | |
"options": [], | |
"query": "label_values(nginx_ingress_controller_config_hash{namespace=~\"$namespace\",controller_class=~\"$controller_class\"}, controller_pod) ", | |
"refresh": 1, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": ".*", | |
"current": {}, | |
"datasource": "${DS_PROMETHEUS}", | |
"definition": "", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Ingress", | |
"multi": false, | |
"name": "ingress", | |
"options": [], | |
"query": "label_values(nginx_ingress_controller_requests{namespace=~\"$namespace\",controller_class=~\"$controller_class\",controller=~\"$controller\"}, ingress) ", | |
"refresh": 1, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-1h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"2m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "NGINX Ingress controller", | |
"uid": "nginx", | |
"version": 1 | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "6.2.5" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "1.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "singlestat", | |
"name": "Singlestat", | |
"version": "" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": true, | |
"gnetId": null, | |
"graphTooltip": 1, | |
"id": null, | |
"links": [ | |
{ | |
"icon": "info", | |
"tags": [], | |
"targetBlank": true, | |
"title": "Grafana Docs", | |
"tooltip": "", | |
"type": "link", | |
"url": "http://docs.grafana.org/" | |
}, | |
{ | |
"icon": "info", | |
"tags": [], | |
"targetBlank": true, | |
"title": "Prometheus Docs", | |
"type": "link", | |
"url": "http://prometheus.io/docs/introduction/overview/" | |
} | |
], | |
"panels": [ | |
{ | |
"aliasColors": { | |
"prometheus": "#C15C17", | |
"{instance=\"localhost:9090\",kubernetes_name=\"prometheus-service\"}": "#CCA300" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 0, | |
"grid": {}, | |
"gridPos": { | |
"h": 5, | |
"w": 6, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 3, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(prometheus_tsdb_head_samples_appended_total{kubernetes_name=\"prometheus-service\"}[5m]))", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "samples", | |
"metric": "", | |
"refId": "A", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Samples Appended", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 0, | |
"grid": {}, | |
"gridPos": { | |
"h": 5, | |
"w": 6, | |
"x": 6, | |
"y": 0 | |
}, | |
"id": 14, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "topk(5, max(scrape_duration_seconds) by (job))", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "{{job}}", | |
"metric": "", | |
"refId": "A", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Scrape Duration", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"description": "", | |
"fill": 0, | |
"gridPos": { | |
"h": 5, | |
"w": 6, | |
"x": 12, | |
"y": 0 | |
}, | |
"id": 16, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(process_resident_memory_bytes{kubernetes_name=\"prometheus-service\"})", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "p8s process resident memory", | |
"refId": "D", | |
"step": 20 | |
}, | |
{ | |
"expr": "process_virtual_memory_bytes{kubernetes_name=\"prometheus-service\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "virtual memory", | |
"refId": "C", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Memory Profile", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 5, | |
"w": 6, | |
"x": 18, | |
"y": 0 | |
}, | |
"id": 37, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "prometheus_tsdb_wal_corruptions_total{kubernetes_name=\"prometheus-service\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 60 | |
} | |
], | |
"thresholds": "0.1,1", | |
"title": "WAL Corruptions", | |
"type": "singlestat", | |
"valueFontSize": "200%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "None", | |
"value": "0" | |
} | |
], | |
"valueName": "max" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 0, | |
"gridPos": { | |
"h": 5, | |
"w": 6, | |
"x": 0, | |
"y": 5 | |
}, | |
"id": 29, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(prometheus_tsdb_head_active_appenders{kubernetes_name=\"prometheus-service\"})", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "active_appenders", | |
"metric": "", | |
"refId": "A", | |
"step": 20 | |
}, | |
{ | |
"expr": "sum(process_open_fds{kubernetes_name=\"prometheus-service\"})", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "open_fds", | |
"refId": "B", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Active Appenders", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": { | |
"prometheus": "#F9BA8F", | |
"{instance=\"localhost:9090\",interval=\"5s\",kubernetes_name=\"prometheus-service\"}": "#F9BA8F" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 0, | |
"grid": {}, | |
"gridPos": { | |
"h": 5, | |
"w": 6, | |
"x": 6, | |
"y": 5 | |
}, | |
"id": 2, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "prometheus_tsdb_blocks_loaded{kubernetes_name=\"prometheus-service\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "blocks", | |
"refId": "A", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Blocks Loaded", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": null, | |
"description": "", | |
"fill": 0, | |
"gridPos": { | |
"h": 5, | |
"w": 6, | |
"x": 12, | |
"y": 5 | |
}, | |
"id": 33, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "prometheus_tsdb_head_chunks{kubernetes_name=\"prometheus-service\"}", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "chunks", | |
"refId": "A", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Head Chunks", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 6, | |
"x": 18, | |
"y": 5 | |
}, | |
"id": 36, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "duration-p99", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "prometheus_tsdb_head_gc_duration_seconds{kubernetes_name=\"prometheus-service\",quantile=\"0.99\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "duration-p99", | |
"refId": "A", | |
"step": 20 | |
}, | |
{ | |
"expr": "irate(prometheus_tsdb_head_gc_duration_seconds_count{kubernetes_name=\"prometheus-service\"}[5m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "collections", | |
"refId": "B", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Head Block GC Activity", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": null, | |
"description": "", | |
"fill": 0, | |
"gridPos": { | |
"h": 5, | |
"w": 8, | |
"x": 0, | |
"y": 10 | |
}, | |
"id": 20, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "duration-p99", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.99, sum(rate(prometheus_tsdb_compaction_duration_bucket{kubernetes_name=\"prometheus-service\"}[5m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "duration-{{p99}}", | |
"refId": "A", | |
"step": 20 | |
}, | |
{ | |
"expr": "irate(prometheus_tsdb_compactions_total{kubernetes_name=\"prometheus-service\"}[5m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "compactions", | |
"refId": "B", | |
"step": 20 | |
}, | |
{ | |
"expr": "irate(prometheus_tsdb_compactions_failed_total{kubernetes_name=\"prometheus-service\"}[5m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "failed", | |
"refId": "C", | |
"step": 20 | |
}, | |
{ | |
"expr": "irate(prometheus_tsdb_compactions_triggered_total{kubernetes_name=\"prometheus-service\"}[5m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "triggered", | |
"refId": "D", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Compaction Activity", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "s", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 8, | |
"x": 8, | |
"y": 10 | |
}, | |
"id": 32, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(prometheus_tsdb_reloads_total{kubernetes_name=\"prometheus-service\"}[5m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "reloads", | |
"refId": "A", | |
"step": 20 | |
}, | |
{ | |
"expr": "rate(prometheus_tsdb_reloads_failures_total{kubernetes_name=\"prometheus-service\"}[5m])", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "failures", | |
"refId": "B", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Reload Count", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 0, | |
"gridPos": { | |
"h": 5, | |
"w": 8, | |
"x": 16, | |
"y": 10 | |
}, | |
"id": 38, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "prometheus_engine_query_duration_seconds{kubernetes_name=\"prometheus-service\", quantile=\"0.99\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{slice}}_p99", | |
"refId": "A", | |
"step": 20 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Query Durations", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": null, | |
"editable": true, | |
"error": false, | |
"fill": 0, | |
"grid": {}, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 0, | |
"y": 15 | |
}, | |
"id": 35, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "connected", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "max(prometheus_rule_group_duration_seconds{kubernetes_name=\"prometheus-service\"}) by (quantile)", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "{{quantile}}", | |
"refId": "A", | |
"step": 10 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Rule Group Eval Duration", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 12, | |
"y": 15 | |
}, | |
"id": 39, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"options": {}, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": true, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(prometheus_rule_group_iterations_missed_total{kubernetes_name=\"prometheus-service\"}[5m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "missed", | |
"refId": "B", | |
"step": 10 | |
}, | |
{ | |
"expr": "rate(prometheus_rule_group_iterations_total{kubernetes_name=\"prometheus-service\"}[5m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "iterations", | |
"refId": "A", | |
"step": 10 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Rule Group Eval Activity", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "1m", | |
"revision": "1.0", | |
"schemaVersion": 18, | |
"style": "dark", | |
"tags": [ | |
"prometheus" | |
], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-1h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"now": true, | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Prometheus 2.0 Stats", | |
"uid": "iNlanWRgk", | |
"version": 1 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment