[TIL] Kubernetes Anywhere, 1.5 and Beyond 影片導讀

前提 2016/12 底由 CoreOS 主辦的 TECTONIC 2016 Summit 裡面有將 Kubernetes 1.5 做了一整個清楚的說明. Kubernetes 1.5 (與未來) 針對了大家一直以來的痛點做了很多的改進,並且用很生動的範例來解釋如何使用.相當推薦的好影片,以下快速整理一下: 簡化安裝流程: (KubeAdm, KubeFed) KubeAdm: 一直以來安裝 Kubernetes 一直都不是簡單的事情 (與 Docker Swarm 與 DCOS 比較起來) .當然 Google 找出了解決方式,就是 KubeAdm ( 跟 Docker Swarm 一樣的使用方式) 個人有使用過 KubeAdm ,真的使用起來就像 Docker Swarm Mode 一樣簡單.就是 init 之後,其他就透過 join 來加入就好. KubeFed: 就是 Kubernets 解決多個集群的問題. 支援更複雜的排程: (Taint, Toleration, Forgiveness 目前都還沒完成) Taint/Toleration (issue 25320) : 透過 Taint 標記每個節點的特性 (比如說機器具有 GPU),然後 Toleration 可以挑選具有 GPU 的機器 (反之,沒有透過 Toleration 的 Pod 無法分配到 Taint 上面. 相同的也可以設定使用者特定的 Pod 在特定幾台專屬用該使用者機器上. 細節在這裡 Forgiveness(issue 1574): 可以透過對於 pod 的 health check 判別是否 pod 已經出問題,如果出問題會移到另外的節點重啟. Disruption Budget: 可以透過他來做 stateful server 的關閉與升級. 細節在這裡 Network Policy Object: 可以設定哪些 pod 可以跟哪些 pod 溝通,甚至可以規定到單向. 細節在這裡 如何更輕鬆地不少複雜的軟體服務?: (比如說成套的服務套件,或是有優先順序?) HELM: The Kubernetes Package Manager : 就把它當成 Kubernetes apt-get,可以快速幫你安裝軟體. 投影片 在這裡
繼續閱讀

[TIL] Cassandra Backup Survey

Preface Our cassandra instance sometime got crash mess amount of data. To backup those data to another storage is task need to do. CQLSH First backup canssandra schema Export entire schema of your cassandra. cqlsh -e "DESC SCHEMA" > user_schema.cql Or you can specific your keyspace here. cqlsh -e "DESC SCHEMA" > user_schema.cql Export and Import cassandra data Export COPY <tablename> [ ( column [, ...] ) ] FROM ( '<filename>' | STDIN ) [ WITH <option>='value' [AND ...] ]; For example cqlsh> COPY log.parts FROM STDIN; Another example to transform output format cqlsh> COPY log.chatlogs (ts, content, other) TO './chatlog.dat' ... WITH DELIMITER = '|' AND QUOTE = '''' AND ESCAPE = '''' AND NULL = '<null>'; Import cqlsh> COPY emp (empid,deptid,last_name,first_name) FROM 'temp.csv'; Troubleshooting Cannot dump all DB because partition. Error for (-5813055698912042437, -5769658640073958582): Failed to connect to all replicas ['10.123.456.789'] for (-5813055698912042437, -5769658640073958582), errors: ['NoHostAvailable - (\'Unable...
繼續閱讀

程式設計週記[2017/01/06]: 新年新希望: 健康與毅力

這是什麼? 程式週記主要內容如下: Gihub project 介紹: 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢 網路文章心得: 會寫些心得,強迫自己閱讀. “程式週記”並且定期週期性更新. 大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下. 本週摘要 本週工作上有個里程碑,很開心夥伴們能夠準時的交付出產品.雖然我們也踩了不少雷,不過我們完成了!! 目前一邊在看 udacity 的 Introduction Machine Learning 一邊也跟著公司同事們學習相關論文.相當充實!! Go Contributing to the Go project 2016 的舊文章,不過很實用. 由於 Go 專案都是放在 Gerrit 想要貢獻給 #golang 專案,卻又不知道該如何開始? 這篇文章提供一整個流程的介紹,幫助你可以提交你的第一個 PR 給 Golang, 來看看這篇文章吧 The 9 most popular Golang links from 2016 有人幫忙精選了在 2016 的九篇最受歡迎的 Golang 相關文章,其中前五篇是: 1: What Should We Be Excited About in Go 1.8? 2: Go’s Alias Proposal and All My Concerns of Google Controlling Go 3: Go Best Practices, Six Years In 4: Introducing Go 2.0 (A Thought Experiment Only) 5: Ten Million Concurrent Websockets Grumpy: Go running Python! Google open source 為了解決很多 legacy 的 python code ,開發了一個工具可以讓你將 Python 轉換成 Go ,或是在 python 裡面跑 go 的套件. 一些重點整理: Grumpy (脾氣暴躁 XD) 把 令人討厭的 GIL (Global interpreter lock) 拿掉了.換成 Go 的 GC 來管理.可以讓跑 python 的時候 multiple thread 更快. Grumpy 也不是第一個把 GIL 拿掉的 Python runtime, IronPython/Jython 都這樣幹過 目前 Grumpy 支援度不夠,所以大家使用前看一下 issue list (光是 import...
繼續閱讀

程式設計週記[2016/12/29]: 年底到了,先來點今年完成了哪些吧

這是什麼? 程式週記主要內容如下: Gihub project 介紹: 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢 網路文章心得: 會寫些心得,強迫自己閱讀. “程式週記”並且定期週期性更新. 大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下. 本週摘要 年底到了,先盤點一下,今年達成的目標: COSCUP 講者 Modern Web 講者 GOOGLE DevFest Taipei 講者 Organize GolangTW meetup 完成 Project 52 修完 2 堂 Moocs 除了完成的部分,也該盤點一下把自己的 Coursera, EDX, Udacity 上面還沒修完的課程.得要把他們都修完才對: Coursera: Cloud Computing Part 1. 學習 Gossip 的好課程,一定要好好把他修完. Coursera: Machine Learning. Andrew Ng 的經典課程,上了幾個禮拜就停住,一樣得好好學學. Udacity: Machine Learning入門. 算很基礎的課程,搭配 SKLearn .應該會比 Andrew Ng 的課程還早修完. Go Enigma emulator in Go Enigma 就是二次世界大戰德國用來加解密的機器,德國透過 Enigma 來加解密相關軍事訊息來傳送給友軍. 這個模擬器試著要透過 Golang 模擬 Enigma 的功能,很有趣. geohot/lolrecaptcha: We try to break the recaptcha for the Merry Christmas for all! 喬治·霍茲 (geohot) 是美國的知名駭客,目前在 Google 的 Zero Project 團隊中專門發現所謂的 Zero-Day Bug. 之前比較知名的事件就是他是第一個破解 iOS 跟 PS3 的人,並且也開源了 comma.ai. 在聖誕節前夕,他忽然想來學 Golang,於是就把 recaptcha (Google 開發的是否是機器人的判斷器) 破解了. 快來看看他怎麼破解的.. Testing distributed systems in Go Golang 是最容易拿來撰寫分散式系統的語言(之一),這篇文章拿了 etcd (CoreOS 開發的分散式 K/V 資料庫) 為範例來講解如何測試. 裡面提到不少測試的新法,比如說: 砍掉任意節點 砍掉任意 Leader 節點 砍掉超過多數的節點 砍掉全部節點… 也有提供該如何砍掉 node 的 sample code . 這篇文章相當適合想寫分散式系統的人好好閱讀,也希望大家會喜歡. GopherVids 這邊有搜集了所有的 Golang 的相關演講的影片,你可以透過講者與時間來做簡單的搜尋與分類. 來看看吧,一定能找到你想要看的演講影片 Python Android/JAVA/NODE.JS/Scala Docker Kubernetes iOS/Swift 其他程式語言 論文收集 網站文章 The...
繼續閱讀

程式設計週記[2016/12/23]: 把握時間,珍惜你愛的

這是什麼? 程式週記主要內容如下: Gihub project 介紹: 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢 網路文章心得: 會寫些心得,強迫自己閱讀. “程式週記”並且定期週期性更新. 大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下. 本週摘要 最近家人得了癌症,就深刻地了解到健康的重要. “時間”,“愛”與“死亡“緊緊的將我們串連在一起 這句話其實是最近已經上映的電影 “最美的安排 (ollateral Beauty)“裡面的一句話. 我們真的要好好的珍惜我們擁有的時間與愛才能幫助我們正確地面對死亡. 不論你信仰是哪一種神,最公平的就是每個人一天就是 24 個小時,不會因為你是身份,種族與性別有何不同. 如何把握每一天,好好運用這上篇天給予我們的禮物就格外重要. Go Who needs generics? Use … instead! 介紹 generics 基本定義,如何在 go 用其他方式取代。 大家都知道 Golang 不支援 generics 如果程式就是需要怎麼辦? 這邊介紹一些心法。 minaandrawos/machat : An open source chat server implemented in Go 透過 Golang 完成的一個聊天室伺服器,還有 client 端 jpoz/gomeme: Command line double caption meme generator. Written in Go (Golang) 將 GIF 加上一段有趣的上標跟下標,做成 MEME GIF. The 12 Factors of Go 12FA (12 factor app) 是 heroku 提出建制 modern app 的方法論。 這篇作者試著用 Go 與 Docker 來實作並且寫了一本書。 piladb: Lightweight RESTful database engine based on stack data structures piladb (pila: 就是西班牙文的 stack): PilaDB 是一個輕量化的 RESTful DB ,並且提供 stack structure 的架構,也就是說你可以透過 Push/Pop 來存取資料. Python Android/JAVA/NODE.JS/Scala PMML model export - RDD-based API Exploring Spark MLlib: Part 4 – Exporting the model for use outside of Spark 如何把 model 輸出,載入再加上預測. Apache Spark 2.0 Preview: Machine Learning Model Persistence 2.0 machine...
繼續閱讀

程式設計週記[2016/12/15]: 讓我們來裝裝 Container Linux

這是什麼? 程式週記主要內容如下: Gihub project 介紹: 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢 網路文章心得: 會寫些心得,強迫自己閱讀. “程式週記”並且定期週期性更新. 大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下. 本週摘要 有幸跟著老闆去見客戶與生意夥伴,讓我的視野又高了不少,也著實見識到 CEO 們每個人都是活力十足的人. 再次感謝老闆願意給這樣的機會. 雖然這個禮拜都在談事情跟開會,不過還是抽空完成 Golang 的 LUIS 套件.接下來會找時間開發一個跟 LUIS 結合的自我學習 Chatbot. 這個禮拜看的文章有點少,要檢討…. Go Golang Line Bot with Azure/AWS with Let’s encrypt Azure(Amazon)申租免費 VM。 FreeDNS 申請免費 Domain Name。 透過 lego 申請 Let’s Encrypt 免費憑證。 我之前的 Line Bot Template 裡面也有提到 Lego Lego: Let’s Encrypt client and ACME library written in Go 這個專案提到如何透過 ACME 來使用 Let’s Encrypt 的認證.好消息是這個已經在 process 看看會不會進入 http/net 基本的 package 之中. I was offered 1 million for my Go package — and I said No. 有人寫了一個 Golang package 被詢問以 $1 million 的現金加上股票賣出, 但是被作者拒絕。來看看作者怎麼想。 tsenart/vegeta: HTTP load testing tool and library. It’s over 9000! 使用超級賽亞人 ( 貝吉塔 / ベジータ) 來壓測你的線上服務。 這個專案 star 數 (戰鬥力) 超過 4000 啊… Some Tools For Go That You Might Not Know Yet 你可能还不知道的一些 Go 语言工具 (Some Tools For Go That You Might Not Know Yet) : 中文可见 Python Android/JAVA/NODE.JS/Scala Docker Kubernetes Self-Driving Kubernetes, Container Linux by...
繼續閱讀