跳至主要內容
nginx-controller对外暴露端口
  • 服务部署在k8s集群当中,服务pod
image-20230719233319101
  • svc列表
    • 30177是服务的有效访问地址
image-20230719233325648
  • 服务的访问地址如下:http://10.10.103.198:30177/login
image-20230719233333560

HFwas...小于 1 分钟k8sk8s
k8s运维操作-执行apply报错kind not set
  • 使用命令../helm create drawio .生成helm模版文件,然后修改对应的values.yaml和char.yaml
  • 控制台执行kubectl -n 命名空间 apply -f drawio/,显示报错,报错信息如下:
Snipaste_2024-04-23_23-05-57
  • 解决办法:

    • 执行helm install drawio .
    Snipaste_2024-04-23_23-06-44

HFwas...小于 1 分钟k8sk8s
K8s运维操作-获取pod上次退出原因
  • 执行命令kubectl -n 命名空间 get pod -o wide,获取命名空间所有pod的状态,
  • 输出内容当中有一列字段是:RESTARTS重启次数,想要去看pod上一次重启的原因
  • 执行命令:kubectl -n 命名空间 edit pod pod名称 ,pod当中的yaml最下边有一行字段,status表述了pod当中的容器的最后一次状态,以及对应的退出码,退出原因,启动时间,完成时间等,可以查看reason字段去排查pod重启的原因

HFwas...小于 1 分钟k8sk8s
K8s运维操作-unable to validate against any pod security policy

报错信息

  • 报错名称:unable to validate against any pod security policy: [spec.volumes[1]: Invalid value: "hostPath": hostPath volumes are not allowed to be used]

  • 执行kubectl -n 命名空间 get psp

  • 查看名称为cluster-podsecuritypolicy的psp

  • 执行kubectl -n 命名空间 edit psp cluster-podsecuritypolicy

  • 添加hostpath内容,


HFwas...小于 1 分钟k8sk8s
K8s运维操作-k8s输出jsonpath

格式

-o jsonpath="{}"

示例

  • 查看当前命名空间下所有pod使用的镜像列表,执行kubectl -n 命名空间 get pod -o jsonpath="{range .items[*]}{.spec.containers[*].image}{'\n'}{end}" | sort | uniq

HFwas...小于 1 分钟k8sk8s
k8s进阶操作-deploy回滚
  • 查看deploy的版本,执行kubectl -n 命名空间 rollout history deploy 服务名称

  • 查看某一次的版本信息,执行kubectl -n 命名空间 rollout history deploy 服务名称 --revision=2


HFwas...小于 1 分钟k8sk8s