Cri-o: Add support for streaming requests (attach/exec/port-forward)

Created on 17 Nov 2016  路  5Comments  路  Source: cri-o/cri-o

Refer https://github.com/kubernetes/kubernetes/issues/29579.

This could be done by using kubelet streaming liberay.

TODOs:

  • [x] ExecSync #203
  • [x] Exec
  • [ ] Attach
  • [x] PortForward

Most helpful comment

The problem is that I'm not sure about writing conmon in Go. It doesn't feel like a great idea IMO.

All 5 comments

This has to happen after #162. That was the next thing I was planning on working on.

The problem is that I'm not sure about writing conmon in Go. It doesn't feel like a great idea IMO.

@cyphar So is rewriting conmon in golang in roadmap? We once mentioned it with community offline and thought it would be a good news for contributors. Is there any specific technical issue in your mind?

@resouer There are a few technical issues that make me concerned about conmon being written in C. The main one is that there appears to be some form of quite serious memory-related issue with Go binaries. We still haven't been able to pin it down (and despite what docker/docker#21737 and linked issues tell you -- it's not because of some dodgy reference handling within Docker -- pprof doesn't show the leaked memory!).

So, I am _very_ cautious about writing any long-running service that has to accept lots of connections in Go (yes, I realise this might seem strange but I really just don't trust Go as much as I used to at this point). There is also the fact that using epoll(2) is a bit of a pain in Go, and I would like to not use the traditional go io.Copy approach.

This should be already done now.

Was this page helpful?
0 / 5 - 0 ratings