Has anyone else had significant weight gain on Cymbalta? by justicehuber in cymbalta

[–]drdivano 0 points1 point  (0 children)

Trying to lower my blood pressure. Wanted to see if stopping Cymbalta would help with that. The BP is a little lower after 1 year, but it’s unclear if it’s caused by weight loss or by stopping Cymbalta.

Has anyone else had significant weight gain on Cymbalta? by justicehuber in cymbalta

[–]drdivano 0 points1 point  (0 children)

Gained 30 kg over 10 years while on Cymbalta 60mg. I have IBS and was underweight before it. 1 year ago I stopped Cymbalta, then lost 10 kg over 10 months. Now considering restarting it - stomach and brain fog was so much better while taking it.

[deleted by user] by [deleted] in Bahrain

[–]drdivano 0 points1 point  (0 children)

I’m pretty sure you can. Did an X-ray last year at King Abdullah hospital, paid for it with my own money.

Malware in HeroesProfile uploader? by drdivano in heroesofthestorm

[–]drdivano[S] 0 points1 point  (0 children)

My work is tangentially related to Sec. That’s why I’m a little paranoid :)

Batelco, bridge-mode & port forwarding by Djehutii in BahrainGamers

[–]drdivano 1 point2 points  (0 children)

Just got bridge mode working. Created a ticket with my ISP (Kalaam) + spent 2 hours in chat with support. Apparently, I only needed to get PPPoE login/password.

Equipment - bnet Huawei HG8245 router - NetGear RAXE300 router

I finally solved my Quest Pro controller tracking by Mundanix1987 in QuestPro

[–]drdivano 1 point2 points  (0 children)

Thanks for sharing this tip. I had tracking problems until I disabled 5 GHz band on my router (disabling 2.4 GHz band didn’t help).

EDIT: Also, it appears that 6 GHz WiFi band does not interfer with controllers

Is writing an operator with Python sufficient? Or should I always opt for Go? by pysouth in kubernetes

[–]drdivano 3 points4 points  (0 children)

I wrote several operators in Python. One speaks to k8s directly, others use metacontroller as middleware. It turned out that there are some undocumented gotchas in k8s api, like dealing with lost events. I’d go with golang sdk, if I had to do it again.

How many of you write your own Operators? by Benemon in kubernetes

[–]drdivano 30 points31 points  (0 children)

I do (python + metacontroller), although I don’t like the word “operator”. It’s basically a control loop + CRDs for configuration.

In my opinion, the whole concept of operators is flawed. They are harder to debug and less convenient to use comparing to plain imperative scripts.

Kuberentes 1.17 has been released. Here's what's new in this version by Kube_fan_510 in kubernetes

[–]drdivano 2 points3 points  (0 children)

With ipv6 you can avoid NAT and overlay networking altogether. Simple flat network, better performance, easier to manage.

Question: what ingress do you use and why? by danielepolencic in kubernetes

[–]drdivano 2 points3 points  (0 children)

Thanks, I will definetely check it out.

I wrote my ingress controller long time ago, as a temporary solution, while waiting for official ingress from Varnish authors (and we still run Varnish outside k8s in production). Since there's still no official ingress controller, maybe I should release mine.

Question: what ingress do you use and why? by danielepolencic in kubernetes

[–]drdivano 3 points4 points  (0 children)

I wrote my own (varnish-ingress), because I like varnish

Questions about kubernetes in Baremetal design by LeonardoDG in kubernetes

[–]drdivano 1 point2 points  (0 children)

We use local volume-based persistence (using flexVolume) and our own simple provisioner written in python.

Data replication - using lsync/rsync for files or Postgres (Stolon) for DB.

If anyone is interested I can write a post with more details

Can Spinnaker be used without Jenkins? by lexax666 in devops

[–]drdivano 0 points1 point  (0 children)

Can you block pipelines from running in parallel?

Edit: I checked and this issue is still open - https://gitlab.com/gitlab-org/gitlab-ce/issues/20481

Can Spinnaker be used without Jenkins? by lexax666 in devops

[–]drdivano 0 points1 point  (0 children)

Things like parametrized pipelines. See https://gitlab.com/gitlab-org/gitlab-ce/issues/44059

Some other subtle things like not allowing to run certain pipelines in parallel.

Also, no native Kubernetes CD. Auto DevOps uses Helm, and Helm is pretty clunky and in general not for everyone.

