--dry-run标志似乎不适用于服务。
kubectl create service --
--add-dir-header --log-backtrace-at --server
--alsologtostderr --log-dir --skip-headers
--as --log-file --skip-log-headers
--as-group --log-file-max-size --stderrthreshold
--cache-dir --log-flush-frequency --tls-server-name
--certificate-authority --logtostderr --token
--client-certificate --match-server-version --user
--client-key --namespace --username
--cluster --password --v
--context --profile --vmodule
--insecure-skip-tls-verify --profile-output --warnings-as-errors
--kubeconfig --request-timeout 是否有一种方法可以在没有--dry-run=client选项的情况下创建服务yaml文件。我尝试使用下面的命令并得到一个错误。
kubectl create service ns-service nodeport --dry-run=client -o yaml >nodeport.yaml
Error: unknown flag: --dry-run
See 'kubectl create service --help' for usage.发布于 2020-11-19 07:06:46
有两种方法可以做到这一点。=================================================================
First Way:-使用kubectl create service
您在这里所做的错误是,在命令中的服务类型之前给出了服务名称,这就是它失败的原因。
正确的方式是
语法:
kubectl create service clusterip NAME [--tcp=<port>:<targetPort>] [--dry-run=server|client|none] [options]示例:
kubectl create service nodeport ns-service --tcp=80:80 --dry-run=client -o yaml=================================================================
第二条路:-
在这里,您可以使用kubectl expose命令创建一个服务文件。
假设您有一个名称为nginx的荚。您希望为nginx pod创建一个服务。
然后我将编写下面的命令来生成服务文件。
西纳塔克:
kubectl expose [pod/deployment/replicaset] [name-of-pod/deployment/replicaset] --port=80 --target-port=8000 --dry-run=client -o yaml示例:
kubectl expose pod nginx --port=80 --target-port=8000 --dry-run=client -o yaml 产出:
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
run: nginx
name: nginx
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8000
selector:
run: nginx
status:
loadBalancer: {}https://stackoverflow.com/questions/64906712
复制相似问题