如何在没有 --dry-运行 的情况下创建 kubernetes 服务 yaml 文件
How to create a kubernetes service yaml file without --dry-run
似乎 --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.
有两种方法可以做到这一点。
=========================================== ====================
第一种方式:- 使用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 的 pod 运行。并且您想为 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: {}
似乎 --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.
有两种方法可以做到这一点。 =========================================== ====================
第一种方式:- 使用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 的 pod 运行。并且您想为 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: {}