1、dockerfile常用命令
纯干货!Dockerfile常用指令清单_Linux驯兽师的博客-优快云博客_dockerfile常用指令
2、rsync使用
增量备份:rsync -rzatu --ignore-existing 源目录 目标目录
批量删除:mkdir empty & rsync --delete-before -d ./empty/ 目标目录
3、dockerfile部署sshd
dockerfile-新增用户并赋予sudo权限以及指定密码_fzzjoy的博客-优快云博客_dockerfile创建用户
Linux创建新用户并设置SSH证书登录_ghosind的博客-优快云博客_linux ssh证书登录
4、docker下拉故障 mtu 900
如果不更改docker的镜像仓库地址,使用docker pull命令下拉是在docker官网提取镜像,会遇到不能使用的现象,会报错408或400之类侧错误。查了网上相关解决方案让把物理网卡mtu值调整到900(sudo ifconfig eth0 mtu 900),就可以正常使用了。但是随之又来了一个问题,自己搭建的harbor仓库不能使用了,因为harbor仓库需要mtu 1500。后来找到一个比较好的方案就是将镜像仓库源地址改为国内地址,在/etc/docker/daemon.json文件中添加镜像地址如下(没有该文件可以自行创建)
{
"exec-opts":["native.cgroupdriver=systemd"],
"registry-mirrors":["https://core.harbor.shell.com:32042"],
"registry-mirrors":["https://registry.docker-cn.com"], //添加内容
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"], //添加内容
"registry-mirrors":["https://hub-mirror.c.163.com"], //添加内容
"insecure-registries":["10.12.70.130:32042"]
}
就是注释部分,我这里添加了多个,其实也可以只添加一个。然后执行
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker //查看状态
这样物理网卡设置成mtu 1500,就都能使用了。
5.磁盘空间占满
Docker - 清理Docker占用的磁盘空间_docker system df_MinggeQingchun的博客-优快云博客
6.安装ceph-dashboard
https://www.cnblogs.com/wangguishe/p/15429116.html
安装ceph dashboard_ceph安装dashboard_CooperXJ的博客-优快云博客
7. RECENT_CRASH: 1 daemons have recently crashed
Ceph集群显示XXX daemons have recently crashed警告_QTM_Gitee的博客-优快云博客
8、harbor证书过期,更新证书
harbor不停机更换自定义证书_harbor 更换证书_云原生IT民工的博客-优快云博客
9、 helm升级harbor不丢失数据
升级用helm安装的Harbor版本_harbor helm 升级_Chai Yingchao的博客-优快云博客
10、docker不通容器间通信
Docker容器跨主机通信之:直接路由方式_docker跨主机通信_迷失蒲公英的博客-优快云博客
11、宿主机和docker容器间通信
【Docker】三、docker网络通信机制_docker容器和宿主机通信_北城小林的博客-优快云博客
windows为虚拟机里的docker容器添加路由 - 爱码网
13、k8s证书过期
kubeadm kubernetes集群证书过期的处理方法_kubeadm证书过期_洒满阳光的午后的博客-优快云博客
14、ceph osd down处理
Ceph入门到精通-ceph故障处理 - osd down处理_ceph 停止osd_瓦哥架构实战的博客-优快云博客
Ceph OSD为DOWN时修复_ceph osd down-优快云博客
15、安装elk
Docker快速搭建部署ELK实战详解_docker elk-优快云博客
16、互斥性调度
k8s教程(pod篇)-亲和性与互斥性调度_k8s podantiaffinity-优快云博客
在Kubernetes中,可以通过使用亲和性(Affinity)和污点(Taints)来控制Pod的调度,以确保Pod不会被部署到同一个节点上。
亲和性可以分为节点亲和性(Node Affinity)和节点反亲和性(Node Anti-Affinity)。节点反亲和性可以用来确保具有相同标签的Pod不会被部署在同一个节点上。
以下是一个使用节点反亲和性的YAML配置示例,以确保同一类Pod不会被部署到同一个节点上:
yaml
复制
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- my-app
topologyKey: "kubernetes.io/hostname"
containers:
- name: my-container
image: my-image
在这个示例中,podAntiAffinity定义了节点反亲和性规则。requiredDuringSchedulingIgnoredDuringExecution表示这是一个硬策略,必须满足。labelSelector用于选择具有特定标签的Pod,这里选择的是标签为app=my-app的Pod。topologyKey指定了拓扑键,这里使用的是kubernetes.io/hostname,表示Pod将被部署到具有不同主机名的节点上。
这样配置后,Kubernetes调度器将确保同一类Pod(即具有相同app=my-app标签的Pod)不会被部署到同一个节点上。
请注意,这只是一个示例配置,实际配置可能因您的需求而有所不同。您可以根据自己的需求进行调整和扩展。
17、查看证书过期时间
kubectl get secret your_secret_name -n your_namespace -o jsonpath= "{.data.ca\.crt}" | base64 --decode | openssl x509 -text -noout
18、锁定安装版本
sudo apt-mark hold kubelet kubeadm kubectl