随笔分类 - k8s-docker
摘要:由于docker 都是root权限启动的容器, 要给研发 登录权限查看log,对于普通用,使用docker是会出现报错, 使用 gpasswd 命令把用户加入到docker组中
阅读全文
摘要:kubelet 初始化过程 kube-controller-manager : 当apiserver从kubelet接收证书请求并验证这些请求时,控制器管理器负责发出实际签名的证书。 控制器管理器通过证书发布控制循环执行此功能。这采用使用磁盘资产的cfssl本地签名者的形式 。目前,所有颁发的证书都
阅读全文
摘要:kubernetes RBAC 需要了解 rules roles subjects rolebindings(role绑定)rules 是一组操作 verbs 、资源 、 api组。 如果只允许创建对象并检索他们的信息, 那么可是使用 verbs 的 get list create, 一个verbs
阅读全文
摘要:安装 mongodb 不要使用mongodb 4.16版本 MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD 创建一个新用户并设置该用户的密码。此用户在admin身份验证数据库中创建并具有角色root 如果不加设置 用户 密码参数,但是指定
阅读全文
摘要:由于apache 官网的 docker image 是单点,要实现集群方式部署。 rocketmq 分为 nameserver 和 broker , 对于之间调用频繁的服务,会增加网络压力, 所以 考虑又网络通信 变成 进程间通信, 那么1个pod 中包含两个container。 关于rocketm
阅读全文
摘要:Taint(污点)和 Toleration(容忍)可以作用于 node 和 pod
阅读全文
摘要:目前应用日志,tomcat日志 统一输出到 /data/logs/pod名字/ 目录下,并且/data/logs 目录挂载到cephfs上, tomcat 日志使用 cronolog进行日志切割 使用 cronjob 创建一个pod,在每天2点开始 清除日志。 successfulJobsHisto
阅读全文
摘要:默认的pod 的/etc/hosts 无法自动数据 通过使用 k8s HostAliases ,可以想 pod /etc/hosts 注入主机名对应关系
阅读全文
摘要:# docker ps -adocker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory 官方的jenkins镜像是基于Deb
阅读全文
摘要:容器中JVM获取真实的CPU核数 基于 libsysconfcpus的方案,可以为各个版本的JDK提供一个通用的解决方案。 libsysconfcpus.so的原理是截获JVM获取CPU核数所用的系统调用sysconf(_SC_NPROCESSORS_CONF),改为读取环境变量LIBSYSCONF
阅读全文
摘要:由于kafka、zk 集群已经部署在k8s中, kafka的服务名 kafka-hs, zk的服务名为:zk-cs ,对kafka进行监控,所以需要把监控部署到k8s中,选择使用kafka-eagle. 下载地址: http://download.smartloli.org/ kafka-eagle
阅读全文
摘要:参考官网:https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/20-nproc.conf limits.conf senyint.conf Dockerfile docker bui
阅读全文
摘要:$ cat /etc/etcd/etcd.conf ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #监听URL,用于与其他节点通讯 ETCD_LISTEN_PEER_URLS="https://10.207.33.148:2380" #告知客户端的URL, 也就是服务的URL ETCD_LISTEN_CLIENT_URLS="https://10.2...
阅读全文
摘要:解决方法:
阅读全文
摘要:突然集群的2个节点挂了,通过top查看, 虚拟内存22G, 通过 pmap -x 8 | grep anon 一大堆64M Linux下glibc的内存管理机制用了一个很奇妙的东西,叫arena。在glibc分配内存的时候,大内存从从中央分配区分配,小内存则在线程创建时,从缓存区分配。为了解决分配内
阅读全文
摘要:需要解决的越来越多, 基础镜像中 添加 cronolog功能,用于切割catalina.out 日志。 思路是: cephfs 挂载在node节点, crontab 删除 几天的tomcaat 日志。 也想把crontab放在基础镜像中,出现服务无法启动镜像 1G,太大了。
阅读全文
摘要:1. 建立基础镜像 2. tomcat/conf/catalina.sh 添加初始堆参数 **其中 Djava.rmi.server.hostname= 192.168.200.10 为宿主机的IP地址。 3. 加入应用 4. 运行应用docker 5. 使用visualVM监控 二, 2. tom
阅读全文
摘要:项目的组件相对比较复杂,原有的一些选项是靠 ConfigMap 以及 istioctl 分别调整的,现在通过重新设计的Helm Chart,安装选项用values.yml或者 helm 命令行的方式来进行集中管理了。 在安装 Istio 之前要确保 Kubernetes 集群(仅支持v1.9及以后版
阅读全文
摘要:容器内部利用脚本来获取容器的CGroup资源限制,并通过设置JVM的Heap大小。 Docker1.7开始将容器cgroup信息挂载到容器中,所以应用可以从 /sys/fs/cgroup/memory/memory.limit_in_bytes 等文件获取内存、 CPU等设置,在容器的应用启动命令中
阅读全文
摘要:kubernetes备份和恢复 备份etcd数据 首先由于ETCD有三个备份,并且会同步,所以您只需要在一台master机器上执行ETCD备份即可。 另外在运行下列命令前,确保当前机器的kube-apiserver是运行的。 ps -ef|grep kube-apiserver执行备份 export
阅读全文