-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into feat/basemaps-dem
- Loading branch information
Showing
47 changed files
with
781 additions
and
814 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# Node Local DNS | ||
|
||
When large [argo](./argo.workflows.md) jobs are submitted the kubernetes cluster can sometimes scale up very quickly which can overwhelm the coredns DNS resolvers that are running on the primary nodes. | ||
|
||
To prevent the overload a DNS cache is installed on every new node when it starts. | ||
|
||
It is based off https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/ and it greatly reduces the load on the primary DNS servers. | ||
|
||
## Debugging DNS problems with node local DNS | ||
|
||
If DNS problems occur while node local dns is running, it is recommended to turn it off using the `UseNodeLocalDns = false` constant in `infra/constants.ts` | ||
|
||
## Watching DNS requests | ||
|
||
By default the DNS cache will log any external DNS requests it is resolving (anything that is not ending with `.cluster.local`) since there can be a large number of dns cache pods the following command will tail the logs from | ||
|
||
``` | ||
kubectl logs -n kube-system --all-containers=true -f daemonset/node-local-dns --since=1m --timestamps=true --prefix=true | ||
``` | ||
|
||
### Structured logs | ||
|
||
`coredns` does not provide a simple way of constructing a structured log from the DNS request, it does provide a template system which can be used to craft a JSON log line, if the log line is in structured format like JSON it can be more easily processed into something like elasticsearch for additional debugging. | ||
|
||
For the current log format see `CoreFileJsonLogFormat` and below is a example log request | ||
|
||
```json | ||
{ | ||
"remoteIp": "[2406:da1c:afb:bc0b:d0e3::6]", | ||
"remotePort": 43621, | ||
"protocol": "udp", | ||
"queryId": "14962", | ||
"queryType": "A", | ||
"queryClass": "IN", | ||
"queryName": "logs.ap-southeast-2.amazonaws.com.", | ||
"querySize": 51, | ||
"dnsSecOk": "false", | ||
"responseCode": "NOERROR", | ||
"responseFlags": "qr,rd,ra", | ||
"responseSize": 443 | ||
} | ||
``` |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Default retryStrategy | ||
|
||
The default [`retryStrategy`](https://argo-workflows.readthedocs.io/en/stable/fields/#retrystrategy) is defined at the `workflowDefaults` level in the [Argo Workflow chart configuration](https://github.com/linz/topo-workflows/blob/master/infra/charts/argo.workflows.ts). This will be apply to every step/tasks by default. | ||
|
||
## Overriding | ||
|
||
To override the default `retryStrategy`, it can be done at the workflow or template level by defining a specific `retryStrategy`. | ||
|
||
## Avoiding retry | ||
|
||
For example, to avoid the default `retryStrategy` and make sure the task does not retry: | ||
|
||
```yaml | ||
apiVersion: argoproj.io/v1alpha1 | ||
kind: Workflow | ||
metadata: | ||
generateName: my-wf- | ||
spec: | ||
entrypoint: main | ||
templates: | ||
- name: main | ||
retryStrategy: | ||
expression: 'false' | ||
container: | ||
image: python:alpine3.6 | ||
command: ['python'] | ||
source: | | ||
# Do something that fails ... | ||
``` |
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.