[{"data":1,"prerenderedAt":339},["ShallowReactive",2],{"project-13783546":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":42,"post_text":43,"what":44,"said":80,"maker_in_thread":191,"shape":193,"grid":197,"attempts":303,"same_week":304,"maker_shows":31,"maker_hidden":331,"reader_version":332,"card":333},"13783546","kompose","Go from Docker-Compose to Kubernetes with a simple tool","title","Show HN: Go from Docker-Compose to Kubernetes with a simple tool","http:\u002F\u002Fkompose.io\u002Findex","kompose.io","twelvenmonkeys",1488555530,2017,249,45,105,2242,5,"notable","dev_tools","deployment config converter","cli",[24,25,26,27],"docker compose","kubernetes","migration","manifests","mixed",-0.052,{"positive":31,"neutral":32,"mixed":33,"critical":31},4,8,3,19,{"execution":36,"design":39,"idea":40,"docs":41},{"positive":37,"critical":38},0,1,{"positive":38,"critical":37},{"positive":37,"critical":33},{"positive":38,"critical":37},[33,37,38,37,33,37,33,38,37,37,38,33,18,37,33,37,33,37,37,37,18,33,33,33,33,18,37,37,18,37,37,33,38,37,37,37,37,37,37,37],null,{"problem":45,"audience":57,"pricing":43,"motivation":61,"time_to_build":43,"stack":69,"openness":77,"stage":78,"team_size":79},{"value":46,"source":47,"evidence":48},"Moving from docker-compose setups to Kubernetes requires hand-writing manifests and learning new concepts.","commenter",[49,53],{"id":50,"by":51,"text":52},"13785915","sebgoa","I was part of the team that started kompose. The main idea was to help developers who had adopted docker-compose moved to Kubernetes. We understand that this is not a perfect…",{"id":54,"by":55,"text":56},"13783910","mhluongo","Hoping this helps with the Kubernetes learning curve. We've just started migrating and keeping track of the terminology has been tough.",{"value":58,"source":47,"evidence":59},"Developers who already use docker-compose and need to move to Kubernetes.",[60],{"id":50,"by":51,"text":52},{"value":62,"source":47,"evidence":63},"Help developers who adopted docker-compose move to Kubernetes without learning all its abstractions first.",[64,65],{"id":50,"by":51,"text":52},{"id":66,"by":67,"text":68},"13784172","kadel","I'm really happy to hear that it helped you get started with Kubernetes. This was one of the reasons we started with the project. (I'm one of the Kompose maintainers. ;-) )",[70],{"value":71,"source":47,"evidence":72},"Go",[73],{"id":74,"by":75,"text":76},"13784420","madhorse","I red Go as Golang, that title made little sense","open_source","unknown","team",{"praise":81,"objections":101,"requests":129,"questions":144,"alternatives":163},[82,94],{"value":83,"source":47,"evidence":84},"Helpful for getting started with Kubernetes and learning its primitives.",[85,89,93],{"id":86,"by":87,"text":88},"13784059","dlandis","This tool kompose helped me when I did my first POC on kubernetes since it allowed me to get up and running with something without having to study all the new abstractions and…",{"id":90,"by":91,"text":92},"13784017","codebeaker","I used this to get an idea how K8s looked when I wanted to migrate ~500 lines of docker compose YAML config to k8s. The result was sufficiently confusing that we threw it away,…",{"id":50,"by":51,"text":52},{"value":95,"source":47,"evidence":96},"Well put together and easy to understand.",[97],{"id":98,"by":99,"text":100},"13784071","Dangeranger","This looks really well put together and easy to understand. A lot of the people I've worked with understand Docker-Compose well. The Compose model seems to stick well in the…",[102,111,122],{"value":103,"source":47,"evidence":104},"Compose-to-Kubernetes mapping is incomplete; secrets and links differ, so output needs hand editing.",[105,109,110],{"id":106,"by":107,"text":108},"13785190","lobster_johnson","While I appreciate the effort, as a Kubernetes user I can't really recommend this tool. As a migration tool, it might save some time building your YAML files, but the differences…",{"id":90,"by":91,"text":92},{"id":86,"by":87,"text":88},{"value":112,"source":47,"evidence":113},"Kubernetes complexity makes simple Compose files harder, and the tool adds to it.",[114,118],{"id":115,"by":116,"text":117},"13784685","dollar","Now you can take a really simple Docker compose file and make it complicated with Kubernetes, happy day! Seriously, the complexity and learning curve of Kubernetes will…",{"id":119,"by":120,"text":121},"13790471","drdaeman","This. GP comment was downvoted into oblivion, but he had a point. Compose (at least, v3\u002Fv3.1) is a reasonably simple system, that can describe a fairly complex setup. Kubernetes…",{"value":123,"source":47,"evidence":124},"Learning by writing YAML yourself is better than using a generator.",[125,126],{"id":106,"by":107,"text":108},{"id":127,"by":107,"text":128},"13792021","Of course. I personally prefer learning by copying from examples rather than reasoning through reference documentation. But that doesn't mean you need a tool to generate…",[130,137],{"value":131,"source":47,"evidence":132},"Write a blog post or more detail on the migration experience.",[133],{"id":134,"by":135,"text":136},"13784475","ricw","Very interesting, as we're looking into doing essentially exactly the same very soon. seems even more urgent with docker just having announced free\u002Fenterprise editions. Would be…",{"value":138,"source":47,"evidence":139},"Better export handling in kubectl-style output.",[140],{"id":141,"by":142,"text":143},"13791195","xkarga00","Export needs more work.",[145,156],{"value":146,"source":47,"evidence":147},"Why move from docker-compose to Kubernetes at all?",[148,152],{"id":149,"by":150,"text":151},"13784020","algesten","Is there a reason to go from docker-compose to kubernetes?",{"id":153,"by":154,"text":155},"13790659","shykes","The typical use case is when a dev team uses docker compose while the ops team has chosen docker+kube. It creates an impedance mismatch which complicates the dev\u002Fops handoff.…",{"value":157,"source":47,"evidence":158},"How to handle app code: mount or copy?",[159],{"id":160,"by":161,"text":162},"13790248","exclusiv","I'm still pretty new to docker and docker-compose. I've setup a few dev environments but how do you all deal with your app code? Do you mount it or do you copy it. I'm having…",[164,171,177,184],{"value":165,"source":47,"evidence":166},"Helm for managing Kubernetes YAML.",[167],{"id":168,"by":169,"text":170},"13785593","bglusman","This looks neat! I'd mirror what codebreaker said and probably in the long term you want to use something like helm.sh to manage your kubernetes yaml, but this may help get…",{"value":172,"source":47,"evidence":173},"Docker stack deploy with compose files in swarm mode.",[174],{"id":175,"by":154,"text":176},"13788297","Quick correction, Docker 17.03 supports compose files out of the box, in swarm mode. Two commands to deploy and scale.…",{"value":178,"source":47,"evidence":179},"Micro-PaaS tools like Dokku and Nanobox.",[180],{"id":181,"by":182,"text":183},"13784088","sdomino","I actually just wrote an article that talks about all these complexities, and how micro-PaaS (things like hyper.sh, dokku, and nanobox.io) address a lot of them.…",{"value":185,"source":47,"evidence":186},"AWS ECS compose support.",[187],{"id":188,"by":189,"text":190},"13786860","bdcravens","One of the nice things about AWS ECS is that the command line lets you create services via compose files (usually with some small modifications)",{"comments":37,"answered":37,"key":192},[],{"commenters":194,"max_depth":18,"maker_replies":37,"first_comment_mins":195,"lifespan_hours":196},32,44,76,[198,200,204,206,209,211,214,218,221,223,226,227,231,233,235,238,242,245,247,250,253,255,257,260,262,265,268,269,270,272,273,274,277,279,281,282,284,286,289,291,293,295,298,299,300],[90,37,33,199,91,37],"project\u002Fmixed\u002Fexecution",[201,37,37,202,203,37],"13784404","other\u002Fneutral\u002Fnone","theptip",[141,37,38,205,142,37],"project\u002Fcritical\u002Fexecution",[207,37,37,208,203,37],"13803917","commenter\u002Fneutral\u002Fnone",[134,37,33,210,135,37],"maker\u002Fneutral\u002Fnone",[212,37,37,202,213,37],"13784606","tln",[215,37,33,216,217,37],"13784679","project\u002Fneutral\u002Fdesign","lloeki",[219,37,37,208,220,37],"13789467","notjack",[106,38,38,222,107,37],"project\u002Fcritical\u002Fidea",[224,38,37,208,225,37],"13791757","mst",[127,38,37,208,107,37],[228,229,38,222,230,37],"13786296",2,"dewiz",[50,33,33,232,51,37],"maker\u002Fneutral\u002Fidea",[54,31,18,234,55,37],"project\u002Fpositive\u002Fdocs",[236,31,37,208,237,37],"13783937","AndyNemmity",[239,31,33,240,241,37],"13784043","maker\u002Fneutral\u002Fdocs","crb",[243,31,37,244,55,37],"13784216","other\u002Fneutral\u002Fdocs",[246,31,37,202,237,37],"13785459",[248,31,33,199,249,37],"13785388","markdog12",[251,31,37,208,252,37],"13787686","gkop",[254,31,37,208,249,37],"13805577",[256,31,37,208,154,37],"13788277",[258,31,18,259,249,37],"13788416","project\u002Fpositive\u002Fnone",[149,31,33,261,150,37],"project\u002Fneutral\u002Fidea",[263,31,33,264,55,37],"13784111","project\u002Fneutral\u002Fnone",[266,31,37,202,267,37],"13784913","linkmotif",[153,31,33,261,154,37],[86,31,33,199,87,37],[66,31,18,271,67,37],"maker\u002Fpositive\u002Fnone",[181,31,37,202,182,37],[168,18,37,202,169,37],[98,275,18,276,99,37],6,"project\u002Fpositive\u002Fdesign",[160,278,37,202,161,37],7,[280,278,37,208,154,37],"13790406",[188,32,37,202,189,37],[74,283,33,264,75,37],9,[115,285,38,222,116,37],10,[287,285,37,202,288,37],"13784945","jedberg",[290,285,37,202,116,37],"13785126",[292,285,37,202,116,37],"13785128",[294,285,37,202,288,37],"13786359",[296,285,37,208,297,37],"13785031","hackersvilla",[175,285,37,202,154,37],[119,285,37,202,120,37],[301,285,37,208,302,37],"13791336","orf",[],[305,309,314,318,323,326],{"id":306,"name":307,"points":308,"category":20},"13794879","AtomOS",310,{"id":310,"name":311,"points":312,"category":313},"13809462","NoFile.io",231,"infrastructure",{"id":315,"name":316,"points":317,"category":20},"13819447","Gitly.io",230,{"id":319,"name":320,"points":321,"category":322},"13803843","Working code for Operational Transformation\u002FCRDT hybrid",130,"languages",{"id":324,"name":325,"points":196,"category":20},"13796441","Ffscreencast",{"id":327,"name":328,"points":329,"category":330},"13798763","Amazon Price Monitor",61,"web_saas",false,"v2",{"id":334,"name":5,"line":6,"ai":331,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":335,"top":18,"kw":336,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":337,"url":9,"mix":338,"praise":83,"objection":103,"sub":21},13783546,-0.05,[24,25,26,27],"3010303100135030300053333500500310000000",[31,32,33,31],1794036553217]