profile
viewpoint
Jimmi Dyson jimmidyson @mesosphere Southampton, UK jimmidyson.github.io

google/cadvisor 11482

Analyzes resource usage and performance characteristics of running containers.

jimmidyson/configmap-reload 528

Simple binary to trigger a reload when a Kubernetes ConfigMap is updated

dcos/client-go 4

DC/OS Client for Go.

jimmidyson/angular-oauth2-oidc 3

Support for OAuth 2 and OpenId Connect (OIDC) in Angular.

jimmidyson/agent-bond 0

A Super Java Agent

jimmidyson/alertmanager 0

Prometheus Alertmanager

issue commentkubernetes-sigs/kubefed

retainReplicas failed

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

lmmmml

comment created time in an hour

Pull request review commentkubernetes-sigs/kubefed

make create-clusters.sh work based on kind document

 gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966 h1:B0J02caTR6tpSJozBJyiAzT6CtBzjclw4pgm9gg8Ys0= gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=+gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ=+gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

see my comment on go.mod.

xunpan

comment created time in 14 hours

Pull request review commentkubernetes-sigs/kubefed

make create-clusters.sh work based on kind document

 github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85n github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gobuffalo/flect v0.2.0 h1:EWCvMGGxOjsgwlWaP+f4+Hh6yrrte7JeFL2S6b+0hdM= github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80=+github.com/gobuffalo/flect v0.2.2 h1:PAVD7sp0KOdfswjAw9BpLCU9hXo7wFSzgpQ+zNeks/A=+github.com/gobuffalo/flect v0.2.2/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc=

see my comment on go.mod.

xunpan

comment created time in 14 hours

Pull request review commentkubernetes-sigs/kubefed

make create-clusters.sh work based on kind document

 go 1.13  require ( 	github.com/go-bindata/go-bindata/v3 v3.1.3+	github.com/gobuffalo/flect v0.2.2 // indirect+	gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect

I'm not sure how these two ended up in here but I'd recommend removing these lines. @jimmidyson you have a hunch what might have caused these to be added?

xunpan

comment created time in 14 hours

Pull request review commentkubernetes-sigs/kubefed

make create-clusters.sh work based on kind document

 set -o pipefail source "${BASH_SOURCE%/*}/util.sh" NUM_CLUSTERS="${NUM_CLUSTERS:-2}" KIND_IMAGE="${KIND_IMAGE:-}"-KIND_TAG="${KIND_TAG:-}"+KIND_TAG="${KIND_TAG:-v1.18.4}"

That makes sense. I referred an old version before 1.19.1. It is updated. Thanks @makkes

xunpan

comment created time in 16 hours

Pull request review commentkubernetes-sigs/kubefed

make create-clusters.sh work based on kind document

 set -o pipefail source "${BASH_SOURCE%/*}/util.sh" NUM_CLUSTERS="${NUM_CLUSTERS:-2}" KIND_IMAGE="${KIND_IMAGE:-}"-KIND_TAG="${KIND_TAG:-}"+KIND_TAG="${KIND_TAG:-v1.18.4}"

In the pre-commit hook we're using v1.19.1@sha256:98cf5288864662e37115e362b23e4369c8c4a408f99cbc06e58ac30ddc721600. I'd recommend to use the same version by default or rather pull the version in from there or some other common location so we don't have to maintain two locations for this variable.

xunpan

comment created time in 17 hours

pull request commentkubernetes-sigs/kubefed

make create-clusters.sh work based on kind document

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: <a href="https://github.com/kubernetes-sigs/kubefed/pull/1323#" title="Author self-approved">xunpan</a>

The full list of commands accepted by this bot can be found here.

The pull request process is described here

<details > Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment </details> <!-- META={"approvers":[]} -->

xunpan

comment created time in 17 hours

PR opened kubernetes-sigs/kubefed

make create-clusters.sh work based on kind document

<!-- Thanks for sending a pull request! Here are some tips for you:

  1. If this is your first time, read our contributor guidelines https://git.k8s.io/community/contributors/guide#your-first-contribution and developer guide https://git.k8s.io/community/contributors/devel/development.md#development-guide
  2. If you want faster PR reviews, read how: https://git.k8s.io/community/contributors/guide/pull-requests.md#best-practices-for-faster-reviews
  3. Add an entry to CHANGELOG.md if the PR represents a user-visible change.
  4. If the PR is unfinished, see how to mark it: https://git.k8s.io/community/contributors/guide/pull-requests.md#marking-unfinished-pull-requests -->

What this PR does / why we need it: The script should work based on documents.

  1. I add default TAG for the node image to make it work by default.
  2. I add 2 environment variables documented in kind doc

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged): Fixes #1322

