本站用于记录日常工作内容,虚拟化云计算,系统运维,数据库DBA,网络与安全。
华为云自动化部署LNMP,漏洞扫描服务VSS课程课件华为云微认证漏洞扫描VSS服务课件华为云微认证自动化部署LNMP课件华为云微认证ansible自动化部署LNMP实验指导
很多熟悉 Unix 系统的人(例如 macOS、Linux)都习惯于通过使用 sudo 随意提升我们的特权给 root 用户。在调试开发工具或尝试编辑受保护目录中的文件时,经常会发生这种情况,许多人在第一次尝试之后,执行命令不成功,都会默认使用 sudo。 了解 Docker 安全性的基础是了解实际的容器 Docker 提供了一个类似 --privileged flag,实际上这与我们随意使用的 sudo 有很大不同,它可能会使应用程序面临不必要的风险。本文将展示这与 root 运行方式有何不同(以及如何避免以 root 用户身份运行),并介绍特权(privileged)的实际含义。 Postgres: $ docker run -it postgres #whoami root #id -u 0  Couchbase: $ docker run -it couchbase sh #whoami root #id -u 0 Alpine: $ docker run -it alpine sh #whoami root #id -u 0 我们可以看到,默认情况下,大多数镜像都以 root 用户身份运行。通常这可以简化调试过程,尤其是在我们要 exec 到容器时。尽管 root 用户的 Linux 功能非常有限,但最好还是避免以 root 用户身份运行。 避免以 root 身份运行 尽管在容器内部以 root 身份运行是非常正常的...
k8s组件controller-manager与scheduler状态为Unhealthy处理master初始化完成后,以下两个组件状态显示依然为Unhealthyroot@master1:~$ sudo kubectl get cs NAME STATUS MESSAGE ERROR controller-manager Unhealthy Get http://127.0.0.1:10252/healthz: dial tcp 127.0.0.1:10252: connect: connection refused scheduler Unhealthy Get http://127.0.0.1:10251/healthz: dial tcp 127.0.0.1:10251: connect: connection refused etcd-0 Healthy {"health":"true"}网上说修改root@master1:~$ ls /etc/kubernetes/manifests/etcd.yaml kube-apiserver.yaml kube-controller-manager.yaml kube-scheduler.yaml修改清单文件,注释掉--port=0这一行,在对清单文件进行修改时先做备份操作注意:在对清单文件做备份时,不要直接把清单文件备份在平级目录里,即/etc/kubernetes/manifests目录,需要备份到其他目录中或在平级目录再创建一个类似/etc/kubernetes/manifests/bak的备份...
k8s v1.20.9编译kubeadmin方法延期证书10年时间1,这里使用一个master节点演示,延期证书操作方法。2,查看kubectl,kubeadmin的相关版本。[root@centos34 ~]#  kubectl get nodesNAME       STATUS   ROLES                  AGE   VERSIONcentos34   Ready    control-plane,master   27m   v1.20.9[root@centos34 ~]#  kubectl versionClient Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.9", GitCommit:"7a576bc3935a6b555e33346fd73ad77c925e9e4a", GitTreeState:"clean", BuildDate:"2021-07-15T21:01:38Z", GoVersion:"go1.15.14", Compiler:"gc", Platform:"linux/amd64"}Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.9", GitCommit:"7a576bc3935a6b555e33346fd73ad77c925e9e4a", GitTreeState:"clean", BuildDate:"...
k8s编译kubeadmin延长证书日期方法K8S CA证书是10年,但是组件证书的日期只有1年,为了证书一直可用状态需要更新,目前主流的一共有3种: 1、版本升级,只要升级就会让各个证书延期1年,官方设置1年有效期的目的就是希望用户在一年内能升级1次,详见:k8s升级 2、通过命令续期 (这种只能延长一年) 3、编译源码Kubeadm,设置10年 一、查看证书过期时间 vim test.sh for item in `find /etc/kubernetes/pki -maxdepth 2 -name "*.crt"`; do openssl x509 -in $item -text -noout| grep Not; echo ======================$item===============; done 或者一个个看: openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not ' 二、通过命令续期 master操作 1、修改机器时间模拟证书过期 date -s "2025-12-30 12:00" 证书过期报错 [root@bogon ~]# kubectl get pod -n kube-system Unable to connect to the server: x509: certificate has expired or is not yet valid 2、备份文件: cp -r /etc/kubernetes /etc/kubernetes_old cp $HOME/.kube/config /home/lihongbao/aa/config/ #mv /var/lib/kubelet/pki /...
Kubernetes集群证书过期解决办法   问题现象 K8S集群证书过期后,会导无法创建Pod,通过kubectl get nodes也无法获取信息,甚至dashboard也无法访问。 一、确认K8S证书过期时间 查看k8s某一证书过期时间: openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep Not 显示如下,通过下面可看到证书有效期是1年,从2021到2022年: 其它证书同理,K8s各个证书过期时间如下: /etc/kubernetes/pki/apiserver.crt #1年有效期 /etc/kubernetes/pki/front-proxy-ca.crt #10年有效期 /etc/kubernetes/pki/ca.crt #10年有效期 /etc/kubernetes/pki/apiserver-etcd-client.crt #1年有效期 /etc/kubernetes/pki/front-proxy-client.crt #1年有效期 /etc/kubernetes/pki/etcd/server.crt #1年有效期 /etc/kubernetes/pki/etcd/ca.crt #10年有效期 /etc/kubernetes/pki/etcd/peer.crt #1年有效期 /etc/kubernetes/pki/etcd/healthcheck-client.crt #1年有效期 /etc/kubernetes/pki/apiserver-kubelet-client.crt #1年有效期 或使用...
 
