k8s下kafkacluster的安装 https://github.com/banzaicloud/kafka-operator

问题一:镜像无法拉取:由于镜像源在国外被墙的原因,无法从源镜像下载,一般走镜像代理的形式,先从代理仓库docker pull下来,再docker push到本地库中,最后更改K8S YAML配置文件中镜像的拉取位置。

  • 拉取gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0镜像(拉不下来)
    1)、git clone https://github.com/silenceshell/docker-wrapper.git
    2)、sudo cp docker-wrapper/docker-wrapper.py /usr/local/bin/
    usage:You can use docker-wrapper to pull images not only from gcr.io/k8s.gcr.io and also from hub.docker.com. In the later condition, It will directly pull from hub.docker.com.
    3)、docker_wrapper.py pull gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0 docker tag gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0 本地库/kube-rbac-proxy:v0.4.0
    4)、docker push 本地库/kube-rbac-proxy:v0.4.0

  • helm install --name=kafka-operator --namespace=kafka banzaicloud-stable/kafka-operator 时镜像拉不下来,
    1)、先helm fetch到本地chart包,
    2)、 再把chart包的value.yaml的配置修改,
    3)、 helm install --name=kafka-operator --namespace=kafka ./ 本地chart包安装。


问题二:拉取docker.io/solsson/kafka-cruise-control(部分node拉下来,其它很慢)
例如在node1上拉下来,则去node1机器 docker images执行看是否有需要的镜像,若没有参考问题一,若有
docker tag gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0 本地库/kube-rbac-proxy:v0.4.0
docker push 本地库/kube-rbac-proxy:v0.4.0

其它

  • PVC尽量用kubectl create申请 不用apply申请
  • API-VERSION的问题:可用kubectl api-versions命令查看当前可用的API版本,如果当前的yaml文件使用的API版本不存在,则需要首先通过配置文件的形式增加API-version.增加的实际为CRD的配置文件。
  • sim配置文件中的storageclassname 要和本地的storageclass中的name匹配。
  • 删除CRD配置:kubectl edit crd NAME 编辑. 可以看到相关crd也Terminating,把finalizers的值删掉,保存,相关的CRD便会自己删掉。kubectl edit使用默认编辑器 编辑服务器上定义的资源文件默认输出格式为YAML。要以JSON格式编辑,请指定“-o json”
  • 强制删pod:kubectl delete pod podname --force --grace-period=0(宽限期为0)
  • 一般情况下,在k8smaster节点上集群管理工具kubectl是连接的本地http8080端口和apiserver进行通讯的, 默认情况下是默认连接本地的apiserver,当然也可以通过https端口进行通讯前提是要生成证书。所以说kubectl不一定部署在master上,只要能和apiserver进行通讯,那么你可以将kubectl部署在任何一台你想连接到集群的主机上。
  • Serviceaccount就是pod中的process访问kubernetes API的account。Serviceaccount只关联了一个secret资源作为token,该token也叫service-account-token,是真正在API server验证环节起作用的。service-account-token分为3部分:
  1. ca.crt:API Server的CA公钥证书,用于POD的process对API server服务端数字证书进行校验使用,由kube-controller-manager参数–root-ca-file指定;
  2. namespace:secret所在的namespace值的base64编码
  3. token:用API server私钥签发(sign)的bearer tokens的base64编码,用于POD访问API server的身份验证(Authorization header首部)
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