Special notes for your reviewer:

+13 -1

0 comment

2 changed files

pr created time in 17 hours

issue openedkubernetes-sigs/kubefed

create cluster script does not work by default according to kind document

<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks!-->

What happened:

$ ./scripts/create-clusters.sh 
Creating 2 clusters
ERROR: unknown command "" for "kind create cluster"

<!-- DO NOT EDIT BELOW THIS LINE --> /kind bug

created time in 17 hours

issue commentkubernetes-sigs/kubefed

Generated federated types should set preserveUnknownFields to false

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

marun

comment created time in 2 days

startedEdlinOrg/prominentcolor

started time in 3 days

startedbenbjohnson/clock

started time in 3 days

created repositoryprogrium/zt100

created time in 4 days

pull request commentkubernetes-sigs/kubefed

feat: collect remote resource status when enabled

As promised, I am sharing the results of some local tests about the resource usage of the current kubefed status collection versus the additional remote status collection provided in this PR.

We run incremental tests over two different clusters running kubefed v0.5.0 and a build kubefed_fed_remote_status with the code of this PR. These tests created respectively N number of federated namespaces for which 2 federated services and 2 federated deployments were created.

N FederatedNamespace => 2*N FederatedService and 2*N FederatedDeployments

The clusters were both instrumented with Prometheus as monitoring tool to collect metrics, and at the same time cpu and heap profiles were captured.

I am sharing couple of charts that extracted from the global resource usage focusing on the SetFederatedStatus action whose logic slightly changed here.

In the first graph, I show the CPU usage time (%) of the FederatedStatusAction for each one of the 4 tests:

Screen Shot 2020-11-27 at 3 09 05 PM

A flamegraph of the current kubefed version v0.5.0 using the cpu pprof file with 1000 federated resources: Screen Shot 2020-11-27 at 3 26 58 PM

And a flamegraph of the proposed solution using the cpu pprof file with 1000 federated resources:

Screen Shot 2020-11-27 at 3 27 08 PM

The second chart highlights the percentage of memory allocation to the FederatedStatusAction. There is a small and obvious increment due to the memory allocation to store the remote status from the resources. This increment is overall extra 60MB of memory consumption when handling 3000 federated resources with their status.

Screen Shot 2020-11-27 at 3 08 59 PM

Both flamegraphs about the allocatted memory space based on the heap pprof file:

Screen Shot 2020-11-27 at 1 22 59 PM

and

Screen Shot 2020-11-27 at 1 23 06 PM

The following chart shows the memory in-use consumed by the json.DecodeState action. This value has to be higher because the size of the decoding data is bigger as well. However the growth of both approach remains parallel and following a similar increment.

Screen Shot 2020-11-27 at 3 08 45 PM

Note that, a cooling down period was reserved after each test to give some time to the system to stabilize.

hectorj2f

comment created time in 4 days

startedjimmidyson/configmap-reload

started time in 4 days

startedjimmidyson/configmap-reload

started time in 5 days

created repositoryjstrachan/knative-quickstart

a little quickstart showing some knative services

created time in 6 days

startedistio-ecosystem/wasm-extensions

started time in 6 days

created repositoryhekonsek/dkr-saml2aws

created time in 8 days

PublicEvent

created repositoryjenkins-x-plugins/jx-mink

a plugin for using mink inside Jenkins X

created time in 8 days

PublicEvent

issue commentkubernetes-sigs/kubefed

kubefed doesn't use the MacOs DNS resolver

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle rotten

eugene-dm

comment created time in 11 days

fork jstrachan/mink

A minimal distribution of Knative and Tekton, and CLI.

fork in 11 days

issue closedjimmidyson/configmap-reload

Nginx did not reload the configuration file

[root@p47659v reload]# kubectl logs reload-pod -n lc 2020/11/20 06:40:04 Watching directory: "/tmp/conf" 2020/11/20 06:41:25 config map updated 2020/11/20 06:41:25 performing webhook request (1/1) 2020/11/20 06:41:25 successfully triggered reload

Before modification [root@p47659v reload]# kubectl get cm my-nginx-test -o yaml apiVersion: v1 data: my-nginx.conf: | server{ listen 80; server_name www.my-test-nginx.com; gzip on; gzip_types text/plain application/xml;

location / {
  root /usr/share/nginx/html;
  index index.html index.htm;
}
}

