1. 安装 GPU 驱动 1.1. 查看 GPU 硬件 1.2. 检查自带 GPU 驱动 1.3. .1.3. 官方下载 GPU 驱动 1.4. 卸载驱动 1.5. 安装 GPU 驱动 1.6. 安装失败 1.6.1. ERROR: An NVIDIA kernel module ’nvidia-uvm’ appears to already be loaded in your kernel 1.6.2. ERROR: Unable to find the kernel source tree for the currently running kernel 1.7. 重装内核:方法一 1.8. 重装内核:方法二 1.9. 设置默认内核 1.10. 再次安装 GPU 驱动包 1.10.1. 先卸载之前的驱动 1.10.2. 安装 .run 文件 1..1. 回顾 .2. 安装前的准备 .2.1. 安装要求 .2.2. 集群规划 .2.3. 版本选择 .2.4. 基本设置 .3. Kubernetes 设置的参数 .3.1. br_netfilter 模块 .3.2. 桥接的IPv4流量传递到iptables的链 .3.3. 加载 IPVS .4. Docker 部署 .4.1. 设置 Docker 镜像源 .4.2. 列出 Docker 所有的版本 .4.3. 安装 docker .4.4. 设置 daemon.json .4.4.1. 设置CPU .4.4.2. 支持GPU .4.5. 启动 docker .5. 设置 firewall 防火墙规则 .5.1. k8s master需要开启以下端口 .5.2. k8s node需要开启以下端口 .5.3. 打开 NAT 转发功能 .5.4. calico 需要开启以下端口 .5.5. NFS 防火墙规则设置 .5.6. 其它端口 ..1. 错误提示 突然有一天,当你重启电脑后,系统就弹出以下错误弹窗,提示某某文件找不到。如果你没有解决,每次重启电脑 都会弹出此窗,非常讨厌,今天我们来解决此问题。
提示:Windows 找不到文件: “C:\Program File" 请确定文件名是否正确后,再试一次。
.2. 解决方法 打开你的 cmd,使用 win + R 或者开始-> 运行 -> 输入:cmd 注意:使用 administrator 权限打开 CMD 再输入以下代码即可。 sfc /scannow DISM /Online /Cleanup-Image /CheckHealth # 如果执行失败后,重启后再执行此命令 DISM /Online /Cleanup-Image /ScanHealth # 如果执行失败后,重启后再执行此命令 DISM /Online /Cleanup-Image /RestoreHealth 最后重启电脑,以后就不再弹窗啦。一切都安静了。
.3. 参考 https://learn.microsoft.com/en-us/answers/questions/663590/windows-error.html https://learn.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/repair-a-windows-image?source=recommendations&view=windows-11 .4. 关于作者 我的博客:https://yezihack.github.io
欢迎关注我的微信公众号【空树之空】,一日不学则面目可憎也,吾学也。1. 回顾 之前写过一篇 kuberntes-dashboard 的文章,介绍如何使用 nodeport 方式部署与访问。
参考:第十一章 Kubernetes Dashboard
本次介绍使用 ingress 域名方式访问 dashboard。
采用 tls 方式配置 ingress-nginx 访问 dashboard。 2. 下载对应的版本 访问 github 仓库:https://github.com/kubernetes/dashboard/
如何安装合适自己 kuberntes 版本的 Dashboard 的呢?官方发布 release 时,每个版本都有测试,当前版本支持哪些范围的 kubernetes 版本。还特意列出不完全兼容的版本信息。
在 https://github.com/kubernetes/dashboard/releases 找到"Compatibility"能找到完合兼容的版本信息,如图:
本次安装使用的 kubernetes 版本为:1.20
找到适合的 dashboard 版本:https://github.com/kubernetes/dashboard/releases/tag/v20
# 下载 YAML wget -O dashboard.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v20/aio/deploy/recommended.yaml # YAML 里含有的镜像: kubernetesui/dashboard:v20 kubernetesui/metrics-scraper:v17 3. 生成自签名的证书 如果是公网证书则跳过
使用自签名证书,去掉 dashboard.yaml 生成证书。 # 创建目录 mkdir certs # 进入目录,准备生成证书 cd certs # req 生成证书签名请求 # -newkey 生成新的私钥文件 # -keyout 生成新的私钥文件 # -out 生成的CS文件 # -days 证书有效期,3650天,即10年 # -subj 生成CSR证书的参数 openssl req -newkey rsa:2048 -nodes -keyout dash..1. 参数说明 .1.1. daemon.json 文件位置 .1.2. graph 数据存储 .1.3. storage-driver 存储驱动 .1.4. registry-mirrors 镜像注册 .1.5. insecure-registries 无权限注册 .1.6. exec-opts .1.7. live-restore 实时还原 .1.8. log-driver 日志驱动 .1.9. log-opts 日志参数 .1.10. default-runtime 运行时 .1.11. runtimes 运行时参数设置 .2. daemon.json 配置参考 .2.1. CPU 机器使用 daemon.json .2.2. GPU 机器使用 daemon.json .3. 关于作者 云原生中 docker 有着重要的地位,我们有必要学习下 Docker 几个重要的启动参数,也适合生产。
.1. 参数说明 .1.1. daemon.json 文件位置 JSON 文件形式默认存储位置: /etc/docker/daemon.json。 dockerd 通过 --config-file 参数指定配置文件位置。 .1.2. graph 数据存储 19.x 版本后官方建议使用:data-root 替代1. .1. Kubeadm 高可用集群 2. .2. 安装前的准备 2.1. .2.1. 安装要求 2.2. .2.2. 集群规划 2.3. .2.3. 版本选择 2.4. .2.4. 设置IP 2.5. .2.5. 设置 HOSTNAME 2.6. .2.6. 添加阿里源 2.7. .2.7. 安装基础软件 2.8. .2.8. 关闭防火墙 2.9. .2.9. 关闭 selinux 2.10. .2.10. 关闭 swap 2.11. .2.11. 添加 HOST 2.12. .2.12. 时间同步 2.12.1. .2.12.1. chrony 安装 2.12.2. .2.12.2. 修改为中国时区 2.12.3. .2.12.3. 修改配置 2.12.4. .2.12.4. 同步时间 2.12.5. .2.12.5. 加入防火墙 3. .3. Kubernetes 设置的参数 3.1. .3.1. br_netfilter 模块 3.1. 准备 CentOS7 镜像 2. Vmware Workstation 安装 CentOS7 3. 配置虚拟机网络 4. 配置 CentOS 网络 5. 更改 CentOS7 Yum源 6. 安装常用的软件 7. 安装 Oh-my-zsh 8. 克隆系统 9. 解决克隆 UUID 一致的问题 10. 关于作者 1. 准备 CentOS7 镜像 使用清华大学开源镜像站下载 CentOS7: https://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/x86_64/
CentOS-7-x86_64-DVD-2009.iso 标准安装版 CentOS-7-x86_64-Everything-2009.iso 完整版,集成所有软件 CentOS-7-x86_64-Minimal-2009.iso 精简版,自带的软件最少 CentOS-7-x86_64-NetInstall-2009.iso 网络安装版(从网络安装或者救援系统) 本次安装教程使用精简版镜像。因为无须图形界面,也无须自带太多的软件。
2. Vmware Workstation 安装 CentOS7 操作相对比较简单,下一步即可。
新建虚拟机 选择镜像源 下一步 调整配置 内存调整为 2GB。 CPU调整为 2 个处理器,每个处理器内核数量为 2。 开启此虚拟机 3. 配置虚拟机网络 网络规划:192.168.9.0/24 虚拟机采用 NAT 模式连接宿主机网络 菜单 -> 编辑 -> 虚拟网络编辑器:DNS 域名系统
DNS 全称:Domain Name System
域名系统相当于一个“翻译官”,将域名翻译成对应的IP地址,然后再请求目标IP。
Linux 设置 DNS /etc/resolv 设置DNS无须重新网络,立即生效。
cat /etc/resolv.conf search github.com options timeout:1 attempts:1 rotate nameserver 192.168.1.1 nameserver 192.168.1.2 nameserver 192.168.1.3 解释 nameserver:dns服务器的ip地址。最多能设三个。
timeout:查询一个nameserver的超时时间,单位是秒。系统缺省是5,最大可以设为30。 attempts:这个是查询的整个都尝试一遍的次数。缺省是2。 rotate:这个参数的含义是随机选取一个作为首选查询的dns server。系统缺省是从上到下的。 DNS 排障方法 经常会出现某域名不通,需要使用 nslookup 工具诊断
# 安装 yum -y install nslookup -> % nslookup www.github.com Server: 114.114.114.114 Address: 114.114.114.114#53 Non-authoritative answer: www.github.com canonical name = github.com. Name: github.com Address: 20.205.243.166.1. 介绍 .2. 安装 ZSH .3. 安装 oh-my-zsh .4. 设置主题 .5. 一键安装 zsh + oh-my-zsh .6. 推荐一个华丽主题 .1. 介绍 Zsh 是 Shell 脚本的天花板,个人觉得目前没有之一。华丽的外衣,丰富的内含,让你的终端操作如行云流水一般,好不快活,何不尝试一下 Oh-my-zsh。
.2. 安装 ZSH Zsh 全称 Z-shell,是一款用于交互式使用的shell,也可以作为脚本解释器来使用。其包含了 bash,ksh,tcsh 等其他shell中许多优秀功能,也拥有诸多自身特色。
# CentOS sudo yum -y install zsh # Ubuntu sudo apt-get -y install zsh # 查看系统支持哪些 shell cat /etc/shells # 设置默认shell chsh -s /bin/zsh # 查看当前默认shell echo $SHELL .3. 安装 oh-my-zsh # 官网下载 sh -c "$(curl -fsSL https://raw..1. busybox .2. progrium/busybox .3. Alpine .3.1. Alpine 替换国内源 .3.2. Dockerfile .3.3. 升级&安装软件 .4. sgfoot/busybox .4.1. 支持常用命令 .4.2. 更加详情的命令列表 busybox 本身集成了300多个常用工具命令. 用于日常开发,维护.也是体积比较小. 但是 busybox 本身不支持 curl,很遗憾,所以有了衍生品.
.1. busybox 原生的 busybox, 大小718K左右,不及1M大小.
本身采用 apt-get install 安装工具
.2. progrium/busybox 官方地址: https://hub.docker.com/r/progrium/busybox
支持创建自己的镜像,安装,采用 opkg-install 安装软件.
FROM progrium/busybox RUN opkg-install curl bash git CMD ["/bin/bash"] .3. Alpine .3.1. Alpine 替换国内源 # 查看镜像源 cat /etc/apk/repositories http://dl-cdn.alpinelinux.org/alpine/v3.11/main http://dl-cdn.alpinelinux.org/alpine/v3.11/community # 替换阿里云 sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories # 替换科技大学 sed -i 's/dl-cdn.