Pod中JAVA进程内存缓存问题
背景
环境:openshift3.11
开发反映部署在容器中的java应用内存持续增长,只升不降,具体为:
java应用部署在容器中,配置的jvm参数为-Xms1024m -Xmx1024m,容器memory request为1G, memory limit为4G,通过openshift的Pod metrics监控发现,应用消耗内存达到99%(只剩下3M),但是Pod处于Running状态,没有发生...
2022-02-20 /
702 次浏览 /
容器虚拟化
k8s组件controller-manager与scheduler状态为Unhealthy处理
master初始化完成后,以下两个组件状态显示依然为Unhealthy
root@master1:~$ sudo kubectl get cs
NAME STATUS MESSAGE...
2022-02-20 /
795 次浏览 /
容器虚拟化
Kubernetes集群证书过期解决办法
问题现象
K8S集群证书过期后,会导无法创建Pod,通过kubectl get nodes也无法获取信息,甚至dashboard也无法访问。
一、确认K8S证书过期时间
查看k8s某一证书过期时间:
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |...
2022-02-19 /
808 次浏览 /
容器虚拟化
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...
2022-02-19 /
852 次浏览 /
容器虚拟化
K8S CA证书是10年,但是组件证书的日期只有1年,为了证书一直可用状态需要更新,目前主流的一共有3种:
1、版本升级,只要升级就会让各个证书延期1年,官方设置1年有效期的目的就是希望用户在一年内能升级1次,详见:k8s升级 2、通过命令续期 (这种只能延长一年) 3、编译源码Kubeadm,设置10年
一、查看证书过期时间
vim test.sh
for item in `find /etc/kubernetes/pki -maxdep...
2022-02-19 /
710 次浏览 /
容器虚拟化
v1.13.0 --> v1.14.2
K8S 升级可以跨小版本,但是不能跨大版本升级,只能一个大版本一个大版本的升级 v1.13.0 --> v1.14.2 正确 v1.13.0 --> v1.17.0 错误
升级**master节点**的相关镜像
1、 升级 kubeadm 、kubelet、kubectl
# 查看当前集群版本
[root@test1 ~]# kubectl get nodes
NAME STAT...
2022-02-19 /
683 次浏览 /
容器虚拟化
k8s以Deployment方式部署prometheus + grafana:
主机说明:
系统
ip
角色
cpu
内存
hostname
CentOS 7.8
192.168.30.128
master
>=2
>=2G
master1
CentOS 7.8
192.168.30.129
master
>...
2022-02-13 /
645 次浏览 /
容器虚拟化
本入门示例适合小白初次体验kubesphere devops.
环境准备
以管理员身份登录kubesphere,选择左上角平台管理–>访问控制–>账号管理–>创建。
1.创建一个普通用户,角色选择platform-regular:
2.然后选择企业空间,创建新的企业空间demo-ws,创建完成点击进入该空间,选择企业空间设置–>企业成员–>邀请成员。
将创建的普通用户加入该企业空间,角色选择self-provisio...
2022-01-20 /
770 次浏览 /
容器虚拟化
ArgoCD简介
Argo CD是用于Kubernetes的声明性GitOps持续交付工具,应用程序定义,配置和环境应为声明性的,并应受版本控制,应用程序部署和生命周期管理应该是自动化、可审核且易于理解。
Argo CD遵循GitOps模式,该模式使用Git仓库作为定义所需应用程序状态的真实来源。
Argo CD可在指定的目标环境中自动部署所需的应用程序状态,应用程序部署可以在Git提交时跟踪对分支,标签的更新,或固定到清单的特定版本。
官...
2022-01-20 /
809 次浏览 /
容器虚拟化
k8s部署pod和service时yaml传参问题的解决
1.问题提出
我们有N多的微服务需要部署,但是往k8s中部署的yaml文件没必要写N个,因为整个文件的框架是定的,只是其中的服务名字,pod名字,负载的个数,端口等需要变化,怎么解决呢?
2. 解决方案
对于我们程序员第一想到就是传参。那么怎么穿参数呢? 即脚本调用这个yaml文件的时候怎么把参数穿进去?
3. 总结
其实就是使用了linux的基础命令,但是这个方案时...
2022-01-18 /
780 次浏览 /
容器虚拟化