feat: Version bump of all things kubezero-logging to tackle logging hickups
This commit is contained in:
parent
f43a780464
commit
bab6c90185
@ -2,8 +2,8 @@ apiVersion: v2
|
||||
name: kubezero-logging
|
||||
description: KubeZero Umbrella Chart for complete EFK stack
|
||||
type: application
|
||||
version: 0.6.5
|
||||
appVersion: 1.5.0
|
||||
version: 0.7.0
|
||||
appVersion: 1.6.0
|
||||
home: https://kubezero.com
|
||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
||||
keywords:
|
||||
@ -19,13 +19,13 @@ dependencies:
|
||||
version: ">= 0.1.3"
|
||||
repository: https://zero-down-time.github.io/kubezero/
|
||||
- name: eck-operator
|
||||
version: 1.5.0
|
||||
version: 1.6.0
|
||||
# repository: https://helm.elastic.co
|
||||
condition: eck-operator.enabled
|
||||
- name: fluentd
|
||||
version: 0.2.2
|
||||
version: 0.2.6
|
||||
condition: fluentd.enabled
|
||||
- name: fluent-bit
|
||||
version: 0.15.4
|
||||
version: 0.15.14
|
||||
condition: fluent-bit.enabled
|
||||
kubeVersion: ">= 1.18.0"
|
||||
|
@ -1,5 +1,5 @@
|
||||
apiVersion: v2
|
||||
appVersion: 1.5.0
|
||||
appVersion: 1.6.0
|
||||
description: 'A Helm chart for deploying the Elastic Cloud on Kubernetes (ECK) operator: the official Kubernetes operator for orchestrating Elasticsearch, Kibana, APM Server, Enterprise Search, and Beats.'
|
||||
home: https://github.com/elastic/cloud-on-k8s
|
||||
icon: https://helm.elastic.co/icons/eck.png
|
||||
@ -17,4 +17,4 @@ maintainers:
|
||||
name: Elastic
|
||||
name: eck-operator
|
||||
type: application
|
||||
version: 1.5.0
|
||||
version: 1.6.0
|
||||
|
@ -10,8 +10,8 @@ metadata:
|
||||
app.kubernetes.io/instance: 'logging'
|
||||
app.kubernetes.io/managed-by: 'Helm'
|
||||
app.kubernetes.io/name: 'eck-operator-crds'
|
||||
app.kubernetes.io/version: '1.5.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.5.0'
|
||||
app.kubernetes.io/version: '1.6.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.6.0'
|
||||
name: agents.agent.k8s.elastic.co
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
@ -191,6 +191,13 @@ spec:
|
||||
type: string
|
||||
outputName:
|
||||
type: string
|
||||
serviceName:
|
||||
description: ServiceName is the name of an existing Kubernetes
|
||||
service which will be used to make requests to the referenced
|
||||
object. It has to be in the same namespace as the referenced
|
||||
resource. If left empty the default HTTP service of the referenced
|
||||
resource will be used.
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
@ -239,7 +246,7 @@ spec:
|
||||
type: array
|
||||
serviceAccountName:
|
||||
description: ServiceAccountName is used to check access from the current
|
||||
resource to a Elasticsearch resource in a different namespace. Can
|
||||
resource to an Elasticsearch resource in a different namespace. Can
|
||||
only be used if ECK is enforcing RBAC on references.
|
||||
type: string
|
||||
version:
|
||||
@ -297,8 +304,8 @@ metadata:
|
||||
app.kubernetes.io/instance: 'logging'
|
||||
app.kubernetes.io/managed-by: 'Helm'
|
||||
app.kubernetes.io/name: 'eck-operator-crds'
|
||||
app.kubernetes.io/version: '1.5.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.5.0'
|
||||
app.kubernetes.io/version: '1.6.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.6.0'
|
||||
name: apmservers.apm.k8s.elastic.co
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
@ -366,6 +373,13 @@ spec:
|
||||
description: Namespace of the Kubernetes object. If empty, defaults
|
||||
to the current namespace.
|
||||
type: string
|
||||
serviceName:
|
||||
description: ServiceName is the name of an existing Kubernetes service
|
||||
which will be used to make requests to the referenced object.
|
||||
It has to be in the same namespace as the referenced resource.
|
||||
If left empty the default HTTP service of the referenced resource
|
||||
will be used.
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
@ -757,6 +771,13 @@ spec:
|
||||
description: Namespace of the Kubernetes object. If empty, defaults
|
||||
to the current namespace.
|
||||
type: string
|
||||
serviceName:
|
||||
description: ServiceName is the name of an existing Kubernetes service
|
||||
which will be used to make requests to the referenced object.
|
||||
It has to be in the same namespace as the referenced resource.
|
||||
If left empty the default HTTP service of the referenced resource
|
||||
will be used.
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
@ -873,8 +894,8 @@ metadata:
|
||||
app.kubernetes.io/instance: 'logging'
|
||||
app.kubernetes.io/managed-by: 'Helm'
|
||||
app.kubernetes.io/name: 'eck-operator-crds'
|
||||
app.kubernetes.io/version: '1.5.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.5.0'
|
||||
app.kubernetes.io/version: '1.6.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.6.0'
|
||||
name: beats.beat.k8s.elastic.co
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
@ -1055,6 +1076,13 @@ spec:
|
||||
description: Namespace of the Kubernetes object. If empty, defaults
|
||||
to the current namespace.
|
||||
type: string
|
||||
serviceName:
|
||||
description: ServiceName is the name of an existing Kubernetes service
|
||||
which will be used to make requests to the referenced object.
|
||||
It has to be in the same namespace as the referenced resource.
|
||||
If left empty the default HTTP service of the referenced resource
|
||||
will be used.
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
@ -1074,6 +1102,13 @@ spec:
|
||||
description: Namespace of the Kubernetes object. If empty, defaults
|
||||
to the current namespace.
|
||||
type: string
|
||||
serviceName:
|
||||
description: ServiceName is the name of an existing Kubernetes service
|
||||
which will be used to make requests to the referenced object.
|
||||
It has to be in the same namespace as the referenced resource.
|
||||
If left empty the default HTTP service of the referenced resource
|
||||
will be used.
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
@ -1182,8 +1217,535 @@ metadata:
|
||||
app.kubernetes.io/instance: 'logging'
|
||||
app.kubernetes.io/managed-by: 'Helm'
|
||||
app.kubernetes.io/name: 'eck-operator-crds'
|
||||
app.kubernetes.io/version: '1.5.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.5.0'
|
||||
app.kubernetes.io/version: '1.6.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.6.0'
|
||||
name: elasticmapsservers.maps.k8s.elastic.co
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
- JSONPath: .status.health
|
||||
name: health
|
||||
type: string
|
||||
- JSONPath: .status.availableNodes
|
||||
description: Available nodes
|
||||
name: nodes
|
||||
type: integer
|
||||
- JSONPath: .status.version
|
||||
description: ElasticMapsServer version
|
||||
name: version
|
||||
type: string
|
||||
- JSONPath: .metadata.creationTimestamp
|
||||
name: age
|
||||
type: date
|
||||
group: maps.k8s.elastic.co
|
||||
names:
|
||||
categories:
|
||||
- elastic
|
||||
kind: ElasticMapsServer
|
||||
listKind: ElasticMapsServerList
|
||||
plural: elasticmapsservers
|
||||
shortNames:
|
||||
- ems
|
||||
singular: elasticmapsserver
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
description: ElasticMapsServer represents an Elastic Map Server resource in
|
||||
a Kubernetes cluster.
|
||||
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: MapsSpec holds the specification of an Elastic Maps Server
|
||||
instance.
|
||||
properties:
|
||||
config:
|
||||
description: 'Config holds the ElasticMapsServer configuration. See:
|
||||
https://www.elastic.co/guide/en/kibana/current/maps-connect-to-ems.html#elastic-maps-server-configuration'
|
||||
type: object
|
||||
configRef:
|
||||
description: ConfigRef contains a reference to an existing Kubernetes
|
||||
Secret holding the Elastic Maps Server configuration. Configuration
|
||||
settings are merged and have precedence over settings specified in
|
||||
`config`.
|
||||
properties:
|
||||
secretName:
|
||||
description: SecretName is the name of the secret.
|
||||
type: string
|
||||
type: object
|
||||
count:
|
||||
description: Count of Elastic Maps Server instances to deploy.
|
||||
format: int32
|
||||
type: integer
|
||||
elasticsearchRef:
|
||||
description: ElasticsearchRef is a reference to an Elasticsearch cluster
|
||||
running in the same Kubernetes cluster.
|
||||
properties:
|
||||
name:
|
||||
description: Name of the Kubernetes object.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace of the Kubernetes object. If empty, defaults
|
||||
to the current namespace.
|
||||
type: string
|
||||
serviceName:
|
||||
description: ServiceName is the name of an existing Kubernetes service
|
||||
which will be used to make requests to the referenced object.
|
||||
It has to be in the same namespace as the referenced resource.
|
||||
If left empty the default HTTP service of the referenced resource
|
||||
will be used.
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
http:
|
||||
description: HTTP holds the HTTP layer configuration for Elastic Maps
|
||||
Server.
|
||||
properties:
|
||||
service:
|
||||
description: Service defines the template for the associated Kubernetes
|
||||
Service object.
|
||||
properties:
|
||||
metadata:
|
||||
description: ObjectMeta is the metadata of the service. The
|
||||
name and namespace provided here are managed by ECK and will
|
||||
be ignored.
|
||||
type: object
|
||||
spec:
|
||||
description: Spec is the specification of the service.
|
||||
properties:
|
||||
allocateLoadBalancerNodePorts:
|
||||
description: allocateLoadBalancerNodePorts defines if NodePorts
|
||||
will be automatically allocated for services with type
|
||||
LoadBalancer. Default is "true". It may be set to "false"
|
||||
if the cluster load-balancer does not rely on NodePorts.
|
||||
allocateLoadBalancerNodePorts may only be set for services
|
||||
with type LoadBalancer and will be cleared if the type
|
||||
is changed to any other type. This field is alpha-level
|
||||
and is only honored by servers that enable the ServiceLBNodePortControl
|
||||
feature.
|
||||
type: boolean
|
||||
clusterIP:
|
||||
description: 'clusterIP is the IP address of the service
|
||||
and is usually assigned randomly. If an address is specified
|
||||
manually, is in-range (as per system configuration), and
|
||||
is not in use, it will be allocated to the service; otherwise
|
||||
creation of the service will fail. This field may not
|
||||
be changed through updates unless the type field is also
|
||||
being changed to ExternalName (which requires this field
|
||||
to be blank) or the type field is being changed from ExternalName
|
||||
(in which case this field may optionally be specified,
|
||||
as describe above). Valid values are "None", empty string
|
||||
(""), or a valid IP address. Setting this to "None" makes
|
||||
a "headless service" (no virtual IP), which is useful
|
||||
when direct endpoint connections are preferred and proxying
|
||||
is not required. Only applies to types ClusterIP, NodePort,
|
||||
and LoadBalancer. If this field is specified when creating
|
||||
a Service of type ExternalName, creation will fail. This
|
||||
field will be wiped when updating a Service to type ExternalName.
|
||||
More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies'
|
||||
type: string
|
||||
clusterIPs:
|
||||
description: "ClusterIPs is a list of IP addresses assigned
|
||||
to this service, and are usually assigned randomly. If
|
||||
an address is specified manually, is in-range (as per
|
||||
system configuration), and is not in use, it will be allocated
|
||||
to the service; otherwise creation of the service will
|
||||
fail. This field may not be changed through updates unless
|
||||
the type field is also being changed to ExternalName (which
|
||||
requires this field to be empty) or the type field is
|
||||
being changed from ExternalName (in which case this field
|
||||
may optionally be specified, as describe above). Valid
|
||||
values are \"None\", empty string (\"\"), or a valid IP
|
||||
address. Setting this to \"None\" makes a \"headless
|
||||
service\" (no virtual IP), which is useful when direct
|
||||
endpoint connections are preferred and proxying is not
|
||||
required. Only applies to types ClusterIP, NodePort,
|
||||
and LoadBalancer. If this field is specified when creating
|
||||
a Service of type ExternalName, creation will fail. This
|
||||
field will be wiped when updating a Service to type ExternalName.
|
||||
\ If this field is not specified, it will be initialized
|
||||
from the clusterIP field. If this field is specified,
|
||||
clients must ensure that clusterIPs[0] and clusterIP have
|
||||
the same value. \n Unless the \"IPv6DualStack\" feature
|
||||
gate is enabled, this field is limited to one value, which
|
||||
must be the same as the clusterIP field. If the feature
|
||||
gate is enabled, this field may hold a maximum of two
|
||||
entries (dual-stack IPs, in either order). These IPs
|
||||
must correspond to the values of the ipFamilies field.
|
||||
Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy
|
||||
field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies"
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
externalIPs:
|
||||
description: externalIPs is a list of IP addresses for which
|
||||
nodes in the cluster will also accept traffic for this
|
||||
service. These IPs are not managed by Kubernetes. The
|
||||
user is responsible for ensuring that traffic arrives
|
||||
at a node with this IP. A common example is external
|
||||
load-balancers that are not part of the Kubernetes system.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
externalName:
|
||||
description: externalName is the external reference that
|
||||
discovery mechanisms will return as an alias for this
|
||||
service (e.g. a DNS CNAME record). No proxying will be
|
||||
involved. Must be a lowercase RFC-1123 hostname (https://tools.ietf.org/html/rfc1123)
|
||||
and requires Type to be
|
||||
type: string
|
||||
externalTrafficPolicy:
|
||||
description: externalTrafficPolicy denotes if this Service
|
||||
desires to route external traffic to node-local or cluster-wide
|
||||
endpoints. "Local" preserves the client source IP and
|
||||
avoids a second hop for LoadBalancer and Nodeport type
|
||||
services, but risks potentially imbalanced traffic spreading.
|
||||
"Cluster" obscures the client source IP and may cause
|
||||
a second hop to another node, but should have good overall
|
||||
load-spreading.
|
||||
type: string
|
||||
healthCheckNodePort:
|
||||
description: healthCheckNodePort specifies the healthcheck
|
||||
nodePort for the service. This only applies when type
|
||||
is set to LoadBalancer and externalTrafficPolicy is set
|
||||
to Local. If a value is specified, is in-range, and is
|
||||
not in use, it will be used. If not specified, a value
|
||||
will be automatically allocated. External systems (e.g.
|
||||
load-balancers) can use this port to determine if a given
|
||||
node holds endpoints for this service or not. If this
|
||||
field is specified when creating a Service which does
|
||||
not need it, creation will fail. This field will be wiped
|
||||
when updating a Service to no longer need it (e.g. changing
|
||||
type).
|
||||
format: int32
|
||||
type: integer
|
||||
ipFamilies:
|
||||
description: "IPFamilies is a list of IP families (e.g.
|
||||
IPv4, IPv6) assigned to this service, and is gated by
|
||||
the \"IPv6DualStack\" feature gate. This field is usually
|
||||
assigned automatically based on cluster configuration
|
||||
and the ipFamilyPolicy field. If this field is specified
|
||||
manually, the requested family is available in the cluster,
|
||||
and ipFamilyPolicy allows it, it will be used; otherwise
|
||||
creation of the service will fail. This field is conditionally
|
||||
mutable: it allows for adding or removing a secondary
|
||||
IP family, but it does not allow changing the primary
|
||||
IP family of the Service. Valid values are \"IPv4\" and
|
||||
\"IPv6\". This field only applies to Services of types
|
||||
ClusterIP, NodePort, and LoadBalancer, and does apply
|
||||
to \"headless\" services. This field will be wiped when
|
||||
updating a Service to type ExternalName. \n This field
|
||||
may hold a maximum of two entries (dual-stack families,
|
||||
in either order). These families must correspond to the
|
||||
values of the clusterIPs field, if specified. Both clusterIPs
|
||||
and ipFamilies are governed by the ipFamilyPolicy field."
|
||||
items:
|
||||
description: IPFamily represents the IP Family (IPv4 or
|
||||
IPv6). This type is used to express the family of an
|
||||
IP expressed by a type (e.g. service.spec.ipFamilies).
|
||||
type: string
|
||||
type: array
|
||||
ipFamilyPolicy:
|
||||
description: IPFamilyPolicy represents the dual-stack-ness
|
||||
requested or required by this Service, and is gated by
|
||||
the "IPv6DualStack" feature gate. If there is no value
|
||||
provided, then this field will be set to SingleStack.
|
||||
Services can be "SingleStack" (a single IP family), "PreferDualStack"
|
||||
(two IP families on dual-stack configured clusters or
|
||||
a single IP family on single-stack clusters), or "RequireDualStack"
|
||||
(two IP families on dual-stack configured clusters, otherwise
|
||||
fail). The ipFamilies and clusterIPs fields depend on
|
||||
the value of this field. This field will be wiped when
|
||||
updating a service to type ExternalName.
|
||||
type: string
|
||||
loadBalancerIP:
|
||||
description: 'Only applies to Service Type: LoadBalancer
|
||||
LoadBalancer will get created with the IP specified in
|
||||
this field. This feature depends on whether the underlying
|
||||
cloud-provider supports specifying the loadBalancerIP
|
||||
when a load balancer is created. This field will be ignored
|
||||
if the cloud-provider does not support the feature.'
|
||||
type: string
|
||||
loadBalancerSourceRanges:
|
||||
description: 'If specified and supported by the platform,
|
||||
this will restrict traffic through the cloud-provider
|
||||
load-balancer will be restricted to the specified client
|
||||
IPs. This field will be ignored if the cloud-provider
|
||||
does not support the feature." More info: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/'
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
ports:
|
||||
description: 'The list of ports that are exposed by this
|
||||
service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies'
|
||||
items:
|
||||
description: ServicePort contains information on service's
|
||||
port.
|
||||
properties:
|
||||
appProtocol:
|
||||
description: The application protocol for this port.
|
||||
This field follows standard Kubernetes label syntax.
|
||||
Un-prefixed names are reserved for IANA standard
|
||||
service names (as per RFC-6335 and http://www.iana.org/assignments/service-names).
|
||||
Non-standard protocols should use prefixed names
|
||||
such as mycompany.com/my-custom-protocol. This is
|
||||
a beta field that is guarded by the ServiceAppProtocol
|
||||
feature gate and enabled by default.
|
||||
type: string
|
||||
name:
|
||||
description: The name of this port within the service.
|
||||
This must be a DNS_LABEL. All ports within a ServiceSpec
|
||||
must have unique names. When considering the endpoints
|
||||
for a Service, this must match the 'name' field
|
||||
in the EndpointPort. Optional if only one ServicePort
|
||||
is defined on this service.
|
||||
type: string
|
||||
nodePort:
|
||||
description: 'The port on each node on which this
|
||||
service is exposed when type is NodePort or LoadBalancer. Usually
|
||||
assigned by the system. If a value is specified,
|
||||
in-range, and not in use it will be used, otherwise
|
||||
the operation will fail. If not specified, a port
|
||||
will be allocated if this Service requires one. If
|
||||
this field is specified when creating a Service
|
||||
which does not need it, creation will fail. This
|
||||
field will be wiped when updating a Service to no
|
||||
longer need it (e.g. changing type from NodePort
|
||||
to ClusterIP). More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport'
|
||||
format: int32
|
||||
type: integer
|
||||
port:
|
||||
description: The port that will be exposed by this
|
||||
service.
|
||||
format: int32
|
||||
type: integer
|
||||
protocol:
|
||||
description: The IP protocol for this port. Supports
|
||||
"TCP", "UDP", and "SCTP". Default is TCP.
|
||||
type: string
|
||||
targetPort:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
description: 'Number or name of the port to access
|
||||
on the pods targeted by the service. Number must
|
||||
be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
|
||||
If this is a string, it will be looked up as a named
|
||||
port in the target Pod''s container ports. If this
|
||||
is not specified, the value of the ''port'' field
|
||||
is used (an identity map). This field is ignored
|
||||
for services with clusterIP=None, and should be
|
||||
omitted or set equal to the ''port'' field. More
|
||||
info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service'
|
||||
required:
|
||||
- port
|
||||
type: object
|
||||
type: array
|
||||
publishNotReadyAddresses:
|
||||
description: publishNotReadyAddresses indicates that any
|
||||
agent which deals with endpoints for this Service should
|
||||
disregard any indications of ready/not-ready. The primary
|
||||
use case for setting this field is for a StatefulSet's
|
||||
Headless Service to propagate SRV DNS records for its
|
||||
Pods for the purpose of peer discovery. The Kubernetes
|
||||
controllers that generate Endpoints and EndpointSlice
|
||||
resources for Services interpret this to mean that all
|
||||
endpoints are considered "ready" even if the Pods themselves
|
||||
are not. Agents which consume only Kubernetes generated
|
||||
endpoints through the Endpoints or EndpointSlice resources
|
||||
can safely assume this behavior.
|
||||
type: boolean
|
||||
selector:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Route service traffic to pods with label keys
|
||||
and values matching this selector. If empty or not present,
|
||||
the service is assumed to have an external process managing
|
||||
its endpoints, which Kubernetes will not modify. Only
|
||||
applies to types ClusterIP, NodePort, and LoadBalancer.
|
||||
Ignored if type is ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/'
|
||||
type: object
|
||||
sessionAffinity:
|
||||
description: 'Supports "ClientIP" and "None". Used to maintain
|
||||
session affinity. Enable client IP based session affinity.
|
||||
Must be ClientIP or None. Defaults to None. More info:
|
||||
https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies'
|
||||
type: string
|
||||
sessionAffinityConfig:
|
||||
description: sessionAffinityConfig contains the configurations
|
||||
of session affinity.
|
||||
properties:
|
||||
clientIP:
|
||||
description: clientIP contains the configurations of
|
||||
Client IP based session affinity.
|
||||
properties:
|
||||
timeoutSeconds:
|
||||
description: timeoutSeconds specifies the seconds
|
||||
of ClientIP type session sticky time. The value
|
||||
must be >0 && <=86400(for 1 day) if ServiceAffinity
|
||||
== "ClientIP". Default value is 10800(for 3 hours).
|
||||
format: int32
|
||||
type: integer
|
||||
type: object
|
||||
type: object
|
||||
topologyKeys:
|
||||
description: topologyKeys is a preference-order list of
|
||||
topology keys which implementations of services should
|
||||
use to preferentially sort endpoints when accessing this
|
||||
Service, it can not be used at the same time as externalTrafficPolicy=Local.
|
||||
Topology keys must be valid label keys and at most 16
|
||||
keys may be specified. Endpoints are chosen based on the
|
||||
first topology key with available backends. If this field
|
||||
is specified and all entries have no backends that match
|
||||
the topology of the client, the service has no backends
|
||||
for that client and connections should fail. The special
|
||||
value "*" may be used to mean "any topology". This catch-all
|
||||
value, if used, only makes sense as the last value in
|
||||
the list. If this is not specified or empty, no topology
|
||||
constraints will be applied. This field is alpha-level
|
||||
and is only honored by servers that enable the ServiceTopology
|
||||
feature.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type:
|
||||
description: 'type determines how the Service is exposed.
|
||||
Defaults to ClusterIP. Valid options are ExternalName,
|
||||
ClusterIP, NodePort, and LoadBalancer. "ClusterIP" allocates
|
||||
a cluster-internal IP address for load-balancing to endpoints.
|
||||
Endpoints are determined by the selector or if that is
|
||||
not specified, by manual construction of an Endpoints
|
||||
object or EndpointSlice objects. If clusterIP is "None",
|
||||
no virtual IP is allocated and the endpoints are published
|
||||
as a set of endpoints rather than a virtual IP. "NodePort"
|
||||
builds on ClusterIP and allocates a port on every node
|
||||
which routes to the same endpoints as the clusterIP. "LoadBalancer"
|
||||
builds on NodePort and creates an external load-balancer
|
||||
(if supported in the current cloud) which routes to the
|
||||
same endpoints as the clusterIP. "ExternalName" aliases
|
||||
this service to the specified externalName. Several other
|
||||
fields do not apply to ExternalName services. More info:
|
||||
https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types'
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
tls:
|
||||
description: TLS defines options for configuring TLS for HTTP.
|
||||
properties:
|
||||
certificate:
|
||||
description: "Certificate is a reference to a Kubernetes secret
|
||||
that contains the certificate and private key for enabling
|
||||
TLS. The referenced secret should contain the following: \n
|
||||
- `ca.crt`: The certificate authority (optional). - `tls.crt`:
|
||||
The certificate (or a chain). - `tls.key`: The private key
|
||||
to the first certificate in the certificate chain."
|
||||
properties:
|
||||
secretName:
|
||||
description: SecretName is the name of the secret.
|
||||
type: string
|
||||
type: object
|
||||
selfSignedCertificate:
|
||||
description: SelfSignedCertificate allows configuring the self-signed
|
||||
certificate generated by the operator.
|
||||
properties:
|
||||
disabled:
|
||||
description: Disabled indicates that the provisioning of
|
||||
the self-signed certifcate should be disabled.
|
||||
type: boolean
|
||||
subjectAltNames:
|
||||
description: SubjectAlternativeNames is a list of SANs to
|
||||
include in the generated HTTP TLS certificate.
|
||||
items:
|
||||
description: SubjectAlternativeName represents a SAN entry
|
||||
in a x509 certificate.
|
||||
properties:
|
||||
dns:
|
||||
description: DNS is the DNS name of the subject.
|
||||
type: string
|
||||
ip:
|
||||
description: IP is the IP address of the subject.
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
type: object
|
||||
image:
|
||||
description: Image is the Elastic Maps Server Docker image to deploy.
|
||||
type: string
|
||||
podTemplate:
|
||||
description: PodTemplate provides customisation options (labels, annotations,
|
||||
affinity rules, resource requests, and so on) for the Elastic Maps
|
||||
Server pods
|
||||
type: object
|
||||
serviceAccountName:
|
||||
description: ServiceAccountName is used to check access from the current
|
||||
resource to a resource (eg. Elasticsearch) in a different namespace.
|
||||
Can only be used if ECK is enforcing RBAC on references.
|
||||
type: string
|
||||
version:
|
||||
description: Version of Elastic Maps Server.
|
||||
type: string
|
||||
required:
|
||||
- version
|
||||
type: object
|
||||
status:
|
||||
description: MapsStatus defines the observed state of Elastic Maps Server
|
||||
properties:
|
||||
associationStatus:
|
||||
description: AssociationStatus is the status of an association resource.
|
||||
type: string
|
||||
availableNodes:
|
||||
description: AvailableNodes is the number of available replicas in the
|
||||
deployment.
|
||||
format: int32
|
||||
type: integer
|
||||
health:
|
||||
description: Health of the deployment.
|
||||
type: string
|
||||
version:
|
||||
description: 'Version of the stack resource currently running. During
|
||||
version upgrades, multiple versions may run in parallel: this value
|
||||
specifies the lowest version currently running.'
|
||||
type: string
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
||||
---
|
||||
# Source: eck-operator-crds/templates/all-crds.yaml
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.5.0
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
app.kubernetes.io/instance: 'logging'
|
||||
app.kubernetes.io/managed-by: 'Helm'
|
||||
app.kubernetes.io/name: 'eck-operator-crds'
|
||||
app.kubernetes.io/version: '1.6.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.6.0'
|
||||
name: elasticsearches.elasticsearch.k8s.elastic.co
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
@ -1985,6 +2547,13 @@ spec:
|
||||
description: Namespace of the Kubernetes object. If empty,
|
||||
defaults to the current namespace.
|
||||
type: string
|
||||
serviceName:
|
||||
description: ServiceName is the name of an existing Kubernetes
|
||||
service which will be used to make requests to the referenced
|
||||
object. It has to be in the same namespace as the referenced
|
||||
resource. If left empty the default HTTP service of the
|
||||
referenced resource will be used.
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
@ -2478,8 +3047,8 @@ metadata:
|
||||
app.kubernetes.io/instance: 'logging'
|
||||
app.kubernetes.io/managed-by: 'Helm'
|
||||
app.kubernetes.io/name: 'eck-operator-crds'
|
||||
app.kubernetes.io/version: '1.5.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.5.0'
|
||||
app.kubernetes.io/version: '1.6.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.6.0'
|
||||
name: enterprisesearches.enterprisesearch.k8s.elastic.co
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
@ -2558,6 +3127,13 @@ spec:
|
||||
description: Namespace of the Kubernetes object. If empty, defaults
|
||||
to the current namespace.
|
||||
type: string
|
||||
serviceName:
|
||||
description: ServiceName is the name of an existing Kubernetes service
|
||||
which will be used to make requests to the referenced object.
|
||||
It has to be in the same namespace as the referenced resource.
|
||||
If left empty the default HTTP service of the referenced resource
|
||||
will be used.
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
@ -3002,8 +3578,8 @@ metadata:
|
||||
app.kubernetes.io/instance: 'logging'
|
||||
app.kubernetes.io/managed-by: 'Helm'
|
||||
app.kubernetes.io/name: 'eck-operator-crds'
|
||||
app.kubernetes.io/version: '1.5.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.5.0'
|
||||
app.kubernetes.io/version: '1.6.0'
|
||||
helm.sh/chart: 'eck-operator-crds-1.6.0'
|
||||
name: kibanas.kibana.k8s.elastic.co
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
@ -3071,6 +3647,13 @@ spec:
|
||||
description: Namespace of the Kubernetes object. If empty, defaults
|
||||
to the current namespace.
|
||||
type: string
|
||||
serviceName:
|
||||
description: ServiceName is the name of an existing Kubernetes service
|
||||
which will be used to make requests to the referenced object.
|
||||
It has to be in the same namespace as the referenced resource.
|
||||
If left empty the default HTTP service of the referenced resource
|
||||
will be used.
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
|
@ -303,6 +303,20 @@ RBAC permissions
|
||||
- update
|
||||
- patch
|
||||
- delete
|
||||
- apiGroups:
|
||||
- maps.k8s.elastic.co
|
||||
resources:
|
||||
- elasticmapsservers
|
||||
- elasticmapsservers/status
|
||||
- elasticmapsservers/finalizers # needed for ownerReferences with blockOwnerDeletion on OCP
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
- delete
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
|
@ -35,6 +35,12 @@ rules:
|
||||
- apiGroups: ["beat.k8s.elastic.co"]
|
||||
resources: ["beats"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
- apiGroups: ["agent.k8s.elastic.co"]
|
||||
resources: ["agents"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
- apiGroups: ["maps.k8s.elastic.co"]
|
||||
resources: ["elasticmapsservers"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
@ -60,4 +66,10 @@ rules:
|
||||
- apiGroups: ["beat.k8s.elastic.co"]
|
||||
resources: ["beats"]
|
||||
verbs: ["create", "delete", "deletecollection", "patch", "update"]
|
||||
- apiGroups: ["agent.k8s.elastic.co"]
|
||||
resources: ["agents"]
|
||||
verbs: ["create", "delete", "deletecollection", "patch", "update"]
|
||||
- apiGroups: ["maps.k8s.elastic.co"]
|
||||
resources: ["elasticmapsservers"]
|
||||
verbs: ["create", "delete", "deletecollection", "patch", "update"]
|
||||
{{- end -}}
|
||||
|
@ -6,5 +6,4 @@ metadata:
|
||||
name: {{ .Release.Namespace }}
|
||||
labels:
|
||||
name: {{ .Release.Namespace }}
|
||||
{{- include "eck-operator.labels" $ | nindent 4 }}
|
||||
{{- end -}}
|
||||
|
@ -0,0 +1,36 @@
|
||||
{{- $metricsPort := int .Values.config.metricsPort -}}
|
||||
{{- if and .Values.podMonitor.enabled (gt $metricsPort 0) }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: PodMonitor
|
||||
metadata:
|
||||
name: {{ include "eck-operator.fullname" . }}
|
||||
namespace: {{ ternary .Values.podMonitor.namespace .Release.Namespace (not (empty .Values.podMonitor.namespace)) }}
|
||||
labels: {{- include "eck-operator.labels" . | nindent 4 }}
|
||||
{{- if .Values.podMonitor.labels }}
|
||||
{{- toYaml .Values.podMonitor.labels | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.podMonitor.annotations }}
|
||||
annotations: {{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.podMonitor.podTargetLabels }}
|
||||
podTargetLabels: {{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
podMetricsEndpoints:
|
||||
- port: metrics
|
||||
path: /metrics
|
||||
{{- if .Values.podMonitor.interval }}
|
||||
interval: {{ .Values.podMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.podMonitor.scrapeTimeout }}
|
||||
scrapeTimeout: {{ .Values.podMonitor.scrapeTimeout }}
|
||||
{{- end }}
|
||||
{{- if .Values.podMonitor.podMetricsEndpointConfig }}
|
||||
{{- toYaml .Values.podMonitor.podMetricsEndpointConfig | nindent 6 }}
|
||||
{{- end }}
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Release.Namespace }}
|
||||
selector:
|
||||
matchLabels: {{- include "eck-operator.selectorLabels" . | nindent 6 }}
|
||||
{{- end }}
|
@ -1,3 +1,4 @@
|
||||
{{- $metricsPort := int .Values.config.metricsPort -}}
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
@ -24,6 +25,9 @@ spec:
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "eck-operator.selectorLabels" . | nindent 8 }}
|
||||
{{- with .Values.podLabels }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
terminationGracePeriodSeconds: 10
|
||||
serviceAccountName: {{ include "eck-operator.serviceAccountName" . }}
|
||||
@ -73,12 +77,19 @@ spec:
|
||||
resources:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.webhook.enabled }}
|
||||
{{- if or (gt $metricsPort 0) .Values.webhook.enabled }}
|
||||
ports:
|
||||
{{- if (gt $metricsPort 0) }}
|
||||
- containerPort: {{ .Values.config.metricsPort }}
|
||||
name: metrics
|
||||
protocol: TCP
|
||||
{{- end }}
|
||||
{{- if .Values.webhook.enabled }}
|
||||
- containerPort: 9443
|
||||
name: https-webhook
|
||||
protocol: TCP
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- mountPath: "/conf"
|
||||
name: conf
|
||||
|
@ -40,6 +40,9 @@ resources:
|
||||
# podAnnotations define the annotations that should be added to the operator pod.
|
||||
podAnnotations: {}
|
||||
|
||||
## podLabels define additional labels that should be added to the operator pod.
|
||||
podLabels: {}
|
||||
|
||||
# podSecurityContext defines the pod security context for the operator pod.
|
||||
podSecurityContext:
|
||||
runAsNonRoot: true
|
||||
@ -165,6 +168,37 @@ config:
|
||||
# Can be disabled if cluster-wide storage class RBAC access is not available.
|
||||
validateStorageClass: true
|
||||
|
||||
# Prometheus PodMonitor configuration
|
||||
# Reference: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#podmonitor
|
||||
podMonitor:
|
||||
|
||||
# enabled determines whether a podMonitor should deployed to scrape the eck metrics.
|
||||
# This requires the prometheus operator and the config.metricsPort not to be 0
|
||||
enabled: false
|
||||
|
||||
# labels adds additional labels to the podMonitor
|
||||
labels: {}
|
||||
|
||||
# annotations adds additional annotations to the podMonitor
|
||||
annotations: {}
|
||||
|
||||
# namespace determines in which namespace the podMonitor will be deployed.
|
||||
# If not set the podMonitor will be created in the namespace to release is installed into
|
||||
# namespace: monitoring
|
||||
|
||||
# interval specifies the interval at which metrics should be scraped
|
||||
interval: 5m
|
||||
|
||||
# scrapeTimeout specifies the timeout after which the scrape is ended
|
||||
scrapeTimeout: 30s
|
||||
|
||||
# podTargetLabels transfers labels on the Kubernetes Pod onto the target.
|
||||
podTargetLabels: []
|
||||
|
||||
# podMetricsEndpointConfig allows to add an extended configuration to the podMonitor
|
||||
podMetricsEndpointConfig: {}
|
||||
# honorTimestamps: true
|
||||
|
||||
# Internal use only
|
||||
internal:
|
||||
# manifestGen specifies whether the chart is running under manifest generator.
|
||||
|
@ -1,9 +1,10 @@
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
- Upgrade fluent-bit image to v1.7.3
|
||||
apiVersion: v2
|
||||
appVersion: 1.7.3
|
||||
description: Fast and lightweight log processor and forwarder or Linux, OSX and BSD family operating systems.
|
||||
- Upgrade fluent-bit image to v1.7.8
|
||||
apiVersion: v1
|
||||
appVersion: 1.7.8
|
||||
description: Fast and lightweight log processor and forwarder or Linux, OSX and BSD
|
||||
family operating systems.
|
||||
home: https://fluentbit.io/
|
||||
icon: https://fluentbit.io/assets/img/logo1-default.png
|
||||
keywords:
|
||||
@ -20,4 +21,4 @@ maintainers:
|
||||
name: fluent-bit
|
||||
sources:
|
||||
- https://github.com/fluent/fluent-bit/
|
||||
version: 0.15.4
|
||||
version: 0.15.14
|
||||
|
@ -13,6 +13,14 @@ securityContext:
|
||||
dnsConfig:
|
||||
{{- toYaml . | nindent 2 }}
|
||||
{{- end }}
|
||||
{{- with .Values.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml . | nindent 2 }}
|
||||
{{- end }}
|
||||
{{- if .Values.initContainers }}
|
||||
initContainers:
|
||||
{{- toYaml .Values.initContainers | nindent 2 }}
|
||||
{{- end }}
|
||||
#hostNetwork: true
|
||||
#dnsPolicy: ClusterFirstWithHostNet
|
||||
containers:
|
||||
@ -23,11 +31,11 @@ containers:
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.env }}
|
||||
env:
|
||||
{{- toYaml .Values.env | nindent 4 }}
|
||||
{{- toYaml .Values.env | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.envFrom }}
|
||||
envFrom:
|
||||
{{- toYaml .Values.envFrom | nindent 4 }}
|
||||
{{- toYaml .Values.envFrom | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.args }}
|
||||
args:
|
||||
|
@ -4,7 +4,7 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: dashboard-{{ trimSuffix ".json" (base $path) }}
|
||||
name: {{ include "fluent-bit.fullname" $ }}-dashboard-{{ trimSuffix ".json" (base $path) }}
|
||||
{{- with $.Values.dashboards.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 -}}
|
||||
|
@ -47,6 +47,13 @@ dnsConfig: {}
|
||||
# - name: ndots
|
||||
# value: "2"
|
||||
# - name: edns0
|
||||
|
||||
hostAliases: []
|
||||
# - ip: "1.2.3.4"
|
||||
# hostnames:
|
||||
# - "foo.local"
|
||||
# - "bar.local"
|
||||
|
||||
securityContext:
|
||||
{}
|
||||
# capabilities:
|
||||
@ -261,3 +268,8 @@ daemonSetVolumeMounts:
|
||||
args: []
|
||||
|
||||
command: []
|
||||
|
||||
initContainers: []
|
||||
# - name: do-something
|
||||
# image: busybox
|
||||
# command: ['do', 'something']
|
||||
|
@ -10,4 +10,4 @@ name: fluentd
|
||||
sources:
|
||||
- https://github.com/fluent/fluentd/
|
||||
- https://github.com/fluent/fluentd-kubernetes-daemonset
|
||||
version: 0.2.2
|
||||
version: 0.2.6
|
||||
|
@ -44,13 +44,9 @@ containers:
|
||||
protocol: {{ $port.protocol }}
|
||||
{{- end }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /metrics
|
||||
port: metrics
|
||||
{{- toYaml .Values.livenessProbe | nindent 6 }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /metrics
|
||||
port: metrics
|
||||
{{- toYaml .Values.readinessProbe | nindent 6 }}
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 8 }}
|
||||
volumeMounts:
|
||||
|
@ -4,6 +4,7 @@ apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: dashboard-{{ trimSuffix ".json" (base $path) }}
|
||||
namespace: {{ $.Values.dashboards.namespace | default $.Release.Namespace }}
|
||||
labels:
|
||||
{{- include "fluentd.labels" $ | nindent 4 }}
|
||||
{{- range $key, $val := $.Values.dashboards.labels }}
|
||||
|
39
charts/kubezero-logging/charts/fluentd/templates/hpa.yaml
Normal file
39
charts/kubezero-logging/charts/fluentd/templates/hpa.yaml
Normal file
@ -0,0 +1,39 @@
|
||||
{{- if and ( eq .Values.kind "Deployment" ) .Values.autoscaling.enabled }}
|
||||
apiVersion: autoscaling/v2beta2
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ include "fluentd.fullname" . }}
|
||||
labels:
|
||||
{{- include "fluentd.labels" . | nindent 4 }}
|
||||
spec:
|
||||
{{- if .Values.autoscaling.behavior }}
|
||||
behavior:
|
||||
{{- toYaml .Values.autoscaling.behavior | nindent 4 }}
|
||||
{{- end }}
|
||||
scaleTargetRef:
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
name: {{ include "fluentd.fullname" . }}
|
||||
minReplicas: {{ .Values.autoscaling.minReplicas }}
|
||||
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
|
||||
metrics:
|
||||
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
target:
|
||||
averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||
type: Utilization
|
||||
{{- end }}
|
||||
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: memory
|
||||
target:
|
||||
averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||
type: Utilization
|
||||
{{- end }}
|
||||
{{- if .Values.autoscaling.customRules -}}
|
||||
{{- toYaml .Values.autoscaling.customRules | nindent 4}}
|
||||
{{- end -}}
|
||||
{{- end }}
|
@ -14,7 +14,8 @@ metadata:
|
||||
spec:
|
||||
{{- with .Values.metrics.prometheusRule.rules }}
|
||||
groups:
|
||||
- name: {{ template "fluentd.fullname" . }}
|
||||
rules: {{- toYaml . | nindent 4 }}
|
||||
- name: {{ template "fluentd.fullname" $ }}
|
||||
rules:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -12,6 +12,7 @@ metadata:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
jobLabel: {{ .Values.metrics.serviceMonitor.jobLabel | default .Release.Name }}
|
||||
endpoints:
|
||||
- port: metrics
|
||||
path: /metrics
|
||||
@ -21,6 +22,14 @@ spec:
|
||||
{{- with .Values.metrics.serviceMonitor.scrapeTimeout }}
|
||||
scrapeTimeout: {{ . }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings:
|
||||
{{ tpl (toYaml .Values.metrics.serviceMonitor.metricRelabelings | indent 6) . }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.serviceMonitor.relabelings }}
|
||||
relabelings:
|
||||
{{ toYaml .Values.metrics.serviceMonitor.relabelings | indent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.serviceMonitor.namespaceSelector }}
|
||||
namespaceSelector:
|
||||
{{ toYaml .Values.metrics.serviceMonitor.namespaceSelector | indent 4 -}}
|
||||
|
@ -49,6 +49,30 @@ securityContext: {}
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
# Congigure the livessProbe
|
||||
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /metrics
|
||||
port: metrics
|
||||
# initialDelaySeconds: 0
|
||||
# periodSeconds: 10
|
||||
# timeoutSeconds: 1
|
||||
# successThreshold: 1
|
||||
# failureThreshold: 3
|
||||
|
||||
# Congigure the readinessProbe
|
||||
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /metrics
|
||||
port: metrics
|
||||
# initialDelaySeconds: 0
|
||||
# periodSeconds: 10
|
||||
# timeoutSeconds: 1
|
||||
# successThreshold: 1
|
||||
# failureThreshold: 3
|
||||
|
||||
resources: {}
|
||||
# requests:
|
||||
# cpu: 10m
|
||||
@ -56,6 +80,33 @@ resources: {}
|
||||
# limits:
|
||||
# memory: 128Mi
|
||||
|
||||
## only available if kind is Deployment
|
||||
autoscaling:
|
||||
enabled: false
|
||||
minReplicas: 1
|
||||
maxReplicas: 100
|
||||
targetCPUUtilizationPercentage: 80
|
||||
# targetMemoryUtilizationPercentage: 80
|
||||
## see https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics
|
||||
customRules: []
|
||||
# - type: Pods
|
||||
# pods:
|
||||
# metric:
|
||||
# name: packets-per-second
|
||||
# target:
|
||||
# type: AverageValue
|
||||
# averageValue: 1k
|
||||
## see https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior
|
||||
# behavior:
|
||||
# scaleDown:
|
||||
# policies:
|
||||
# - type: Pods
|
||||
# value: 4
|
||||
# periodSeconds: 60
|
||||
# - type: Percent
|
||||
# value: 10
|
||||
# periodSeconds: 60
|
||||
|
||||
# priorityClassName: "system-node-critical"
|
||||
|
||||
nodeSelector: {}
|
||||
@ -138,6 +189,26 @@ metrics:
|
||||
release: prometheus-operator
|
||||
namespace: ""
|
||||
namespaceSelector: {}
|
||||
## metric relabel configs to apply to samples before ingestion.
|
||||
##
|
||||
metricRelabelings: []
|
||||
# - sourceLabels: [__name__]
|
||||
# separator: ;
|
||||
# regex: ^fluentd_output_status_buffer_(oldest|newest)_.+
|
||||
# replacement: $1
|
||||
# action: drop
|
||||
## relabel configs to apply to samples after ingestion.
|
||||
##
|
||||
relabelings: []
|
||||
# - sourceLabels: [__meta_kubernetes_pod_node_name]
|
||||
# separator: ;
|
||||
# regex: ^(.*)$
|
||||
# targetLabel: nodename
|
||||
# replacement: $1
|
||||
# action: replace
|
||||
## Additional serviceMonitor config
|
||||
##
|
||||
# jobLabel: fluentd
|
||||
# scrapeInterval: 30s
|
||||
# scrapeTimeout: 5s
|
||||
# honorLabels: true
|
||||
@ -147,6 +218,24 @@ metrics:
|
||||
additionalLabels: {}
|
||||
namespace: ""
|
||||
rules: []
|
||||
# - alert: FluentdDown
|
||||
# expr: up{job="fluentd"} == 0
|
||||
# for: 5m
|
||||
# labels:
|
||||
# context: fluentd
|
||||
# severity: warning
|
||||
# annotations:
|
||||
# summary: "Fluentd Down"
|
||||
# description: "{{ $labels.pod }} on {{ $labels.nodename }} is down"
|
||||
# - alert: FluentdScrapeMissing
|
||||
# expr: absent(up{job="fluentd"} == 1)
|
||||
# for: 15m
|
||||
# labels:
|
||||
# context: fluentd
|
||||
# severity: warning
|
||||
# annotations:
|
||||
# summary: "Fluentd Scrape Missing"
|
||||
# description: "Fluentd instance has disappeared from Prometheus target discovery"
|
||||
|
||||
## Grafana Monitoring Dashboard
|
||||
##
|
||||
|
@ -1,15 +1,3 @@
|
||||
diff -tubrN charts/fluent-bit/Chart.yaml charts/fluent-bit.zdt/Chart.yaml
|
||||
--- charts/fluent-bit/Chart.yaml 2021-04-06 13:55:48.000000000 +0200
|
||||
+++ charts/fluent-bit.zdt/Chart.yaml 2021-04-07 11:49:25.955685229 +0200
|
||||
@@ -1,7 +1,7 @@
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
- Upgrade fluent-bit image to v1.7.3
|
||||
-apiVersion: v1
|
||||
+apiVersion: v2
|
||||
appVersion: 1.7.3
|
||||
description: Fast and lightweight log processor and forwarder or Linux, OSX and BSD family operating systems.
|
||||
home: https://fluentbit.io/
|
||||
diff -tubrN charts/fluent-bit/templates/_pod.tpl charts/fluent-bit.zdt/templates/_pod.tpl
|
||||
--- charts/fluent-bit/templates/_pod.tpl 2021-04-06 13:55:48.000000000 +0200
|
||||
+++ charts/fluent-bit.zdt/templates/_pod.tpl 2021-04-07 11:53:45.609030378 +0200
|
||||
|
@ -1,8 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
ECK_VERSION=1.5.0
|
||||
FLUENT_BIT_VERSION=0.15.4
|
||||
FLUENTD_VERSION=0.2.2
|
||||
ECK_VERSION=1.6.0
|
||||
FLUENT_BIT_VERSION=0.15.14
|
||||
FLUENTD_VERSION=0.2.6
|
||||
|
||||
# fix ECK crds handling to adhere to proper helm v3 support which also fixes ArgoCD applyong updates on upgrades
|
||||
helm repo list | grep elastic -qc || { helm repo add elastic https://helm.elastic.co; helm repo update; }
|
||||
|
@ -11,7 +11,7 @@ eck-operator:
|
||||
node-role.kubernetes.io/master: ""
|
||||
|
||||
# Version for ElasticSearch and Kibana have to match so we define it at top-level
|
||||
version: 7.11.1
|
||||
version: 7.13.2
|
||||
|
||||
elastic_password: "" # super_secret_elastic_password
|
||||
|
||||
@ -46,7 +46,7 @@ fluentd:
|
||||
enabled: false
|
||||
image:
|
||||
repository: fluent/fluentd-kubernetes-daemonset
|
||||
tag: v1.12-debian-elasticsearch7-1
|
||||
tag: v1-debian-elasticsearch
|
||||
istio:
|
||||
enabled: false
|
||||
|
||||
@ -192,13 +192,16 @@ fluentd:
|
||||
unrecoverable_error_types ["out_of_memory_error"]
|
||||
bulk_message_request_threshold 2097152
|
||||
|
||||
<buffer tag>
|
||||
<buffer>
|
||||
@type file
|
||||
chunk_limit_size 4MB
|
||||
total_limit_size 2GB
|
||||
|
||||
flush_mode interval
|
||||
flush_thread_count 1
|
||||
flush_interval 30s
|
||||
|
||||
chunk_limit_size 4MB
|
||||
total_limit_size 2GB
|
||||
|
||||
flush_at_shutdown true
|
||||
retry_type exponential_backoff
|
||||
retry_timeout 2h
|
||||
|
Loading…
Reference in New Issue
Block a user