使用kubectl来管理Kubernetes集群。
摘要
使用kubectl来管理Kubernetes集群。
kubectl
选项
--
alsologtostderr
[=
false
]:
同时输出日志到标准错误控制台和文件。
--
api
-
version
=
""
:
和服务端交互使用的
API
版本。
--
certificate
-
authority
=
""
:
用以进行认证授权的.
cert
文件路径。
--
client
-
certificate
=
""
:
TLS
使用的客户端证书路径。
--
client
-
key
=
""
:
TLS
使用的客户端密钥路径。
--
cluster
=
""
:
指定使用的
kubeconfig
配置文件中的集群名。
--
context
=
""
:
指定使用的
kubeconfig
配置文件中的环境名。
--
insecure
-
skip
-
tls
-
verify
[=
false
]:
如果为
true
,将不会检查服务器凭证的有效性,这会导致你的
HTTPS
链接变得不安全。
--
kubeconfig
=
""
:
命令行请求使用的配置文件路径。
--
log
-
backtrace
-
at
=:
0
:
当日志长度超过定义的行数时,忽略堆栈信息。
--
log
-
dir
=
""
:
如果不为空,将日志文件写入此目录。
--
log
-
flush
-
frequency
=
5s
:
刷新日志的最大时间间隔。
--
logtostderr
[=
true
]:
输出日志到标准错误控制台,不输出到文件。
--
match
-
server
-
version
[=
false
]:
要求服务端和客户端版本匹配。
--
namespace
=
""
:
如果不为空,命令将使用此
namespace
。
--
password
=
""
:
API
Server
进行简单认证使用的密码。
-
s
,
--
server
=
""
:
Kubernetes
API
Server
的地址和端口号。
--
stderrthreshold
=
2
:
高于此级别的日志将被输出到错误控制台。
--
token
=
""
:
认证到
API
Server
使用的令牌。
--
user
=
""
:
指定使用的
kubeconfig
配置文件中的用户名。
--
username
=
""
:
API
Server
进行简单认证使用的用户名。
--
v
=
0
:
指定输出日志的级别。
--
vmodule
=:
指定输出日志的模块,格式如下:
pattern
=
N
,使用逗号分隔。
参见
-
kubectl annotate – 更新资源的注解。
更新一个活多个资源的注解。 注解是一个键值对,它可以包含比label更多的信息,并且可能是机读数据。 注解用来存储那些辅助的,非区分性的信息,特别是那些为外部工具或系统扩展插件使用的数据。 如果–overwrite设为true,将会覆盖现有的注解,否则试图修改一个注解的值将会抛出错误。 如果设置了–resource-version,那么将会使用指定的这个版本,否则将使用当前版本。
支持的资源包括但不限于(大小写不限):pods (po)、services (svc)、 replicationcontrollers (rc)、nodes (no)、events (ev)、componentstatuses (cs)、 limitranges (limits)、persistentvolumes (pv)、persistentvolumeclaims (pvc)、 resourcequotas (quota)和secrets。
kubectl annotate
[--
overwrite
]
(-
f FILENAME
|
TYPE NAME
)
KEY_1
=
VAL_1
...
KEY_N
=
VAL_N
[--
resource
-
version
=
version
]
示例
# 更新pod “foo”,设置其注解description的值为my frontend。
# 如果同一个注解被赋值了多次,只保存最后一次设置的值。
$ kubectl annotate pods foo description
='my frontend'
# 更新“pod.json”文件中type和name字段指定的pod的注解。
$ kubectl annotate
-
f pod
.
json description
=
'my frontend'
# 更新pod “foo”,设置其注解description的值为my frontend running nginx,已有的值将被覆盖。
$ kubectl annotate
--
overwrite pods foo description
=
'my frontend running nginx'
# 更新同一namespace下所有的pod。
$ kubectl annotate pods
--
all description
=
'my frontend running nginx'
# 仅当pod “foo”当前版本为1时,更新其注解
$ kubectl annotate pods foo description
=
'my frontend running nginx'
--
resource
-
version
=
1
# 更新pod “foo”,删除其注解description。
# 不需要--override选项。
$ kubectl annotate pods foo description
-
-
kubectl api-versions – 以“组/版本”的格式输出服务端支持的API版本。
以“组/版本”的格式输出服务端支持的API版本。
kubectl api
-
versions
-
kubectl apply – 通过文件名或控制台输入,对资源进行配置。
通过文件名或控制台输入,对资源进行配置。
接受JSON和YAML格式的描述文件。
kubectl apply
-
f FILENAME
示例
# 将pod.json中的配置应用到pod
$ kubectl apply
-
f
./
pod
.
json
# 将控制台输入的JSON配置应用到Pod
$ cat pod
.
json
|
kubectl apply
-
f
-
选项
-
f
,
--
filename
=[]:
包含配置信息的文件名,目录名或者
URL
。
-
o
,
--
output
=
""
:
输出格式,使用“-
o name
”来输出简短格式(资源类型/资源名)。
--
schema
-
cache
-
dir
=
"/tmp/kubectl.schema"
:
如果不为空,将
API schema
缓存为指定文件,默认缓存到“/
tmp
/
kubectl