0

K8S证书过期处理

发表者:admin分类:云计算容器2022-02-19 12:57:02 阅读[626]
K8S证书过期处理 一、查看证书过期时间 find /etc/kubernetes/pki/ -type f -name "*.crt" -print|xargs -L 1 -t -i bash -c 'openssl x509 -noout -text -in {}|grep After' 二、备份原来的配置文件和证书 find /etc/kubernetes/pki/ -regex '.*.[crt|key]'|grep -v sa|grep -v ca|xargs -i cp { } /opt/ 三、更新证书 这里介绍证书已经过期的解决方法,以下延长证书过期的方法适合kubernetes1.14、1.15、1.16、1.17、1.18版本。操作步骤如下:下载update-kubeadm-cert.sh https://github.com/yuyicai/update-kube-cert 把update-kubeadm-cert.sh文件上传到k8s各节点任意位置 chmod +x update-kubeadm-cert.sh ./update-kubeadm-cert.sh all 四、重启docker和kubelet systemctl restart kubelet systemctl restart docker 五、 查看pod节点正常说明证书签发正常 kubectl get all -n kube-system kubectl get nodes 六、因为Jenkins之前用的凭据是用之前的证书生成的需要重新生成 打开~/.kube/config文件 cat ~/.kube/config 制作证书 ca.crt #复制certificate-authority-data的内容,运行以下命令生成ca.crt echo "<cer...
kubesphere3.2使用devops流水线进行sonar代码分析一,环境说明。 1,Centos7+kubesphere3.2+devops组件+Jenkins+Sonarqube. 2,kubesphere最新版本按照官网的说明来安装sonar,会出现无法连接pgsql数据库的问题。 3,可以按此文说明安装 SONAR(micoder.cc),可以正常安装使用。二,具体步骤。 1,由于安装的sonar-9.2版本,在使用maven时,sonar会出现java版本不对的报错。[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar (default-cli) on project devops-sample: Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar failed: An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar: java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 [ERROR] --------------...
ArgoCD简介 Argo CD是用于Kubernetes的声明性GitOps持续交付工具,应用程序定义,配置和环境应为声明性的,并应受版本控制,应用程序部署和生命周期管理应该是自动化、可审核且易于理解。 Argo CD遵循GitOps模式,该模式使用Git仓库作为定义所需应用程序状态的真实来源。 Argo CD可在指定的目标环境中自动部署所需的应用程序状态,应用程序部署可以在Git提交时跟踪对分支,标签的更新,或固定到清单的特定版本。 官网:https://argoproj.github.io/ ArgoCD架构图: Argo CD被实现为kubernetes控制器,该控制器持续监视正在运行的应用程序,并将当前的活动状态与所需的目标状态(在Git存储库中指定)进行比较。当已部署应用程序的运行状态偏离目标状态时将被argoCD视为OutOfSync。 Argo CD报告并可视化差异,同时提供了自动或手动将实时状态同步回所需目标状态的功能。在Git存储库中对所需目标状态所做的任何修改都可以自动应用并同步到指定的目标环境中。 ArgoCD支持的Kubernetes 配置清单包括helm charts、kustomize或纯YAML/json文件等。 本篇文章涉及内容: 使用kubesphere devops实现CI部分, CD部分由argoCD完成; ArgoCD持续监测git仓库某个目录下yaml文件变动,自...
k8s部署pod和service时yaml传参问题的解决 1.问题提出 我们有N多的微服务需要部署,但是往k8s中部署的yaml文件没必要写N个,因为整个文件的框架是定的,只是其中的服务名字,pod名字,负载的个数,端口等需要变化,怎么解决呢? 2. 解决方案 对于我们程序员第一想到就是传参。那么怎么穿参数呢? 即脚本调用这个yaml文件的时候怎么把参数穿进去? 3. 总结 其实就是使用了linux的基础命令,但是这个方案时不错的。
    总共58页,当前第4页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14