Reddit DevOps
266 subscribers
30.9K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
Is kubernetes in demand?

Just took a look on Google trends and seems it has dropped quite a lot... I'm wondering if is still worth the trouble of learning it.. also what could be the culprit for the drop in interest?
Thanks!

https://redd.it/rgu7hr
@r_devops
Deploying microservices in a consistent way using different gitlab repositories

Hi,

I'm looking for a good organization to deploy our solution consisting in multiple apps using Gitlab and K8S.

Our SaaS app that is made of :

A backend app, mostly our API (django)
A user app (React)
An admin app (React)

Both frontend apps are connected to the API.

Currently the backend and user apps are in the same gitlab repository, and are deployed using a CI/CD pipeline that builds the apps, builds the docker images, and deploy them to K8S using a Helm Chart. The Helm Chart is located in the same repo.

I recently added the admin app in another gitlab repository and I'm concerned about keeping all apps consistent, that is to say, both frontend apps have to compatible with the API.

I'm thinking about adding another repository especially for the deployment (let's call this Deploy Repo). This repo could contain:

3 git submodules, one for each sub app,
The Helm chart,
Other files related to deployment

I thought about using git submodules to be able to have separate projects. The devs would update the right versions in the Deploy Repo when a service is ready to be deployed.

The push would then trigger the CI/CD pipeline, build all apps, and deploy all together using the Helm Chart.

Is this a good idea to use submodules like this ? What could be the best practice to link multiple projects together ?

I'm also concerned about how I could do to build only the sub project that has changed instead of all projects.

I have seen that it could be possible to link the pipelines of all subprojects together, and use artifacts to pass the needed files, but I'm not sure if this is a good solution.

https://redd.it/rgtuls
@r_devops
CoTurn server

Hi all. I have installed Co turn. Can someone pls help on how can I perform load testing for my server?

https://redd.it/rgvzsd
@r_devops
ECS + FarGate + AutoScaling

Hi all,

​

I am new to AWS, and I am quite confused of the ECS and farget with autoscaling. How do I launch more of my services (all encapsulated in docker containers) to balance the load? I am a newbie, I have no clue of AWS, and I am working on my app-server solo.

Also, any good tutorial for the same?

Thanks!

https://redd.it/rgwmks
@r_devops
Running Collaborative ML Experiments With DVC

Sharing machine learning experiments to compare its models is important when you're working with a team of engineers. You might need to get another opinion on an experiments results or to share a modified dataset or even share the exact reproduction of a specific experiment.

The following tutorial goes through an example of sharing an experiment with DVC remotes: Running Collaborative Experiments - using DVC remotes to share experiments and their data across machines

Setting up DVC remotes in addition to your Git remotes lets you share all of the data, code, and hyperparameters associated with each experiment so anyone can pick up where you left off in the training process. When you use DVC, you can bundle your data and code changes for each experiment and push those to a remote for somebody else to check out.

https://redd.it/rgxnsc
@r_devops
Onboarding juniors in DevOps

It started to be difficult to hire juniors as the time to train them simply didn't exist (like in most companies I think) as we are growing in the company I work for.

So we created a program to hire juniors, train them for four months, then put them in a team according to their competence and liking. We are a cloud provider, so the spectrum of choice is pretty large.

Here's the article describing our program in case you're interested :)

https://blog.scaleway.com/devops-onboarding-juniors/


let me know what you thought of it!

https://redd.it/rgyoab
@r_devops
Question about service

I have created a deployment that simply run 3 copies of a pod, each running nginx:


root@k8s-master:~# kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc-clusterip NodePort 10.108.90.12 <none> 80:30080/TCP 145m

root@k8s-master:~# kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
deployment-svc-example 3/3 3 3 165m

root@k8s-master:~# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
deployment-svc-example-9f886b7b-5vwds 1/1 Running 0 165m 192.168.126.29 k8s-worker2 <none> <none>
deployment-svc-example-9f886b7b-f4wk4 1/1 Running 0 165m 192.168.126.28 k8s-worker2 <none> <none>
deployment-svc-example-9f886b7b-scplx 1/1 Running 0 165m 192.168.194.106 k8s-worker1 <none> <none>

As seen in the kubectl get pods command, out of the 3 pods, two run on k8s-worker2, and one runs on k8s-worker1.

Thing is, when I open the browser and visit the public IP address of the MASTER (not k8s-worker1/2), it still works, even though the pod doesn't run on the master.

Why is that? Did it route me to one of the pods in the worker nodes? What happened here?

Thanks ahead!

https://redd.it/rgyy7w
@r_devops
Merge nexus data from 2 different instances then migrate to a new server

