kubectl --generator 参数被弃用问题解决

kubectl --generator 参数被弃用问题解决

k8s的书籍参考的是《kubernetes in Action》这本书,但是在后期发现使用

kubectl run kubia --image=luksa/kubia --port=8080 --generator=run-pod/v1

发现报错:

Flag --generator has been deprecated, has no effect and will be removed in the future.

原因是生成器参数已经被弃用。[https://kubernetes.io/zh/docs/reference/kubectl/conventions/#%E7%94%9F%E6%88%90%E5%99%A8](https://kubernetes.io/zh/docs/reference/kubectl/conventions/#%E7%94%9F%E6%88%90%E5%99%A8)

解决办法

https://kubernetes.io/zh/docs/setup/learning-environment/minikube/

  1. 让我们使用名为 echoserver 的镜像创建一个 Kubernetes Deployment,并使用 --port 在端口 8080 上暴露服务。echoserver 是一个简单的 HTTP 服务器。

    kubectl run kubia --image=luksa/kubia --port=8080 
    

    输出类似于:

    pod/kubia created
    
  2. 将其作为 Service 公开:

    kubectl expose pod kubia --type=NodePort 
    

    选项 --type = NodePort 指定 Service 的类型。

    输出类似于:

    service/kubia exposed
    
  3. 现在Pod 已经启动,但是必须等到 Pod 启动完全才能通过暴露的 Service 访问它。

    检查 Pod 是否启动并运行:

    kubectl get pod
    

    如果输出显示 STATUSContainerCreating,则表明 Pod 仍在创建中:

    NAME                              READY     STATUS              RESTARTS   AGE
    hello-minikube-3383150820-vctvh   0/1       ContainerCreating   0          3s
    

    如果输出显示 STATUSRunning,则 Pod 现在正在运行:

    NAME                              READY     STATUS    RESTARTS   AGE
    hello-minikube-3383150820-vctvh   1/1       Running   0          13s
    
  4. 获取暴露 Service 的 URL 以查看 Service 的详细信息:

    minikube service kubia --url
    
  5. 删除 Service:

    kubectl delete services kubia
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章