开发 Tips(15)

2023年 1月 4日 103.3k 0

主要记录最近遇到的一些开发问题,解决方法。

1. Ingress 开启 HTTPS

准备好证书,domain.com.crt、domain.com.key

  • 创建 Secret
  • 1
    
    kubectl create secret tls {SECRET_NAME} --key domain.com.key --cert domain.com.crt -n {NAMESPACE}
    
  • 更新 Ingress 配置
  • 1
    2
    3
    4
    5
    
    spec:
      tls:
      - hosts:
        - domain.com
        secretName: {SECRET_NAME}
    

    2. SSH 登陆失败,提示 ssh-dss

    SSH 登陆提示:

    1
    
    Unable to negotiate with 10.10.10.10 port 22: no matching host key type found. Their offer: ssh-dss
    

    原因是,OpenSSH 7.0 以后的版本,出于安全性考虑,不再支持 ssh-dss (DSA)算法。执行命令,查看 OpenSSH 版本:

    1
    
    sshd -V
    

    解决办法,有两个:1,命令行添加参数

    1
    
    ssh -oHostKeyAlgorithms=+ssh-dss [email protected]_ip
    

    2,配置文件中增加参数

    cat ~/.ssh/config
    Host ssh_name
        HostName host_ip
        HostKeyAlgorithms +ssh-dss
        User login_user
        Port 22
    

    3. 强制删除 Kubernetes 资源

    • 使用 --force 删除
    1
    
    kubectl delete --force --grace-period=0 {RESOURCE_NAME}
    
    • 修改 finalizers

    通常无法删除,是因为有些 finalizer 关联的动作未执行成功。如果一定要删除,可以试试下面的命令:

    1
    
    kubectl get namespace myns -o json | tr -d "\n" | sed "s/\"finalizers\": \[[^]]\+\]/\"finalizers\": []/"| kubectl replace /api/v1/namespaces/myns/finalize -f -
    
    • 在 etcd 中删除
    1
    
    yum install -y etcd
    
    1
    
    ETCDCTL_API=3 etcdctl --endpoints=https://[127.0.0.1]:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt  --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key del --prefix=/registry/namespaces/{NAMESPACENAME}
    

    4. 使用 Journalctl 查看日志

    Systemd 是 Linux 系统工具,用来启动守护进程。journald 收集由内核、initrd 以及服务等产生的日志信息。只需要 journalctl 一条命令,就可以查看所有日志。

    • 查看所有日志
    1
    
    journalctl
    
    • 实时滚动显示日志
    1
    
    journalctl -f
    
    • 查看指定服务日志
    1
    
    journalctl -u kubelet
    

    相关文章

    KubeSphere 部署向量数据库 Milvus 实战指南
    探索 Kubernetes 持久化存储之 Longhorn 初窥门径
    征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
    那些年在 Terraform 上吃到的糖和踩过的坑
    无需 Kubernetes 测试 Kubernetes 网络实现
    Kubernetes v1.31 中的移除和主要变更

    发布评论