I have a server with 2 different instances of sonatype nexus running (don't ask me why, I just inherited the whole thing like that). I will call that machine "server B", so one version is using nexus ver 3.0 and the other on nexus 3.23.

I was given a new machine "server A" where I have deployed a fresh installation of nexus 3.37 and now I'm researching what is the data folder that I supposed to move, according the official docs (https://help.sonatype.com/repomanager3/installation-and-upgrades/directories#Directories-DataDirectory), all I need is to move the data directory (commonly referred to as $data-dir or ${karaf.data}) to the new installation. Till this point crystal clear.

Now I don't know whether it is possible to merge the data of the 2 different nexus instances that I have on server B. So If I can merge somehow and correctly the data of these 2 instances, then I can move that merged data to the new installation on "server A", Does it make any sense?, hopefully it does :-D


What can I do on this situation?, any ideas, brainstorming and advises are very welcome.

Cheers.

https://redd.it/rh15zh
@r_devops
SSH Tunneling

I want to host SonarQube on an EC2 Instance in a secure way by following best practices, I came across a way where you can host your instance in a private subnet and still access it. Here my usecase is to host a service(SonarQube) on port 9000 and allow only my developers to access it and configure Security Group accordingly. I read that we can map our EC2 url to the localhost and access it through pem file.

Is this the correct way to proceed? If yes, how should I move forward?

Thanks!

https://redd.it/rgvr9b
@r_devops
How do you make OS upgrades without downtime?

We run our services in Docker containers. We have a few worker containers, a front end app container, and then a MySQL container (host mounted volumes).

&#x200B;

We need to do some OS upgrades, but we don't want to shutdown our system completely. Right now we just take the hit and plan for 10-30 minutes of downtime once per year. This isn't ideal. I'm trying to do some type of "failover", but with the database it's kind of challenging.

&#x200B;

Anybody doing something similar and can share your strategy?

&#x200B;

Thanks!

https://redd.it/rh5213
@r_devops
Cross account schema

Is there any way that we can allow consumers from the other aws accounts to access the schemas used in glue schema registry?

Would appreciate any inputs.

https://redd.it/rh3nwk
@r_devops
Having 2 front ( Vue2 no TS Webpack, Vue 3 with TS vet) running concurrently

Hi, we are doing a migration from an old app ( Vue2 no TS Webpack ) plugged on a Node Js API.

Both front and back are bad, has technical debt etc.

They are used in production. We don't have time to recode them.

We are think about using a new app/service for all the new features and recode the piece of code from the old codebase when we need them on new stuff.

&#x200B;

For the back end no problem, we will add /v2 routes and develop our feature / rebuild there with a new API.

&#x200B;

But for the front we can't migrate it and cleary don't have time to recode all.

Is there any way we could mix two front project ?

&#x200B;

Eg:

mycompany.com/user \-> Use the front of the old project

mycompany.com/operations \-> Use the front of the new project.

&#x200B;

I'm more back end than front end so i don't have all the knowledges on how to mix 2 front projects.

All your suggestions are welcomed

Thanks for reading

https://redd.it/rh7bh2
@r_devops
Gitlab !reference tags in jsonnet

I’m doing something like this in jsonnet:

script: [
'!reference [".git:config", script]',
// install the collection and dependencies
'ansible-galaxy install -r ' + ansible_requirements
],

which is generating this code

"script": [
"!reference [\".git:config\", script]",
"ansible-galaxy install -r ansible/requirements.yml"
],

and so the !reference tag is being treated as a string and not actually doing the reference behavior. Can anybody suggest the “correct” strategy or a workaround? Thanks!

https://redd.it/rh867k
@r_devops
DevOps boot camp Linux foundation

Hello,

Did anyone try the DevOps boot camp course from the Linux foundation and can give some feedback? I'm thinking of buying it.

Thanks

https://redd.it/rhcwls
@r_devops
New to DevOps. When having trouble getting something to work, what is your thought process for debugging?

I'm new to the dev ops world and as everyone does, I'm having trouble with everything I try to do. Typically I start by looking up my error online, but because I'm in defense, nearly all of the "oh you need this package, go grab it here" type answers aren't options. Ultimately I end up spit balling until either asking one of our senior developers or noting down my issues and what I've tried and moving on.

Obviously this isn't sustainable or good practice. So my question to everyone here is this - how do you debug and go about resolving issues? How do you know if it's a permission issue, ownership issue, or a missing package? What is your thought process?

TIA

https://redd.it/rheqrt
@r_devops
Has anyone here heard of the term “infrastructure access platform” or StrongDm or Teleport?

Curious to see whether people/companies even care or know they can simplify how infrastructure is accessed throughout their org.

View Poll

https://redd.it/rhdvwj
@r_devops
What it's like being a QA in a devops team/project?

Just accepted an offer of a QA role in a devops project/team. My background is manual/automation QA, selenium IDE and webdriver. I don't have any experience working as a devops engr so this is sorta nerve-wracking to me haha.

Does it require for to be a techy person?

https://redd.it/rhge82
@r_devops
Is Rust worth learning?

I’m a senior in college looking into DevOps type roles after graduation, and my professor said that “Rust is the next C.” What are y’all’s opinions on that and do you think it would be worth it for me to put the time into learning it? (I already know Python, C, Docker, GitHub actions, Kubernetes, AWS EC2, Linux CLI, etc.)

https://redd.it/rhhzge
@r_devops