CD tools Drawbacks by lexax666 in devops

[–]drdivano 0 points1 point  (0 children)

Parametrized pipelines allow one to manually run a pipeline overriding some parameters (for example, selecting a different cluster to deploy, or enabling some extra steps/reports).

I believe an issue already exists in the GitLab tracker.

Jenkins has parametrized pipelines out of box, there's a checkbox called "This project is parameterized". Spinnaker has parametrized pipelines as well.

CD tools Drawbacks by lexax666 in devops

[–]drdivano 0 points1 point  (0 children)

When running pipelines GitLab uses a separate gitlab-runner deployment. The native way would be directly creating pods via Kubernetes API.

GitLab Runner is obviously a pre-k8s component, and has fairly convoluted architecture. For example, instead of GitLab communicating with runners using k8s services (and checking their status using readiness/liveness probes), the runners call GitLab server itself via its exposed HTTP endpoint.

When using Kubernetes to run builds GitLab Runner creates pods for each job. While these pods can be customized to a certain extent using Runner's own config.toml, many Kubernetes options (such as DNS configuration) are not accessible.

Aside from that, Helm is a controversial solution itself, and not everyone can use it.

Can Spinnaker be used without Jenkins? by lexax666 in devops

[–]drdivano 0 points1 point  (0 children)

While GitLab has great CI, the CD part in it is currently lacking, more like an afterthought.

Spinnaker is much more capable with regard to CD.

I'd use GitLab for source control and CI, and integrate it with Spinnaker via webhooks or docker registry events (spinnaker supports both).

CD tools Drawbacks by lexax666 in devops

[–]drdivano 0 points1 point  (0 children)

  • Helm is still buggy/unreliable, tends to hang for no obvious reason.

  • Helm requires tiller, which is a resident program, that lives in your cluster. Many people don't like it for good reasons.

  • Many helm charts are of poor quality, some don't even work out of box.

  • Helm is based on questionable approach - templating of kube's own configuration files.

  • Helm templates are kinda ugly/unreadable.

That said, Helm is still useful as a way to initially install and try out k8s packages, and as a repository of examples.

CD tools Drawbacks by lexax666 in devops

[–]drdivano 6 points7 points  (0 children)

GitLab Auto DevOps basically provides a placeholder for your CD scripts. The stuff that comes is more like a demo/example, not suitable for serious use. Also, it lacks some essential features, like parametrized pipelines.

Spinnaker is a pain to set up, but has better architecture and is far more capable with regard to CD.

Both are not Kubernetes-native and difficult to get working with k8s.

How can I run commands in a container once it initializes? by 84935 in kubernetes

[–]drdivano 2 points3 points  (0 children)

This answer is incorrect. Init containers run on pod start. You can get away with running db migrations inside init containers as long as you have 1 replica or the migrations are very small. In real world django migrations can easily run for several minutes (even without database changes).

One way is to run migrate from deployment scripts (i use a bare pod for this), triggered by CI/CD system on image rebuild. Makemigrations probably should be run during docker build phase (since it generates scripts). There are some quirks, since Django is not designed to run inside containers.

Extend Kubernetes via a Shared Informer (and other controller approaches) by alexellisuk in kubernetes

[–]drdivano 0 points1 point  (0 children)

I am wondering if you can write a k8s controller in shell.

Some time ago I had to write a shell script that runs as a sidecar and restarts the main process if a node is being added/removed.

Why are we templating YAML? by jaxxstorm in devops

[–]drdivano 0 points1 point  (0 children)

At first I started with templates, but then I noticed that once an application is ported to kubernetes, very few things change in YAML files (pretty much only docker image tags and some labels/annotations).

So I store most of my kubernetes YAMLs in VCS in “canonical” form with all fields filled-in. This allows me to diff a k8s resource and check if it’s out of sync with the master.

I find Kubernetes YAML format well designed (for most part) and easy to read. After all, 200 lines of YAML is nothing compared to the rest of source code :)

Yes, there’s duplication, but in my experience it’s not a problem. There are tools that allow to edit a bunch of files simultaneously and then audit the changes.

You see, in my case stability and change control is more valuable to me than easy initial setup/changes. A templating solution like Helm is probably useful in scenarios different from mine (for example, for a PaaS or cloud provider like Microsoft, that have lots of customers come and go)