标签:
除了linux/amd64,默认还会为其他平台做交叉编译。为了减少编译时间,可以修改hack/lib/golang.sh,把KUBE_SERVER_PLATFORMS, KUBE_CLIENT_PLATFORMS和KUBE_TEST_PLATFORMS中除linux/amd64以外的其他平台注释掉
Kubernetes在创建Pod的时候,需要从gcr.io下载一个helper镜像(目前是 gcr.io/google_containers/pause-amd64:3.0 )。
但是目前国内无法访问gcr.io,这个问题会导致无法下载该镜像,然后Pod一直处于ContainerCreating状态。
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节点
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
不通过私有registry中转,而是使用docker save/load应该也可以(未测试),只是比较麻烦。
这里说的集群外是指K8s集群以外的主机,比如使用nginx/HAProxy搭建的负载均衡主机。这些主机跟K8s集群部署在一起,到K8s网络可达。
对于不是部署在GCE以及AWS等云平台的K8s,我们一般需要自己搭建负载均衡,然后分发请求到到Service。
使用NodePort方式发布服务,那么负载均衡主机上不需要额外配置;使用ClusterIP方式,为了能够访问Service的ClusterIP, 需要在这些主机上安装Flanneld和kube-proxy
标签:
原文地址:http://www.cnblogs.com/LinuxGo/p/5737649.html