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/
-
讓我們使用名爲
echoserver
的鏡像創建一個 Kubernetes Deployment,並使用--port
在端口 8080 上暴露服務。echoserver
是一個簡單的 HTTP 服務器。kubectl run kubia --image=luksa/kubia --port=8080
輸出類似於:
pod/kubia created
-
將其作爲 Service 公開:
kubectl expose pod kubia --type=NodePort
選項
--type = NodePort
指定 Service 的類型。輸出類似於:
service/kubia exposed
-
現在Pod 已經啓動,但是必須等到 Pod 啓動完全才能通過暴露的 Service 訪問它。
檢查 Pod 是否啓動並運行:
kubectl get pod
如果輸出顯示
STATUS
爲ContainerCreating
,則表明 Pod 仍在創建中:NAME READY STATUS RESTARTS AGE hello-minikube-3383150820-vctvh 0/1 ContainerCreating 0 3s
如果輸出顯示
STATUS
爲Running
,則 Pod 現在正在運行:NAME READY STATUS RESTARTS AGE hello-minikube-3383150820-vctvh 1/1 Running 0 13s
-
獲取暴露 Service 的 URL 以查看 Service 的詳細信息:
minikube service kubia --url
-
刪除 Service:
kubectl delete services kubia