kind: ConfigMap metadata: creationTimestamp: "2020-11-20T03:11:35Z" name: my-nginx-test namespace: default resourceVersion: "3369946" selfLink: /api/v1/namespaces/default/configmaps/my-nginx-test uid: 968990d6-d9aa-4fb5-b249-d549fd8c0770

After modification [root@p47659v reload]# kubectl get cm my-nginx-test -o yaml apiVersion: v1 data: my-nginx.conf: | server{ listen 80; server_name www.my-test-nginx.com; gzip on; gzip_types text/plain application/xml;

location /hello {
  root /usr/share/nginx/html;
  index index.html index.htm;
}
}

kind: ConfigMap metadata: creationTimestamp: "2020-11-20T03:11:35Z" name: my-nginx-test namespace: default resourceVersion: "3369946" selfLink: /api/v1/namespaces/default/configmaps/my-nginx-test uid: 968990d6-d9aa-4fb5-b249-d549fd8c0770

[root@p47659v reload]# kubectl get svc -n lc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE my-test-nginx ClusterIP 10.103.133.112 <none> 80/TCP 3h23m

curl 10.103.133.112/hello

<html> <head><title>404 Not Found</title></head> <body bgcolor="white"> <center><h1>404 Not Found</h1></center> <hr><center>nginx/1.14.2</center> </body> </html>

Here's mine reload.yaml

apiVersion: v1 kind: Pod metadata: name: reload-pod namespace: lc spec: containers:

  • name: reload-container image: jimmidyson/configmap-reload volumeMounts:
    • name: config mountPath: /tmp/conf command: ["./configmap-reload","-volume-dir=/tmp/conf","-webhook-method=GET","-webhook-status-code=200","-webhook-url=http://my-test-nginx.lc"] volumes:
  • name: config configMap: name: my-nginx-test

closed time in 11 days

tianshimoyi

issue openedjimmidyson/configmap-reload

Nginx did not reload the configuration file

[root@p47659v reload]# kubectl logs reload-pod -n lc 2020/11/20 06:40:04 Watching directory: "/tmp/conf" 2020/11/20 06:41:25 config map updated 2020/11/20 06:41:25 performing webhook request (1/1) 2020/11/20 06:41:25 successfully triggered reload

Before modification [root@p47659v reload]# kubectl get cm my-nginx-test -o yaml apiVersion: v1 data: my-nginx.conf: | server{ listen 80; server_name www.my-test-nginx.com; gzip on; gzip_types text/plain application/xml;

location / {
  root /usr/share/nginx/html;
  index index.html index.htm;
}
}

kind: ConfigMap metadata: creationTimestamp: "2020-11-20T03:11:35Z" name: my-nginx-test namespace: default resourceVersion: "3369946" selfLink: /api/v1/namespaces/default/configmaps/my-nginx-test uid: 968990d6-d9aa-4fb5-b249-d549fd8c0770

After modification [root@p47659v reload]# kubectl get cm my-nginx-test -o yaml apiVersion: v1 data: my-nginx.conf: | server{ listen 80; server_name www.my-test-nginx.com; gzip on; gzip_types text/plain application/xml;

location /hello {
  root /usr/share/nginx/html;
  index index.html index.htm;
}
}

kind: ConfigMap metadata: creationTimestamp: "2020-11-20T03:11:35Z" name: my-nginx-test namespace: default resourceVersion: "3369946" selfLink: /api/v1/namespaces/default/configmaps/my-nginx-test uid: 968990d6-d9aa-4fb5-b249-d549fd8c0770

[root@p47659v reload]# kubectl get svc -n lc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE my-test-nginx ClusterIP 10.103.133.112 <none> 80/TCP 3h23m

curl 10.103.133.112/hello

<html> <head><title>404 Not Found</title></head> <body bgcolor="white"> <center><h1>404 Not Found</h1></center> <hr><center>nginx/1.14.2</center> </body> </html>

Here's mine reload.yaml

apiVersion: v1 kind: Pod metadata: name: reload-pod namespace: lc spec: containers:

  • name: reload-container image: jimmidyson/configmap-reload volumeMounts:
    • name: config mountPath: /tmp/conf command: ["./configmap-reload","-volume-dir=/tmp/conf","-webhook-method=GET","-webhook-status-code=200","-webhook-url=http://my-test-nginx.lc"] volumes:
  • name: config configMap: name: my-nginx-test

created time in 11 days

startedjimmidyson/configmap-reload

started time in 11 days

PublicEvent

fork domcleal/admin_workloads

Workload YAMLs for Harness Administration Class

fork in 12 days

more