在Ubuntu的Minikube中安装Kong时kubectl命令报错的正确操作方法
解决Minikube中执行kubectl命令的报错问题
错误原因
你遇到的unknown shorthand flag: 'f'错误,是因为minikube kubectl的语法规则要求:所有kubectl的命令和参数必须放在--之后,否则minikube会把-f当成自己的参数来解析,而minikube本身并不支持-f这个短选项,因此报错。
两种正确操作方式
方式一:使用minikube kubectl的正确语法
将kubectl的命令和参数放在--之后执行:
minikube kubectl -- create -f https://raw.githubusercontent.com/Kong/kubernetes-ingress-controller/v2.10.0/deploy/single/all-in-one-dbless.yaml
方式二:直接在Ubuntu系统安装kubectl
如果不想每次都通过minikube kubectl执行命令,可以直接在Ubuntu系统中安装kubectl:
- 下载对应版本的kubectl二进制文件:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
- (可选)验证文件完整性:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256" echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
- 安装kubectl到系统路径:
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
- 验证安装成功:
kubectl version --client
安装完成后,就可以直接执行最初的命令:
kubectl create -f https://raw.githubusercontent.com/Kong/kubernetes-ingress-controller/v2.10.0/deploy/single/all-in-one-dbless.yaml
内容的提问来源于stack exchange,提问作者Mandroid
相关产品推荐
相关产品推荐

