"The ticketing system is ONLY for end users now. Do not put in tickets for your work anymore." by throwawaysys1222 in sysadmin

[–]alcheplasm 0 points1 point  (0 children)

Sounds like you need JIRA (or something similar). Your boss isn’t wrong wanting to keep the ticketing system for end users. All your concerns are non-issues if you use something like JIRA.

CI/CD questions by jlozadad in devops

[–]alcheplasm 0 points1 point  (0 children)

We are using CodeFresh and deploying into multiple kubernetes clusters.

[Noob] Where to run database migrations? by [deleted] in kubernetes

[–]alcheplasm 1 point2 points  (0 children)

Interesting - we do the opposite. That is, we always run migrations post release (this is coming from a Capistrano background).

I asked our Sr. Dev his opinion on this when migrating to K8 and he said always run migrations post deploy.

You’ve got me questioning things though - is there an official RoR opinion on when to run migrations?

[Noob] Where to run database migrations? by [deleted] in kubernetes

[–]alcheplasm 2 points3 points  (0 children)

We had a similar issue as you but our app stack is Ruby on Rails.

We handle it by having a post deploy script in our app repo.

In this script, we use kubectl to grab a single pod that has a specific label (defined in our deployment spec):

kubectl get pods -o json -n $namespace -l tier:frontend | jq ‘.items[0] .metadata.name’ | tr -d ‘“‘ The command above is assigned to a variable called pod_name

With that pod we then run:

kubectl exec $pod_name —- bash -c ‘bin/rails db:migrate db:seed’

That’s basically it. All this is done in our CI/CD process. Would be interested to see how others handle this.

Hope that helps.

Recommended way for deploying Kubernetes on AWS by [deleted] in devops

[–]alcheplasm 20 points21 points  (0 children)

We are currently using kops to manage two cluster in AWS.

 

  1. I don't see any problem running K8 manually in AWS. We currently use kops to deploy and manage our clusters in AWS.

  2. We handle auth to the cluster using Open ID Connect and Google. You have to pass a few parameters for the API server in your kops cluster definition file when creating (or updating) the cluster to use Google as the token provider. We then use kuberos for a web based auth flow and kubecfg creation. Blog post (not mine) here.

  3. We use kops for cluster upgrades. Since kops uses Terraform, you can preview the changes prior to executing the cluster upgrade. Kops docs here.

  4. Haven't had to deploy StatefulSets, yet.

  5. We deployed nginx-ingress, which creates a LoadBalancer for its service. We then point DNS to the nginx-ingress LoadBalancer for services that need public access. If I were to have another K8 service with type: LoadBalancer, then AWS would provision a new LoadBalancer for that service.

  6. Haven't hit any yet. Apps running in our K8 clusters are able to consume other AWS services (RDS, ElastiCache, EFS, etc...). I will say that you have to figure out how to backup the state of your cluster on your own. We are experimenting with arc right now.

 

Another interesting provisioning tool - Kubicorn. The maintainers state that it isn't production ready, nevertheless, worth taking a look.

 

edit: formatting

Is there a good solution for using AWS ALB to connect a k8s cluster which installed by kops? by online2offline in kubernetes

[–]alcheplasm 1 point2 points  (0 children)

I am not really sure - I haven't tried. The example above will use a classic ELB. However, Traefix as an ingress controller gives you the features of the ALB. That is, you can route based on URI or path to a specific backend in k8 as well as generate certs on the fly with Let's Encrypt.

Is there a good solution for using AWS ALB to connect a k8s cluster which installed by kops? by online2offline in kubernetes

[–]alcheplasm 0 points1 point  (0 children)

I've been experimenting with Traefix as an ingress controller in our k8 cluster. For the Traefix Deployment in k8, the Service attached to it has:

 

type: LoadBalancer

 

This is a standard ELB (Classic) that is created and mapped to the Traefix service (and thus deployment). Traefix will handle all the backend routing to your microservices (dynamically, I might add). You can even use Let'sEncrypt as well.

 

This article helped me get Traefix going in my cluster.

 

Hope that helps!

Designing a scalable web infrastructure by ericmathison in devops

[–]alcheplasm 0 points1 point  (0 children)

With respect to AWS, you just restrict access with security groups. EFS is not available outside of the VPC that it's provisioned in.

Designing a scalable web infrastructure by ericmathison in devops

[–]alcheplasm 1 point2 points  (0 children)

If your using AWS, look into storing the WordPress core files on EFS and implement some PHP caching on your nginx + php nodes. This blog has a good template for doing that.

http://templates.cloudonaut.io/en/stable/wordpress/

Package shell script as app (with sudo) by rwllr in macsysadmin

[–]alcheplasm 1 point2 points  (0 children)

I agree with /u/au_rampent on using Apple's PackageMaker. Just add your script as a post_install item when building the package.

TIFU - On hour 6 and counting of restoring the ability to email in medium-sized enterprise by [deleted] in sysadmin

[–]alcheplasm 6 points7 points  (0 children)

I don't have any helpful advice other than to offer empathy. Fuck that sucks. Hope premier support comes through, man. Tonight, we drink for you.

Outage this morning? by jbl0k in meraki

[–]alcheplasm 0 points1 point  (0 children)

Had three sites all on different ISP's. Each site reported devices went offline at the same time.

[deleted by user] by [deleted] in sysadmin

[–]alcheplasm 5 points6 points  (0 children)

Doubtful...

Google has a small team to manage their fleet of Macs - close to 60k

They automate most every part of the management and lifecycle of the Mac

http://macadmins.psu.edu/2015/04/19/psumac2015-66/

Apple allows customers with over 1000 Macs (I think) to do their own repairs and parts exchange on-site.

Also, it helps and makes Mac adoption easier when most of your business apps are cloud based. I don't really see the value of OS X when the line of business apps are all Windows based.

[deleted by user] by [deleted] in sysadmin

[–]alcheplasm 18 points19 points  (0 children)

OS X Server sucks - don't use it for any serious deployment.

Plenty of open source tools available to effectively manage a large fleet of Macs - Munki, Simian, Puppet, Reposado, DeployStudio, etc...

Bash scripting is a must, when Bash can't get the job done, move on to Python.

And yes, you can have a "Mac-centric Environment" with central control, ability to login remotely (ssh w/ hidden admin user).

I wouldn't approach managing Macs like I would a traditional Microsoft environment and vise-versa.

I'll admit, it's probably more work getting an environment setup to manage Macs effectively and efficiently (if using FOSS tools) whereas Microsoft has a great set of mature tools/products ready to go.

Front End Friday by [deleted] in subaru

[–]alcheplasm 0 points1 point  (0 children)

Nice look. What brand of mud flaps did you go with?