Posted Updated a few seconds read (About 4 words)
没有首页
没有首页
docker 启动的 rancher 默认会走公网获取镜像,添加了 CATTLE_SYSTEM_DEFAULT_REGISTRY
的话,helm-operation 使用的 rancher/shell 等还是会走到公网,如果要所有镜像都是用 private registry,可以通过下面的方式。
准备 private registry 认证的配置文件和 k3s 配置文件:
1 | mkdir -p /etc/rancher/k3s |
启动 rancher:
1 | docker run -d --restart=unless-stopped --name rancher \ |
calico-node 的 IP_AUTODETECTION_METHOD 默认使用 first-found,如果节点存在多张网卡的时候,可能导致 calico-node 绑定到错误的网卡上,导致跨节点网络不通。
可以通过修改 IP_AUTODETECTION_METHOD 为 interface 或者 cidrs 来指定 calico-node 绑定到指定网卡上。
1 | cat <<EOF | kubectl apply -f - |
Rancher Elemental 用于快速部署和管理基于容器的操作系统,如 SLE Micro 和 openSUSE MicroOS。它专为边缘计算和云原生环境设计,可以提供极简、易维护的操作系统。
组件:
CRD:
在 Rancher Extension 安装 Elemental
添加一个 OS Channel
1 | apiVersion: elemental.cattle.io/v1beta1 |
创建一个 MachineRegistration,Cloud Configuration 可以根据需求自定义,例如设置主机名、网络配置等
1 | apiVersion: elemental.cattle.io/v1beta1 |
创建完后,选择对应的 OS Version 构建镜像,点击构建后在 fleet-default 命名空间下会生成一个 pod,用于 base image 拉取、镜像构建、生成镜像下载地址
在界面下载构建好的 ISO,也可以通过 SeedImage CRD 获取下载地址
1 | kubectl -n fleet-default get seedimages.elemental.cattle.io media-image-reg-xxx -ojsonpath={.status.downloadURL} |
下载好后就可以通过这个 ISO 创建虚拟机,OS 安装过程中需要用到 TPM,所以需要在 vSphere 中开启本机类型的 TPM
vSphere 开启本机类型的 TPM 有两个前提:
以上条件具备后,即可创建虚拟机,引导需要选择 EFI 模式
开机后就会自动进行 OS 安装,并注册到 Rancher Elemental 集群中,可以在节点上通过命令查看注册状态
1 | journalctl -f -u elemental-register-install.service |
注册没问题的话,会生成一个 MachineInventory,记录设备的详细信息
接着就可以用这个节点创建集群
背景:当前环境中有 Cluster A 和 Cluster B,各自部署了相同的应用,且该应用有两个域名用于处理不同的请求。目前,这两个域名的请求都由 Cluster A 中的应用处理。为进行应用迁移,现希望将域名 A 的请求继续由 Cluster A 处理,而域名 B 的请求则切换至由 Cluster B 中的应用来处理。
由于目前的流量处理都是由 Istio 负责,所以可以通过 ServiceEntry 来实现此需求。
创建一个 ServiceEntry:
将 b.nginx.com 的流量转发到 Cluster B 的 Istio Ingress Gateway,然后再通过 Cluster B 的 VirtualService 将流量转发到 Cluster B 中的应用。
1 | apiVersion: networking.istio.io/v1beta1 |
修改原有的 VirtualService 中处理域名 B 流量的部份:
1 | apiVersion: networking.istio.io/v1beta1 |
尝试请求查看效果: