from:http://blog.csdn.net/linuxgo/article/details/52121125

加快Kubernetes編譯速度

除了Linux/amd64,默認還會為其他平臺做交叉編譯。為了減少編譯時間,可以修改hack/lib/golang.sh,把KUBE_SERVER_PLATFORMS, KUBE_CLIENT_PLATFORMS和KUBE_TEST_PLATFORMS中除linux/amd64以外的其他平臺注釋掉

gcr.io無法訪問

Kubernetes在創(chuàng)建Pod的時候,需要從gcr.io下載一個helper鏡像(目前是 gcr.io/google_containers/pause-amd64:3.0 )。

但是目前國內(nèi)無法訪問gcr.io,這個問題會導致無法下載該鏡像,然后Pod一直處于ContainerCreating狀態(tài)。

解決辦法

1) 在可以訪問gcr.io的地方

docker pull gcr.io/google_containers/pause-amd64:3.0

傳到私有docker registry

docker tag gcr.io/google_containers/pause-amd64:3.0 k8s-docker.mydomain.com/google_containers/pause-amd64:3.0

docker push k8s-docker.mydomain.com/google_containers/pause-amd64:3.0

2) 在所有的k8s節(jié)點

docker pull k8s-docker.mydomain.com/google_containers/pause-amd64:3.0
docker tag k8s-docker.mydomain.com/google_containers/pause-amd64:3.0 gcr.io/google_containers/pause-amd64:3.0

Note

不通過私有registry中轉(zhuǎn),而是使用Docker save/load應該也可以,只是要把save導出的文件復制到所有節(jié)點.

如何從集群外訪問Service和Pod

這里說的集群外是指K8s集群以外的主機,比如使用nginx/HAProxy搭建的負載均衡主機。這些主機跟K8s集群部署在一起,到K8s網(wǎng)絡可達。

對于不是部署在GCE以及AWS等云平臺的K8s,我們一般需要自己搭建負載均衡,然后分發(fā)請求到到Service。

使用NodePort方式發(fā)布服務,那么負載均衡主機上不需要額外配置;使用ClusterIP方式,為了能夠訪問Service的ClusterIP, 需要在這些主機上安裝Flanneld和kube-proxy