project.management.cattle.io not found
本文永久链接: https://www.xtplayer.cn/rancher/project-management-cattle-io-not-found/
问题背景有时候可能会在 rancher server 中看到很多如下的错误提示:
2019/07/16 06:33:23 [ERROR] NamespaceController default [resourceQuotaSyncController] failed with : project.management.cattle.io "cluster-vp4z8/project-zj5k9" not found, [resourceQuotaUsedLimitController] failed with : project.management.cattle.io "cluster-vp4z8/project-zj5k9" not found2019/07/16 06:33:39 [ERROR] NamespaceController kube-system [resourceQu ...
阅读全文自签名 SSL 证书
HTTP over SSL要保证 Web 浏览器到服务器的安全连接,HTTPS 几乎是唯一选择。HTTPS 其实就是 HTTP over SSL,也就是让 HTTP 连接建立在 SSL 安全连接之上。
SSL 使用证书来创建安全连接,有两种验证模式:
仅客户端验证服务器的证书,客户端自己不提供证书;
客户端和服务器都互相验证对方的证书。
一般第二种方式用于网上银行等安全性要求较高的网站,普通的 Web 网站只采用第一种方式。
客户端如何验证服务器的证书呢?
web 服务的证书必须经过某权威证书的签名,而这个权威证书又可能经过更权威的证书签名。这么一级一级追溯上去,最顶层那个最权威的证书就称为根证书,根证书一般内置在浏览器中。这样,浏览器就可以利用自己自带的根证书去验证某个 web 服务的证书是否有效。如果要提供一个有效的证书,web 服务的证书必须从 VeriSign 这样的证书颁发机构签名。这样,浏览器就可以验证通过,否则浏览器给出一个证书无效的警告。一般安全要求较高的内网环境,可以通过创建自签名 SSL 证书来加密通信。
数字证书(Certificate)在 HTTPS ...
阅读全文Rancher v2.4.10 发布
本文永久链接: https://www.xtplayer.cn/rancher/release/2410/
仅解决了 v2.4.9 中没有最新系统 chart 的离线设置问题。请注意,发行说明与 v2.4.9 相同。
重要
请查看 v2.4.0 发行说明 以获取重要的更新/重大更改。
Kubernetes 1.18 现在是默认版本[ #25117 ] -Kubernetes 1.18 现在是默认版本。每当升级到任何 Kubernetes 版本时,请查看 Kubernetes 发行说明以了解任何重大更改。
使用单个 Docker 容器安装的用户-Docker容器中的Etcd 已从 3.3 升级到 3.4,因此您必须在升级之前进行备份,以便能够回滚到 v2.3.x 版本。没有此备份,您将无法回滚。
**使用带有 RHEL/CentOS 节点的节点池的用户[ #18065 ]**:RHEL/CentOS 节点的默认存储驱动程序已更新为 overlay2。如果您的节点模板未指定存储驱动程序,则将使用新的更新的默认值(overlay)而不是旧的默认值(d ...
阅读全文Rancher v2.4.6 发布
本文永久链接: https://www.xtplayer.cn/rancher/release/246/
重要更新
请查看 v2.4.0 发行说明 以获取重要更新/重大更改。
Kubernetes 1.18 现在是默认版本[ #25117 ]
Kubernetes 1.18 现在是默认版本。每当升级到任何 Kubernetes 版本时,请查看 Kubernetes 发行说明以了解任何重大更改。
使用单个 Docker 容器安装的用户
Docker 容器中的 Etcd 已从 3.3 升级到 3.4,因此您必须在升级之前进行备份,以便能够回滚到 v2.3.x 版本。没有备份,您将无法回滚。
使用带有 RHEL / CentOS 节点的节点池用户[ #18065 ]
RHEL / CentOS 节点的默认存储驱动程序已更新为 overlay2,如果您的节点模板未指定存储驱动程序,则将使用新的更新的默认值(overlay)而不是旧的默认值(devicemapper)来配置任何新节点。如果需要继续使用 devicemapper 作为存储驱动程序选项,请编辑节 ...
阅读全文Rancher v2.4.8 发布
本文永久链接: https://www.xtplayer.cn/rancher/release/248/
Rancher 2.4.8 版本于 2020 年 9 月 4 日发布。Rancher 2.4.8 解决了 Rancher v2.4.6 中新引入的设置(auth-token-max-ttl-minutes)有关的问题。除了以下变化,版本说明与 v2.4.6 相同。点击这里查看英文版版本说明。
修正了一个 UI 问题,在这个问题上,列出 KMS 密钥需要权限才能修改 AWS 节点模板#28724。
修正了 k8s go-client 与旧版 k8s 不兼容的问题,它可能会引起 Timeout: Too large resource version 错误。注意:该消息对集群没有已知的直接影响#28623。
修正了新设置的默认值(auth-token-max-ttl-minutes)
修正了在 v2.4.6 中创建的新 API 令牌会在 24 小时内默认过期的问题。该设置现在默认为 0,允许令牌永不过期,与 v2.4.5 类似#28668
修正了一个用户界面问题,如果 API ...
阅读全文单节点+权威证书+四层负载均衡安装 Rancher
本文永久链接: https://www.xtplayer.cn/rancher/install/single-node-install-authority-ssl-l4/
权威 ssl 证书与默认自签名 ssl 证书或者自己生成的自签名证书有所不同,在权威 ssl 证书模式下,agent 通过 IP 访问无法通过证书的校验。因为 ssl 证书在生成的时候会与 IP 或者域名有一个绑定关系,而权威证书生成时候是基于申请证书时使用的域名,所以当用其他 IP 访问时候则无法验证通过。默认自签名 ssl 证书或者自己生成的自签名证书,在创建的时候有传递相应的 IP,所以自签名可以正常认证。
要使用权威证书安装 rancher,需要使用申请 ssl 证书时用的域名来访问 rancher。
在线安装docker_data_dir=xxxx # 定义绝对路径mkdir -p ${docker_data_dir}/data # rancher 数据目录mkdir -p ${docker_data_dir}/auditlog # 审计日志目录mkdir -p ...
阅读全文单节点+权威证书+七层负载均衡安装 Rancher
本文永久链接: https://www.xtplayer.cn/rancher/install/single-node-install-authority-ssl-l7/
权威 ssl 证书与默认自签名 ssl 证书或者自己生成的自签名证书有所不同,在权威 ssl 证书模式下,agent 通过 IP 访问无法通过证书的校验。因为 ssl 证书在生成的时候会与 IP 或者域名有一个绑定关系,而权威证书生成时候是基于申请证书时使用的域名,所以当用其他 IP 访问时候则无法验证通过。默认自签名 ssl 证书或者自己生成的自签名证书,在创建的时候有传递相应的 IP,所以自签名可以正常认证。
要使用权威证书安装 rancher,需要使用申请 ssl 证书时用的域名来访问 rancher。
在线安装docker_data_dir=xxxx # 定义绝对路径mkdir -p ${docker_data_dir}/data # rancher 数据目录mkdir -p ${docker_data_dir}/auditlog # 审计日志目录mkdir -p ...
阅读全文单节点+权威证书安装 Rancher
本文永久链接: https://www.xtplayer.cn/rancher/install/single-node-install-authority-ssl/
权威 ssl 证书与默认自签名 ssl 证书或者自己生成的自签名证书有所不同,在权威 ssl 证书模式下,agent 通过 IP 访问无法通过证书的校验。因为 ssl 证书在生成的时候会与 IP 或者域名有一个绑定关系,而权威证书生成时候是基于申请证书时使用的域名,所以当用其他 IP 访问时候则无法验证通过。默认自签名 ssl 证书或者自己生成的自签名证书,在创建的时候有传递相应的 IP,所以自签名可以正常认证。
要使用权威证书安装 rancher,需要使用申请 ssl 证书时用的域名来访问 rancher。
在线安装docker_data_dir=xxxx # 定义绝对路径mkdir -p ${docker_data_dir}/data # rancher 数据目录mkdir -p ${docker_data_dir}/auditlog # 审计日志目录mkdir -p $& ...
阅读全文单节点+自定义自签证书+四层负载均衡安装 Rancher
本文永久链接: https://www.xtplayer.cn/rancher/install/single-node-install-custom-ssl-l4/
在线安装Rancher 安装可以使用自己生成的自签名证书,如果没有自签名证书,可通过脚本一键生成自签名 ssl 证书。
docker_data_dir=xxxx # 定义绝对路径mkdir -p ${docker_data_dir}/data # rancher 数据目录mkdir -p ${docker_data_dir}/auditlog # 审计日志目录mkdir -p ${docker_data_dir}/ssl # 自定义 CA 证书目录docker run -d --restart=unless-stopped \-p 10080:80 -p 10443:443 \ ①-v ${docker_data_dir}/data:/var/lib/rancher \ ②# 审计日志配置 ③-e AUDIT_LEVEL=3 \-v $ ...
阅读全文单节点+自定义自签证书+七层负载均衡安装 Rancher
本文永久链接: https://www.xtplayer.cn/rancher/install/single-node-install-custom-ssl-l7/
单节点在线安装Rancher 安装可以使用自己生成的自签名证书,如果没有自签名证书,可通过脚本一键生成自签名 ssl 证书。
docker_data_dir=xxxx # 定义绝对路径mkdir -p ${docker_data_dir}/data # rancher 数据目录mkdir -p ${docker_data_dir}/auditlog # 审计日志目录mkdir -p ${docker_data_dir}/ssl # 自定义 CA 证书目录docker run -d --restart=unless-stopped \-p 10080:80 \ ①-v ${docker_data_dir}/data:/var/lib/rancher \ ②# 审计日志配置 ③-e AUDIT_LEVEL=3 \-v ${docker_ ...
阅读全文单节点+自定义自签证书安装 Rancher
本文永久链接: https://www.xtplayer.cn/rancher/install/single-node-install-custom-ssl/
在线安装Rancher 安装也可以使用自己生成的自签名证书,如果没有自签名证书,可通过脚本一键生成自签名 ssl 证书。
docker_data_dir=xxxx # 定义绝对路径mkdir -p ${docker_data_dir}/data # rancher 数据目录mkdir -p ${docker_data_dir}/auditlog # 审计日志目录mkdir -p ${docker_data_dir}/ssl # 自定义 CA 证书目录docker run -d --restart=unless-stopped \-p 80:80 -p 443:443 \ ①-v ${docker_data_dir}/data:/var/lib/rancher \ ②# 审计日志配置 ③-e AUDIT_LEVEL=3 \-v ${dock ...
阅读全文单节点+默认自签证书+四层负载均衡安装 Rancher
默认情况下,Rancher 会自动生成一个用于加密的自签名证书。可以直接通过运行 Docker 命令来安装 Rancher,而不需要任何其他参数。
在线安装docker_data_dir=xxxx # 定义绝对路径mkdir -p ${docker_data_dir}/data # rancher 数据目录mkdir -p ${docker_data_dir}/auditlog # 审计日志目录mkdir -p ${docker_data_dir}/ssl # 自定义 CA 证书目录docker run -d --restart=unless-stopped \-p 10080:80 -p 10443:443 \ ①-v ${docker_data_dir}/data:/var/lib/rancher \ ②# 审计日志配置 ③-e AUDIT_LEVEL=3 \-v ${docker_data_dir}/auditlog:/var/log/auditlog \# 以下两行配置自定义 C ...
阅读全文单节点+默认自签证书安装 Rancher
本文永久链接: https://www.xtplayer.cn/rancher/install/single-node-install-default-ssl/
默认情况下,Rancher 会自动生成一个用于加密的自签名证书。直接通过运行 Docker 命令来安装 Rancher,而不需要任何其他参数。
单节点在线安装docker_data_dir=xxxx # 定义绝对路径mkdir -p ${docker_data_dir}/data # rancher 数据目录mkdir -p ${docker_data_dir}/auditlog # 审计日志目录mkdir -p ${docker_data_dir}/ssl # 自定义 CA 证书目录docker run -d --restart=unless-stopped \-p 80:80 -p 443:443 \ ①-v ${docker_data_dir}/data:/var/lib/rancher \ ②# 审计日志配置 ③-e AUDIT_LEVE ...
阅读全文图形化的方式了解 Kubernetes
本文永久链接: https://www.xtplayer.cn/kubernetes/learn-about-kubernetes-graphically/
容器 在我们尝试了解 Kubernetes 之前,让我们花一点时间来澄清容器是什么,以及它们为什么如此受欢迎。毕竟,在不知道容器是什么的情况下谈论容器编排器(Kubernetes)是没有意义的。
“容器” 是一个用来存放你放入的所有物品的容器。
像应用程序代码,依赖库以及它的依赖关系一直到内核。这里的关键概念是隔离。将所有内容与其余内容隔离开,以便你更好地控制它们。容器提供三种隔离类型:
工作区隔离(流程、网络)
资源隔离(CPU、内存)
文件系统隔离(联合文件系统)
考虑一下像 VM 一样的容器。它们精简,快速(启动)且体积小。而且,所有这些都没有构建起来。取而代之的是,他们使用 Linux 系统中存在的结构(例如:cgroups、namespaces)在其上构建了一个不错的抽象。
现在我们知道什么是容器了,很容易理解为什么它们很受欢迎。不仅可以分发应用程序的二进制/代码,还可以以实用的方式交付运行应用程序所 ...
阅读全文使用 kind 快速创建本地集群
本文永久链接: https://www.xtplayer.cn/kubernetes/use-kind/
简 介kind 是另一个 Kubernetes SIG 项目,但它与 minikube 有很大区别。它可以将集群迁移到 Docker 容器中,这与生成虚拟机相比,启动速度大大加快。简而言之,kind 是一个使用 Docker 容器节点运行本地 Kubernetes 集群的工具(CLI)。
前期准备想要顺利完成本教程,你需要在本地系统中准备好以下程序:
Go
需要运行的 Docker 服务
安 装
使用以下命令下载和安装 kind 二进制文件:
GO111MODULE=”on” go get sigs.k8s.io/kind@v0.8.1
确保 kind 二进制文件是存在
> kind versionkind v0.8.1 go1.14.2 darwin/amd64
现在,我们应该能够使用 kind CLI 来启动一个 Kubernetes 集群:
Usage: kind [command]Available Commands: build Bu ...
阅读全文ipv6/conf/eth0/accept_dad: no such file or directory
本文永久链接: https://www.xtplayer.cn/kubernetes/pod-not-run/
问题现象在早期 rancher kubernetes 版本中,在新集群创建应用后可能会出现大批量的 Pod 处于 ContainerCreating 状态。如图:
通过 kubectl describe 查看应用的事件,提示无法获取 IP 地址:
查看 kubelet 服务日志,可以看到以下的错误信息:
E0824 08:04:39.776000 20094 cni.go:331] Error adding kube-system_coredns-59db856b69-b2jck/ead1d2646611bcee3bdb9e0900a53139af282232f6354b156b92a91bdcc3cfee to network flannel/cbr0: open /proc/sys/net/ipv6/conf/eth0/accept_dad: no such file or directoryE0824 08:04:39.809938 20094 ...
阅读全文Docker Cgroup 版本对应
centos8/redhat8、Fedora 31 或者 Linux 内核 4.5 以上,cgroup 默认为 v2 版本,而当前 docker 只支持 以上,cgroup v1。
docker: Error response from daemon: cgroups: cannot found cgroup mount destination: unknown.
阅读全文linux authentication token manipulation 错误
本文永久链接: https://www.xtplayer.cn/linux/authentication-token-manipulation/
问题现象修改密码时出现以下错误:
root@alihost-01:~# passwdEnter new UNIX password:Retype new UNIX password:passwd: Authentication token manipulation errorpasswd: password unchangedroot@alihost-01:~#
问题分析与解决
先查看 /etc/shadow 文件的权限,发现都是正常的权限
ls -l /etc/shadow-rw-r----- 1 root shadow 1025 Feb 11 22:11 /etc/shadow
尝试强制修改 /etc/shadow 文件权限,报如下错误
root@alihost-01:~# sudo chmod 0640 /etc/shadowchmod: changing permissions of '/etc/shadow& ...
阅读全文Ingress 常用配置(持续更新)
本文永久链接: https://www.xtplayer.cn/kubernetes/ingress-configuration-demo/
本文列举一些常用的 ingress 功能配置,并持续更新。
Ingress 配置修改方法通过 Rancher UI 配置依次进入 system 项目|配置映射,然后在 ingress-nginx 命名空间部分找到 nginx-configuration配置映射并编辑 nginx-configuration。
然后在 配置映射 中以键值对形式添加参数,比如: server-tokens=false。
注意: 配置映射设置的参数是作用于全局,如果想局部生效,可通过对应的 注释 去配置相应参数,配置方法文章后面会说明。
通过 kubectl 命令行修改执行以下命令进入配置映射文件的编辑模式
kubectl -n ingress-nginx edit configmaps nginx-configuration
然后在 data 字段中添加相应参数,比如: server-tokens: "false",注意双引号。
...
阅读全文自定义服务账户(Service Account)
本文永久链接: https://www.xtplayer.cn/kubernetes/custom-serviceaccount/
Service account 主要是为了方便 Pod 中的进程调用 Kubernetes API 而设计的,为服务提供了一种方便的认证机制。但它不提供授权,需要配合 RBAC 来为 Service Account 鉴权。
用户帐户与服务帐户Kubernetes 出于多种原因区分用户帐户和服务帐户的概念:
用户帐户是为人类使用的,服务帐户用于在 Pods 中运行的进程。
用户帐户是全局的,其名称在集群的所有命名空间中必须是唯一的,将来的用户资源将不会被命名空间。服务帐户有命名空间。
通常,集群的用户帐户可能是从公司数据库同步的。在公司数据库中,新用户帐户的创建需要特殊的权限,并且与复杂的业务流程相关联。服务帐户的创建旨在更加轻量级,从而允许集群用户为特定任务(即最小特权原则)创建服务帐户。
用户账户和服务帐户的审核注意事项可能有所不同。
复杂系统的配置可以包括该系统组件的各种服务帐户的定义。因为可以临时创建服务帐户并使用命名空间名称,所以这种配置是可移 ...
阅读全文通过 webhooks 自动更新应用
本文永久链接: https://www.xtplayer.cn/rancher/webhooks/
当流水线构建完镜像并成功推送到镜像仓库后,根据一些业务需求,可能希望自动去更新相应的应用。目前 rancher 2.x 自身不支持这样的自动触发更新的功能,所以需要一个附加的组件去触发自动更新。
简述本工具基于 https://github.com/adnanh/webhook.git 定制, Dockerfile 地址: https://github.com/cnrancher/docker-webhook.git。
镜像下载地址: registry.cn-shenzhen.aliyuncs.com/rancher/webhook:latest
支持镜像仓库类型:
阿里云镜像仓库: https://cr.console.aliyun.com Docker Hub: http://hub.docker.com 自定义 webhooks(比如 harbor)
支持邮件通知
准备配置文件
建议把 webhooks 作为系统服务运行在 system 项目下。
登录 Ranch ...
阅读全文