gitlab部署
Gitlab
官方提供了 Helm 的方式在 Kubernetes 集群中来快速安装,但是在使用的过程中发现 Helm 提供的 Chart 包中有很多其他额外的配置,所以我们这里使用自定义的方式来安装,也就是自己来定义一些资源清单文件。
Gitlab
主要涉及到3个应用:Redis、Postgresql、Gitlab 核心程序,实际上我们只要将这3个应用分别启动起来,然后加上对应的配置就可以很方便的安装 Gitlab 了,我们这里选择使用的镜像不是官方的,而是 Gitlab 容器化中使用非常多的一个第三方镜像:sameersbn/gitlab
,基本上和官方保持同步更新,地址:http://www.damagehead.com/docker-gitlab/
argo cd安装
官方仓库:
https://github.com/argoproj/argo-cd
安装
1 | kubectl create namespace argocd |
calico网络通信解析
grafana 图表批量导出导入
网上很多支持grafana导入导出的小工具/脚本,此处采用 https://gist.github.com/crisidev/bd52bdcc7f029be2f295
一般定时备份/var/lib/grafana文件夹就可以
1.grafana中获取api key
2.脚本中使用到 jq tr
命令,需要提前安装
3.脚本使用 sh grafana_db_bak.sh $host $key
JVM命令总结
ingress密码验证
1.安装
1 | yum -y install httpd |
2.过程
1 | [root@apiserver local]# mkdir basic-auth |
k8s故障
1
故障现象
kubelet 启动不了,通过命令 journalctl -u kubelet
查看日志,报 Failed to start ContainerManager failed to initialize top level QOS containers: failed to update top level Burstable QOS cgroup : failed to set supported cgroup subsystems for cgroup [kubepods burstable]: failed to find subsystem mount for required subsystem: pids
使用 Kustomize 定制 Helm Chart
如果你经常使用 Kubernetes,那么应该对 Helm 和 Kustomize 不陌生,这两个工具都是用来管理 Kubernetes 资源清单的,但是二者有着不同的工作方式。
Helm 使用的是模板,一个 Helm Chart 包中包含了很多模板和值文件,当被渲染时模板中的变量会使用值文件中对应的值替换。而 Kustomize 使用的是一种无模板的方式,它对 YAML 文件进行修补和合并操作,此外 Kustomize 也已经被原生内置到 kubectl 中了。这两个工具在 Kubernetes 的生态系统中都被广泛使用,而且这两个工具也可以一起结合使用。