minikube与kubectl版本不一致问题

网友投稿 289 2022-09-12

minikube与kubectl版本不一致问题

在使用minikube学习的时候,会出现你在mac上安装的minikube默认是最新版本,但是实际情况是需要安装低一些版本。可以按照k8s官方文档安装的时候指定不同安装版本,如果很慢或者无法访问直接走github安装也行。

curl -LO https://github.com/kubernetes/minikube/releases/download/v1.16.0/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube

比较尴尬的是安装kubectl工具,默认使用brew安装的一定是最新的版本,最新的版本一些命令已经移除了,比较常见的就是

kubectl run kubia --image=wangqingpei/kubia --port=8080 --generator=run/v1 Error: unknown flag: --generator See 'kubectl run --help' for usage.

由于一些原因,还尴尬的就是k8s官方安装路径是访问不了的。如:wget下载,我是使用的deb文件,需要安装下dpkg,然后复制到/usr/local/bin,再试下版本是否正确。 wget -X 解压deb文件

- step2:将容器导出镜像,便于随时使用

d commit -a "@plen" -m"kubectlv1.10.7" kubectl kubectlv1.10.7

- step3:设置kubectl客户端证书和配置

vim ~.kube/config

通过mac宿主机器的 `k config view` 直接复制粘贴

apiVersion: v1clusters:

cluster:certificate-authority: /Users/wangqingpei/.minikube/ca.crtserver: minikubecontexts: context:cluster: minikubeuser: minikubename: minikubecurrent-context: minikubekind: Configpreferences: {}users: name: minikubeuser:client-certificate: /Users/wangqingpei/.minikube/profiles/minikube/client.crtclient-key: /Users/wangqingpei/.minikube/profiles/minikube/client.key 地址 `host.docker.internal` 是为了在容器里访问宿主端口。 step 4:启动镜像&设置volume卷映射这一步只要将config原路径完整映射即可。 d run -it --rm --name kubectl2 \ -v /Users/wangqingpei/.minikube/profiles/minikube/client.crt:/Users/wangqingpei/.minikube/profiles/minikube/client.crt \ -v /Users/wangqingpei/.minikube/ca.crt:/Users/wangqingpei/.minikube/ca.crt \ -v /Users/wangqingpei/.minikube/profiles/minikube/client.key:/Users/wangqingpei/.minikube/profiles/minikube/client.key \ kubectlv1.10.7 step 5:如果觉得麻烦,将上述过程做成Dockerfile FROM debian:latest MAINTAINER "kubectl@plen" RUN apt-get -y update && \ apt-get -y install wget && \ apt-get -y install vim && \ wget && \ dpkg -X ./kubectl_1.10.7-00_amd64_52542710044cb4ad30def799dc4392d18a56cd6f2dc0d675825a085d0b2882f1.deb extract && \ mv ./extract/usr/bin/kubectl /usr/local/bin ENTRYPOINT ["bash"]

如果在容器里使用kubectl出现认证问题加上 --insecure-skip-tls-verify 参数。

额外提下,如果在mac里跑k8s service 不通的话记得使用 minikube tunnel 隧道 。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:k8s实战之部署PHP/Java网站
下一篇:kubernetes部署springboot项目使用configmap尝试
相关文章

 发表评论

暂时没有评论,来抢沙发吧~