摘要:進(jìn)入,在任意一個(gè)地方創(chuàng)建一個(gè)文件如編輯這個(gè),我們只需簡(jiǎn)單寫三個(gè)字符串重新啟動(dòng),啟動(dòng)時(shí)加入這個(gè)參數(shù)在其他機(jī)子上,我們?cè)俅螆?zhí)行命令,并加上是不是成功了
1.證書
之前的文章里我們?yōu)榱顺晒κ褂胔eapster而自建了證書:進(jìn)入master機(jī)器的/var/run/kubernetes/目錄,執(zhí)行如下的幾個(gè)命令:
openssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -key ca.key -subj "/CN=abc.com" -days 5000 -out ca.crt openssl genrsa -out server.key 2048 openssl req -new -key server.key -subj "/CN=kubernetes" -out server.csr openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 5000
其中第一個(gè)subj里/CN可以隨便寫一個(gè),而第二個(gè)subj中的/CN必須是apiserver所在機(jī)器的hostname(如果僅用于內(nèi)部的service,這里可以填kubernetes),這里建議兩個(gè)/CN不要相同,親測(cè)相同的情況下證書是簽名無(wú)效的。在該機(jī)器上執(zhí)行:
echo $HOSTNAME
就知道要寫什么了。
apiserver的啟動(dòng)參數(shù)中加入:
--admission_control=ServiceAccount(加入這個(gè)參數(shù)后,k8s會(huì)給每個(gè)namespace都設(shè)置至少一個(gè)secret,secret作為一個(gè)存儲(chǔ)介質(zhì),可以存儲(chǔ)證書,token,甚至配置文件) --client_ca_file=/var/run/kubernetes/ca.crt(加入這個(gè)參數(shù)后,每個(gè)namespace的默認(rèn)的secret中都會(huì)記錄ca.crt) --tls-private-key-file=/var/run/kubernetes/server.key --tls-cert-file=/var/run/kubernetes/server.crt
controller-manager的啟動(dòng)參數(shù)中加入:
--service_account_private_key_file=/var/run/kubernetes/server.key --root-ca-file="/var/run/kubernetes/ca.crt"
我們要實(shí)現(xiàn)的目的是在任意一臺(tái)機(jī)器上(ping得到master)可以執(zhí)行apiserver的https API。這里我們必須:
1.將ca.crt復(fù)制到該機(jī)器上;
2.在該機(jī)器上添加一條master機(jī)器的hostname到其IP的hosts。
這種情況下,我們?cè)L問(wèn)https的api:
curl --cacert ca.crt -X GET https://vm-56-65:6443/api/v1/namespaces/default/pods -v
會(huì)提示:
unauthorized.
這說(shuō)明我們還需要token。
2.tokentoken的形式有多種,可以參考這兩篇:
http://wangzhezhe.github.io/b...
http://segmentfault.com/a/119...
這里就介紹最簡(jiǎn)單的一種。
進(jìn)入master,在任意一個(gè)地方創(chuàng)建一個(gè)token文件如:
/etc/kubernetes.io/heapster/token
編輯這個(gè)token,我們只需簡(jiǎn)單寫三個(gè)字符串:
huang123,huang,huang
重新啟動(dòng)apiserver,啟動(dòng)時(shí)加入這個(gè)參數(shù):
--token_auth_file=/etc/kubernetes.io/heapster/token
在其他機(jī)子上,我們?cè)俅螆?zhí)行curl命令,并加上-H:
curl --cacert ca.crt -X GET https://vm-56-65:6443/api/v1/namespaces/default/pods -H "Authorization: Bearer huang123" -v
是不是成功了?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/32429.html
摘要:的服務(wù)治理平臺(tái)發(fā)源于早期的個(gè)人項(xiàng)目。客戶端發(fā)現(xiàn)模式要求客戶端負(fù)責(zé)查詢注冊(cè)中心,獲取服務(wù)提供者的列表信息,使用負(fù)載均衡算法選擇一個(gè)合適的服務(wù)提供者,發(fā)起接口調(diào)用請(qǐng)求。系統(tǒng)和系統(tǒng)之間,少不了數(shù)據(jù)的互聯(lián)互通。隨著微服務(wù)的流行,一個(gè)系統(tǒng)內(nèi)的不同應(yīng)用進(jìn)行互聯(lián)互通也是常態(tài)。 PowerDotNet的服務(wù)治理平臺(tái)發(fā)源于早期的個(gè)人項(xiàng)目Power.Apix。這個(gè)項(xiàng)目借鑒了工作過(guò)的公司的服務(wù)治理方案,站在...
摘要:舉個(gè)例子,我們?cè)谶@種狀態(tài)下創(chuàng)建一個(gè),然后執(zhí)行在中會(huì)發(fā)現(xiàn)有了字段,并且裝載了一個(gè)是的,這個(gè)就是我們這個(gè)下的。 注:本案例在我的部署環(huán)境下是可行的,但不保證在所有環(huán)境下都可行。我盡可能講得直白而詳細(xì),因?yàn)槲易约阂膊艅傞_始接觸,已經(jīng)做過(guò)深入研究的可以瀏覽,若有什么錯(cuò)誤,煩請(qǐng)指正,感激不盡! 我的環(huán)境: K8S1.0.0+flannel+docker1.6的分布式集群。 這里先不贅述fla...
摘要:舉個(gè)例子,我們?cè)谶@種狀態(tài)下創(chuàng)建一個(gè),然后執(zhí)行在中會(huì)發(fā)現(xiàn)有了字段,并且裝載了一個(gè)是的,這個(gè)就是我們這個(gè)下的。 注:本案例在我的部署環(huán)境下是可行的,但不保證在所有環(huán)境下都可行。我盡可能講得直白而詳細(xì),因?yàn)槲易约阂膊艅傞_始接觸,已經(jīng)做過(guò)深入研究的可以瀏覽,若有什么錯(cuò)誤,煩請(qǐng)指正,感激不盡! 我的環(huán)境: K8S1.0.0+flannel+docker1.6的分布式集群。 這里先不贅述fla...
摘要:異步加載異步加載指的是為指定加載的回調(diào)函數(shù),在的主體資源加載完畢之后,將自動(dòng)調(diào)用該回調(diào)函數(shù)。 幾種加載js的方式 同步加載 異步加載 延遲加載 同步加載 用的最多的一種方式,又稱阻塞模式,會(huì)阻止瀏覽器的后續(xù)處理,停止后續(xù)的解析,只有當(dāng)當(dāng)前加載完成,才能進(jìn)行下一步操作。所以默認(rèn)同步執(zhí)行才是安全的。但這樣如果js中有輸出document內(nèi)容、修改dom、重定向等行為,就會(huì)造成頁(yè)面堵塞。...
閱讀 1861·2021-11-25 09:43
閱讀 1503·2021-09-02 15:21
閱讀 3468·2019-08-30 15:52
閱讀 1510·2019-08-30 12:48
閱讀 1306·2019-08-30 10:57
閱讀 2937·2019-08-26 17:41
閱讀 687·2019-08-26 11:59
閱讀 1377·2019-08-26 10:41