正文
- 将 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 了。