Reddit DevOps
274 subscribers
67 photos
32.1K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
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
[Student Group Project]: How do I integrate DevOps practices and tools in our software dev project?

We are essentially recreating our version of firehose.io (a semester course planning webapp)

Our project tech stack and rough architecture plan: https://imgur.com/cWB9zqG

Team: 4 Student Members (sophomore level)



Additional Info.

We are using GitHub as our code hosting. Will be using Firebase Hosting for our webapp. May not be important but we are using JetBrains' IDEs (PyCharm, Webstorm).

For the webscraping part, we are utilizing virtualenvironments.

**We want to adopt best practices as much as possible as long as within our scope.**

It'd be great if the learning curve is as smooth as possible and and if we can use as little tools as possible (such as GitHub Actions instead of a third party tool)

Looking for any open ideas and as detailed suggestions as possible. Thank you!!!

https://redd.it/f5aud5
@r_devops
kube-prometheus vs the hard way

I want to setup a metrics stack for my kubernetes cluster and contemplating my approach.
Currently I'm stuck on a quite old kubernetes version (v1.11.2), so it seems I can't use the latest kube-prometheus verison.
I've already tried using kube-prometheus before, but disabled it as it didn't provide any concrete value yet.
I liked all the things it provided out of the box, but I also feel like there are many pieces I don't really need, and much less understand how they work.

I've been considering starting something from scratch, simply installing prometheus on my cluster and configuring things as I need them.
I feel this approach will be much more educational and slim, but it also seems that very soon I would need things like kube-state-metrics, grafana, node_exporter with specific configurations for each one, that it quickly gets overwhelming.

Any recommendations, experiences would be appreciated.

https://redd.it/f58ft9
@r_devops
Centralized configuration management server (Lygeum)

A Very interesting tool for centralized configuration management which lets you handle applications and environments configuration in an intuitive way through it's web console or Command Line Interface. The tool is here, [Lygeum Centralized Configuration Server](https://kaiso.github.io/lygeum/)it provides a standalone installation but also a docker official image.

https://redd.it/f58d52
@r_devops
I Setup a CDN / Application Gateway and DDoS'd Myself | What other non-obvious can a CDN rollout fail? And how did you mitigate it?

TLDR; as an experiment I setup a CDN in front of a side project. It did not go as planned when the 40+ edge servers started hammering my little app.

Blindly putting a CDN in front of your app exposed three problem areas:

1. Lack of caching / last-modified calculation

2. No light-weight /health-check endpoint for the CDN to hit. It attempted multiple heavy page-loads from the home page as its health check. Ouch.

3. No rate-limiting on my reverse proxy.

4. Poorly configured CDN settings. 40+ edge servers making requests every 30 seconds seemed a bit much for the app I was using. It could have been more conservative.

Yeah, the full blog post is here:

https://www.simplecto.com/i-setup-a-cdn-and-ddosd-myself/?ref=devops

https://redd.it/f5873e
@r_devops
How to use Azure Git with AWS EC2?

We are a new startup company that are trying to shift our workflow to DevOps. The code and new commits of our CMS application is stored on Azure Git. Whereas we plan to have our servers on AWS EC2 alongside with Terraform, Jenkins, Docker, Kubernetes, ELK stack etc.

We are unsure how to integrate Azure Git to this workflow. Does Jenkins allow us to retrieve the code from Azure Git then continue providing it to the process mentioned above on Amazon EC2.

Should we need to provide more information please let me know.

Sorry if my question is too basic or newbie. Any help would be highly appreciated. Thanks

https://redd.it/f586y5
@r_devops
Received email at work address about a local AWS certificate bootcamp - legit or scammy?

**EDIT: Consensus is that it's scammy. Thanks, everyone!**


Original post:


Subject is: "RE: AWS Solutions Architect Associate Course"

I've never corresponded with this person before, so it's not a real RE.

The email discusses the training course local to my city (a fairly large midwest city) and then says, "For more information and to register visit: thenameofthecompany.us"

It's not a link, they didn't put a comma after register, going to the domain with https results in a firefox "Unable to connect" page - it doesn't exist. Going to it in http redirects to a suuuper scammy sounding domain: https:// www . rebusbusinesssolutions . com/

I'm thinking....this is a scam. Anyone have experience with this domain?

https://redd.it/f5uijs
@r_devops
Automation of deployments, and blue/green

Traditionally, a blue-green deployment was described as a technique that reduces downtime and risk by running two identical production environments called Blue and Green. At any time, only one of the environments is live, with the live environment serving all production traffic. Because there is already another environment “ready to go” it’s possible to switch environments if something happens to the green environment or a new version needs to be released, and can be really handy in a disaster recovery scenario.

