-
将 Pod 的端口号映射到宿主机(通常用于测试)
命令格式:kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]
将 Pod 的 80 端口映射到宿主机的 8888 端口,客户端即可通过 http://<NodeIP>:8888 访问容器服务:
[root@k8s0 workspace_test]# kubectl port-forward --address 0.0.0.0 pod/nginx 8887:80
Forwarding from 0.0.0.0:8887 -> 80
Handling connection for 8887
Handling connection for 8887
-
在线编辑运行的资源对象
命令格式:kubectl edit (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags]
例如使用下面的命令编辑运行中的一个 Pod:
kubectl edit pod nginx
- 在命令运行之后,会通过 YAML 格式展示该对象的文本格式定义,用户可以对代码进行编辑和保存,从而完成对在线资源的直接修改。
-
查看配置文件与当前系统中正在运行的资源对象的差异
命令格式: kubectl diff -f FILENAME [option]
例如使用下面的命令查看多次滚动升级后的版本差异:
[root@cxxxxxx1 kube-xxxxx-client]# kubectl diff -f xxxxx-client-deployment.yaml
diff -u -N /tmp/LIVE-436018550/apps.v1.Deployment.default.xxxxx-client-deployment /tmp/MERGED-425699421/apps.v1.Deployment.default.xxxxx-client-deployment
--- /tmp/LIVE-436018550/apps.v1.Deployment.default.xxxxx-client-deployment 2022-11-21 13:02:19.093794169 +0800
+++ /tmp/MERGED-425699421/apps.v1.Deployment.default.xxxxx-client-deployment 2022-11-21 13:02:19.125794027 +0800
@@ -4,7 +4,7 @@
annotations:
deployment.kubernetes.io/revision: "335"
creationTimestamp: "2020-10-24T20:04:21Z"
- generation: 335
+ generation: 336
labels:
app: xxxxx-client-deployment
name: xxxxx-client-deployment
@@ -31,7 +31,7 @@
app: xxxxx-client-pod
spec:
containers:
- - image: junfenghe/xxxxx-client:5.8.19
+ - image: junfenghe/xxxxx-client:3.2.22
imagePullPolicy: IfNotPresent
name: xxxxx-client
ports:
exit status 1
- 可以看到 image 的版本,已经从3.2.22 升级到了 5.8.19 了。