Reddit DevOps
274 subscribers
68 photos
32.1K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
Convince me to move from kops to Terraform/Ansible or whatever else there is.

In the beginning, after learning about kubernetes, I thought it would be a better fit for our startup when we were starting out, I looked up into how to spin up a kubernetes cluster on AWS (we had credits at the time) and there I found out about kops, which lets me configure the cluster, which kubernetes version image, etc... and it would spin up one that is ready to use.


Reading from various subreddits, there is this idea that keeps popping up that one must learn Terraform and Ansible, I've tried to read about Ansible and still have no idea how this could be useful in my case, and Terraform seems to be like an abstraction layer where I can define the cloud infrastructure there instead of relying on kops, but in the end they seem to achieve the same goal.

What I'm saying is, I keep feeling pressured that I should move on to use these tools instead of relying on kops, and I can't convince myself to do that.



So... Change my mind.

​

(Note: I know that some people might say well if kops is enough for you then I shouldn't worry about it, I understand that, but I would like to learn more about scenarios where one relied on kops all the time until they hit a roadblock, or something like that...)

https://redd.it/f4dfmt
@r_devops
Ansible Tower vs Jenkins

I am very new to the topic and I'm struggling to understand whether Tower and Jenkins are interchangeable. I am trying to choose among the two solutions.

I understand Jenkins is a CI server, with some CD functionalities, reachable mainly thanks to plugins. It can also use Ansible for CD.

Can Tower be used also for CI? If so why should someone use Jenkins (except for it being open-source)?

https://redd.it/f4bo5h
@r_devops
How to create a Bind in Docker with 2 different zones for 3 DNS clients in the same server?


I need to create a Bind in Docker with **2 different zones** for **3 DNS clients** from the same server where:
- **1 client has access to one zone** and **the other 2 access to the other zone**


I need to use Bind and Docker for this.

https://redd.it/f4bi5x
@r_devops
A few questions about CI pipelines

I've been using an azure-pipelines.yml file for defining my project's pipeline and have a few questions:

1. I see I can define the branches that trigger the pipeline in the file itself. I'm confused how this works. What is stopping someone from adding `my-awesome-untested-branch` as a trigger and configuring it to push to production, then pushing to that branch?

2. Is there a consensus on whether YAML definitions are better or worse than Azure's UI/Classic pipeline configuration?

3. If I'm doing unit and integration testing in my pipeline and then building a Docker image only after those tests pass, should I have a custom Dockerfile that is only for building via CI since I've already built the project?

https://redd.it/f48uv1
@r_devops
How to secure ssh / sftp customer into container?

Hello.

As we know every container runs as its user, some of them runs under root and other as database user etc. etc.

I am wondering if I could give ssh / sftp access to that container and how?

i should install ssh client in dockerfile and expose the port?

I think i should run every container as arbitrary user then

https://redd.it/f48mdr
@r_devops
Thoughts about The Unicorn Project?

I read The Phoenix Project and really enjoyed it, but The Unicorn Project seems more...tech general? Anyway, thought I'd ask around before picking up a copy.

https://redd.it/f54gzn
@r_devops
Azure DevOps - experience/ perspective?

People - what are your thoughts on the Azure DevOps tooling?

Is anyone invested / using it heavily?

https://redd.it/f5gj1b
@r_devops
Using Argo to deploy my microservices

Hi all

I would like deploy my microservices into Kubernetes automatically and need a CD tool.
Looking at Argo, my thought it is the right CD tool.

Argo has many tools, these are Workflows & Pipelines, CD, Rollouts and Events. For deploying my microservices, which tool do I need? What is the difference between Workflows and CD? Which tool to use for deployment?

Would be nice, if someone could give me advices.

Thanks

https://redd.it/f57z7m
@r_devops
DevOps market in Canada advice

Hi, I want to know what market situation is in Canada as I want to move there an get permanent citizenship, I am English Russian speaking person and as far I know in some city's they speak France, What advice could you give me guys.

https://redd.it/f545ng
@r_devops
A Talk on distributed systems in college

\[Beginner talk\] Here is the recording of a talk I gave at a college in India: [https://youtu.be/9mEJZlD8c7k](https://youtu.be/9mEJZlD8c7k)

I try to take a simple application and discuss various places where it can fail and then come up with strategies to solve them.

Looking for some feedback from the community!

Cheers, and please do consider subscribing to the channel if you are benefiting from it.

https://redd.it/f4s9l2
@r_devops
Unable to recieve options requests on EKS

Hey everyone, I was hoping someone could link me or explain how to get a nginx ingress controller on an EKS cluster uisng a classic LB to allow CORS. I think I am having an issue related to CORS because my OPTIONS requests from my front end (axios) is coming back 405 method not allowed

Below are my ingress resource annotations that relate to the nginx issue.

​

kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
# needed to allow the front end to talk to the back end
nginx.ingress.kubernetes.io/cors-allow-origin: "https://portal.pageanengineer.com"
nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-methods: "GET, PUT, POST, DELETE, PATCH, OPTIONS"
# needed for aws elb
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http"
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "60"

This setup works fine on a KOPS cluster with the same type of LB created. I am having a hard time figuring out why my requests are being blocked

https://redd.it/f5k1tg
@r_devops
Running Things Locally

How do you guys solve the issue of allowing developers to develop services locally, and keeping the local environment in sync with dev/prod?

What does the workflow look like for running one of those services against external dependencies?

I'm using kubernetes. What I'm thinking is that while a given service is being developed, external dependencies can be proxied from minikube to localhost to allow that service to be run normally (with a debugger or whatever else).

Then, when that service is done, the container can be deployed to minikube for other services to use.

https://redd.it/f5j6ws
@r_devops
Docker-on-Docker vs. Continuous Integration?

I have been experimenting with tutorials and `jenkinsci/blueocean` image and related tutorials. It uses ***Docker-on-Docker*****^(†)**, but this is considered an anti-pattern (and dangerous). This is intended for local development use cases, such as building `Jenkinsfile` pipelines.

But what I was wondering, given that running Jenkins services in a container (such as Kubernetes) is quite useful, how is ***Docker-on-Docker*** avoided, but still have the ability to build and push docker images?

I imagine this is not just Jenkins problem, but any CI solution that requires build/push docker images, where the service is running in a container.

† ***Docker-on-Docker*** (in case anyone unfamiliar with the term) is running the docker client tools inside of docker, mounting the unix socket into the container, which allows you to build/push docker images, but also allows the container access to a daemon running with root privileges.

https://redd.it/f5ivfn
@r_devops
Automatically version and deploy your documentation via github actions

Hey guys,

I created two github-actions that allow you to automatically version and deploy your documentation.

You get the simplicity of keeping your documentation versioned in git, without the annoyance of having huge PR's due to auto-generated-doc updates.

Right now the only hosting provider implemented is netlfiy, however more are planned.

[https://github.com/bobrown101/version-docs](https://github.com/bobrown101/version-docs)

[https://github.com/bobrown101/deploy-branch](https://github.com/bobrown101/deploy-branch)

I would appreciate any feedback and stars on github.

Thanks,

Brady

https://redd.it/f5es79
@r_devops
Modern Alternatives to Rundeck?

Rundeck kinda sucks. Its interface is slow and clunky (even with the new coat of paint it got recently), its steps mechanism gets in the way so often that I generally just work around that with shell scripts, and I feel like there's got to be something that is more modern.

We're looking at bringing up a new Rundeck cluster in the cloud, so I feel now's a good time to look for alternatives. We need something that generally provides the same sort of functionality - defining self-service jobs that are easy to run for those who aren't necessarily developers.

I've used Jenkins in the past for this, but I'm not interested in dealing with that behemoth again. Is Rundeck still the best choice, or are there alternatives worth considering?

https://redd.it/f5cjpm
@r_devops
Unable to start helm start on KOPS cluster

I have a KOPS cluster which has two different namespaces in which application pods go, 'production' and 'development'. I want to have the consul helm chart only on nodes which match either production or development in their instance group names.

​

Below is

​

0/7 nodes are available: 1 node(s) had volume node affinity conflict, 6 node(s) didn't match node selector.

Two different instance group node annotations

​

Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/instance-type=t2.medium
beta.kubernetes.io/os=linux
failure-domain.beta.kubernetes.io/region=us-east-1
failure-domain.beta.kubernetes.io/zone=us-east-1c
kops.k8s.io/instancegroup=production
kubernetes.io/arch=amd64
kubernetes.io/hostname=ip-10-0-100-129.ec2.internal
kubernetes.io/os=linux
kubernetes.io/role=node
node-role.kubernetes.io/node=

-------------------------------------------------

Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/instance-type=t2.medium
beta.kubernetes.io/os=linux
failure-domain.beta.kubernetes.io/region=us-east-1
failure-domain.beta.kubernetes.io/zone=us-east-1c
kops.k8s.io/instancegroup=development
kubernetes.io/arch=amd64
kubernetes.io/hostname=ip-10-0-113-23.ec2.internal
kubernetes.io/os=linux
kubernetes.io/role=node

In my helm chart I am setting the node affinity using the below for production and exact same for development except the word production is development

nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kops.k8s.io/instancegroup
operator: In
values:
- production

Why am I unable to have consul start up on the proper nodes/at all?

https://redd.it/f5dw2o
@r_devops
What is the difference difference between Cortex and Serverless (the framework)?

I've been working with Serverless to deploy my python functions to Lambda. From looking at Cortex's GitHub, they seem very similar, except I can't find anything comparing them, which leads to the contradictory belief that they aren't even close to the same thing. Can someone clear this up for me?

https://redd.it/f5dcl2
@r_devops
Is there a Linux Live CD distribution for web development?

Hello guys,

Recently my home computer died. The only one that I have left is my work computer that I will use temporarily for personal projects, I don't want store personal stuff in it so I was wondering if there's any available Linux Live Cd distribution for web development?

Thank you :)

https://redd.it/f5d6tc
@r_devops
terraform: workspaces or file layout for multiple AWS accounts

With CI/CD in mind, and also wanting multiple AWS accounts to separate environments (among other reasons), are you using terraform workspaces? I like the allure of "one source" in combination with git branches, but I don't like the worry of being in the wrong workspace when running an apply. There's also the issue of state files having to all exist in same S3 bucket/account regardless of environment (at least it seems like an issue). Some of this could be alleviated by having the CI/CD system do deployments perhaps, but it's still a worry. I'm leaning towards file layout for different stages. Input appreciated!

https://redd.it/f5d33o
@r_devops
What do you need in a network scanner?

What is the one thing lacking from all network scanners?

https://redd.it/f5cpwu
@r_devops