As times have changed, containerised technologies are now available, and it is possible to extend the description of blue green deployments to stacks or clusters of a containerised service, rather than just a traditional replica two environment blue green, as long as the tool you use supports some kind of connection draining, e.g. a load balancer.

[https://medium.com/@craiggoddenpayne/automation-of-deployments-and-blue-green-eae80f52494b](https://medium.com/@craiggoddenpayne/automation-of-deployments-and-blue-green-eae80f52494b)

https://redd.it/f56spu
@r_devops
What is the best way to manage a database that requires migrations to be run on it?

My problem: I don't want to deploy a codebase to my production server where my database isn't up to date.

My Goal: I don't want to manually run migrations on the database every time I deploy. It feels error prone. Ideally I have an environment where I can create a staging environment, sync the DB's, run migrations, run end to end tests, and then route traffic to the new version.

What do you think? Where should I look to get started?

Edit: My stack is django/postgresql/Reactjs and I am planning on integrating Kubernetes. Deploying to Google App Engine.

https://redd.it/f4ura3
@r_devops
How to handle integration/functional tests for an WebApi not accessible from pipeline(Azure)

I have been looking for the best way to handle tests for an Web Api. The service is only accessible from certain ip's and therefore I can't run the test (call the service) on the CI/CD agent.

How is this handled in the best way, I want to get the test results back to the CI.

​

I saw an old [post](https://www.reddit.com/r/devops/comments/bnh6fs/running_tests_in_k8s_like_with_dockercompose/) where u/forestjunk said something about kubectl exec to get the test results back, is this possible?

https://redd.it/f568g6
@r_devops
[QUESTIOIN]: About managed servers services

Hey y'all!

So I'm just wondering how do business like Media Temple and such offer managed servers services?

Do they have devops doing all the updates/upgrades/patches etc manually, or are the servers run with a bunch of custom scripts that do all the "managing" via cron?

I would think that having employees in charge of such duties will be super expensive...

Thank you!

https://redd.it/f54aos
@r_devops
Monitoring and APM solutions for Kubernetes


Hey all, I was wondering what your company/team uses for monitoring your kubernetes clusters along with how you monitor the applications running on them? At my organization we previously had the prometheus-operator helm chart and were in the process of getting an EFK stack up but are opting for an enterprise solution that can combine all those metrics into a single pane for consumption. They want something a little less tied to IAC and with a more user friendly process for rules and alerting (dozens of developers will use our monitoring solution). So far we've looked at DataDog, WaveFront and NewRelic, but are leaning towards DataDog as we have some other servers being monitored on there already. I've been shocked at how unfriendly DataDog is with Kubernetes. It seems as though DataDog basically only provides node metrics as if they were just another host and shows container metrics in separate panes. There seems to be little cohesiveness of a "kubernetes environment" in DataDog. Additionally, the default dashboard (note, singular) is literally trash and there's no place for community dashboards. I've found that their APM solutions are promising, but present some configuration complications when it comes to running the agents in kubernetes. Surely lots of you out there have been solving problems like this, and I was just wondering what you guys use, what you like about it and what some of the challenges have been.

https://redd.it/f5z7js
@r_devops
How do you work as a Agile team with DevOps and Microservices - from Feature split you o delivery?

Open for discussion. I’m interested in your way of doing DevOps and Microservices.

Today we have approximately 6 teams , each have a responsibility for a smaller area I.e. product. The competency balance between the team members within the same team is huge and therefore we end up with more “Frontend” developers than “Backend”.

Current way of working with the backlog items (PBI) is to horizontally split each PBI into Frontend and Backend with feature toggling capabilities.

Sure, we are working with Microservices and DevOps - but I would like to hear more about your way of working. How do you split the features into smaller releasable items and how do you work with CI/CD and releases.

https://redd.it/f5vr2x
@r_devops
How to develop your Lambda Functions like a rockstar - our firsthand experience

Hey all - [thought I'd share some learnings and experiences](https://medium.com/@joel.tbarna/how-to-develop-your-lambda-functions-like-a-rockstar-7d9422259d57) we've had getting up-to-speed developing our application with just AWS Lambda. It was pretty slow at first but we've created a pretty solid strategy around locally developing and testing that may be helpful to anyone taking on the challenge of Serverless development.

Let me know if you have any questions! Happy to help where I can.

https://redd.it/f5w5ot
@r_devops
Azure DevOps Release and Build YAML Pipelines?

It does not appear that Azure DevOps has any official YAML Pipelines for Releases yet. I know they have multi stage Pipelines where you can put everything in one file. It does make sense to me to have everything in one file, but there are still some missing features.

In the meantime, are people getting by with multi stage pipelines or is anyone splitting it and creating 2 separate YAML files - one for Release and one for Build? I'm noticing one annoying detail in the latter approach.

https://redd.it/f618kc
@r_devops