rancher 创建自定义 k8s 集群
本文永久链接: https://www.xtplayer.cn/rancher/clusters/rancher-create-custom-cluster/ Rancher 创建自定义 kubernetes 集群,适用于拥有内部虚拟机、内部物理主机,或者没有提供 kubernetes 云服务的云服务器,通过自定义安装方式来快速安装 kubernetes 集群。 主机和端口需求访问 https://docs.rancher.cn/docs/rancher2/installation_new/requirements/_index/ 了解基础环境硬件配置和端口需求的具体信息。 添加集群 进入全局/集群视图,再点击添加集群 选择自定义 设置集群名称 成员与角色 集群成员对应了 Rancher 中的一个真实的用户,角色则表示此用户具有的集群权限。要想在创建集群时添加成员和对应的成员角色,需要首先在全局下添加用户和集群角色。 集群选项 kubernetes 版本 每个 Rancher 发行版对应了不同的 kubernetes 版本,可根据需求 ...
阅读全文macOS Big Sur 11.2 rc 候选版更新
今日凌晨,苹果面向开发人员推送了 macOS Big Sur 11.2 发布候选版(RC)更新。 macOS Big Su11.2 beta 2 消除了一项功能,该功能允许 Apple 应用程序绕过第三方防火墙,安全工具和 VPN 应用程序。macOS Big Su11 包含一个 ContentFilterExclusionList 列表,该列表使 Apple 的应用程序(例如 App Store,Maps,iCloud 等)可以避免用户安装的防火墙和 VPN 应用程序。这些应用程序无法筛选或检查某些内置 Apple 应用程序的流量。该功能已 macOS Big Su11.2 中删除。 11.2 RC 版本更新还提高了蓝牙的可靠性,并修复了以下问题: 使用 HDMI 到 DVI 转换器连接到 Mac mini(M1,2020)时,外部显示器可能会显示黑屏。 在照片应用中对 Apple ProRAW 照片进行编辑可能无法保存。 禁用 iCloud Drive 的 “桌面和文档文件夹”选项后,iCloud Drive 可能会关闭。 输入管理员密码时,系统偏好设置可能无法解锁。 按下 ...
阅读全文记一次 request_sock_tcp possible syn flooding on port 事件处理
本文永久链接: https://www.xtplayer.cn/linux/network/request-sock-tcp-possible-syn-flooding-on-port/ TCP 三次握手 客户端发送 SYN(进入 SYNC_SENT 状态) 服务端返回 SYN+ACK(进入 SYNC_RECV 状态) 客户端发送 ACK(进入 ESTABLISHED 状态) 如果客户端在第 3 步时不发送 ACK 给服务端,那么服务端的 socket 就会处于 SYNC_RECV 状态。 TCP/IP backlog 参数backlog 其实是一个连接队列,在 Linux kernel 2.2 之前,backlog 大小包括半连接状态和全连接状态两种队列大小。 半连接状态为:服务器处于 Listen 状态时收到客户端 SYN 报文时放入半连接队列中,即 SYN queue(服务器端口状态为:SYN_RCVD)。 全连接状态为:TCP 的连接状态从服务器(SYN+ACK)响应客户端后,到客户端的 ACK 报文到达服务器之前,则一直保留在半连接状态中。当服务器接收 ...
阅读全文Rancher hosted Kubernetes AKS
本文永久链接: https://www.xtplayer.cn/rancher/clusters/rancher-hosted-kubernetes-aks/ 注意: 因为 rancher 版本的更新, rancher 中有些参数可能与截图不一致。 Azure 部分操作 Rancher 对接 AKS 需要获取一下资源信息或操作 订阅 ID(Subscription ID) 应用 ID(Client ID) 应用密钥(Client Secret) RBAC 角色授权 获取订阅 ID (Subscription ID) 主页 -> 订阅 -> 查看订阅 ID (Subscription ID) 获取应用 ID (Client ID) 首先需要注册一个应用 (App resgistrations) 主页 -> Azure Active Directory -> 应用注册(App resgistrations) -> 新注册(New registration) 输入应用名称,其余选项默认即可 得到应用 ID (Client ID) 获取 ...
阅读全文rancher 轮换证书
本文永久链接: https://www.xtplayer.cn/rancher/cert/rancher-rotate-cert/ 警告 如果您的证书已经过期,请先不要升级 Rancher Server,根据 证书已过期导致无法连接 k8s 进行处理。 默认情况下,Kubernetes 集群使用 ssl 证书来加密通信,Rancher 自动为集群生成证书。在 Rancher v2.0.14、v2.1.9 之前的版本,Rancher 创建的集群 ssl 证书默认有效期为 1 年 (CA 证书默认 10 年),在 Rancher v2.0.14、v2.1.9 以及更高的版本中,Rancher 创建的集群 ssl 证书默认为 10 年 (CA 证书默认 10 年)。 通过 UI 轮换证书 (业务集群)可用版本: Rancher v2.2.0 + 在 Rancher v2.2.0 以及更高版本,可通过 UI 的证书轮换功能对集群证书进行更新,此功能适用于 自定义安装的集群。证书轮换之后,Kubernetes 组件将自动重新启动,重启不影响应用 Pod,重启时间需要 3 到 5 分钟。 ...
阅读全文删除状态为 Failed、Evicted 的 Pod
本文永久链接: https://www.xtplayer.cn/kubernetes/kubectl-delete-evicted-pods/ #!/bin/bashkubectl get pods --all-namespaces -o go-template='{{range .items}} {{if (or (eq .status.phase "Evicted") (eq .status.phase "Failed" ))}} {{.metadata.name}}{{" "}} {{.metadata.namespace}} {{"\n"}}{{end}} {{end}}& ...
阅读全文tcpdump 手册
本文永久链接: https://www.xtplayer.cn/linux/network/tcpdump-man-page/ 本文翻译至:https://www.tcpdump.org/manpages/tcpdump.1.html 基本参数# tcpdump -htcpdump version 4.9.3libpcap version 1.9.1 (with TPACKET_V3)OpenSSL 1.1.1g FIPS 21 Apr 2020Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ] [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ] [ -Q in|out|inout ] [ -r file ] [ -s snaplen ] [ --time-stamp-pr ...
阅读全文配置 Network Manager 以忽略某些网络设备
本文永久链接: https://www.xtplayer.cn/linux/network/networkmanager-not-manager-container-network-interface/ Network Manager 是一个能够动态控制和配置网络的守护进程,对应 NetworkManager.service 服务,默认配置文件路径 /etc/NetworkManager/NetworkManager.conf。从 RHEL/CentOS 7 开始,网络功能默认由 NetworkManager 以服务的形式提供。Ubuntu 的 server 版本默认没有启用 NetworkManager。 默认情况下,NetworkManager 管理除 lo(环回)设备以外的所有设备。但是,在容器环境下很多网络设备是由网络驱动创建,NetworkManager 对容器网络设备的控制可能导致集群网络通信异常。因为需要将容器相关的设备设置为 unmanaged,以使 NetworkManager 忽略这些设备。 查看设备状态# 查看设备管理状态 ...
阅读全文权威 ssl 证书 + ingress + 安装 Rancher HA
本文永久链接: https://www.xtplayer.cn/rancher/install/ha-authority-ssl-ingress/ 节点软硬件要求节点硬件要求请参考:https://docs.rancher.cn/docs/rancher2/installation_new/requirements/_index/ 节点基础环境配置请参考 基础环境配置 同步镜像如果你是在离线环境安装,请先访问rancher 离线安装镜像同步,按照方法同步所有镜像到离线私有镜像仓库。如果主机能够直接拉取镜像,则跳过此步骤。 创建 rke 配置文件使用下面的示例创建 rancher-cluster.yml 文件,使用创建的 3 个节点的 IP 地址或域名替换列表中的 IP 地址。 注意: 如果节点有公网地址 和 内网地址地址,建议手动设置 internal_address:以便 Kubernetes 将内网地址用于集群内部通信。如果需要开启自动配置安全组或防火墙,某些服务(如 AWS EC2)需要设置 internal_address:。 nodes: ...
阅读全文权威 ssl 证书 + Nodeport + 外部 L7 + 安装 Rancher HA
本文永久链接: https://www.xtplayer.cn/rancher/install/ha-nodeport-external-l7/ 架构说明 节点软硬件要求节点硬件要求请参考:https://docs.rancher.cn/docs/rancher2/installation_new/requirements/_index/ 节点基础环境配置请参考 基础环境配置 同步镜像如果你是在离线环境安装,请先访问rancher 离线安装镜像同步,按照方法同步所有镜像到离线私有镜像仓库。如果主机能够直接拉取镜像,则跳过此步骤。 创建 rke 配置文件使用下面的示例创建 rancher-cluster.yml 文件,使用创建的 3 个节点的 IP 地址或域名替换列表中的 IP 地址。 注意: 如果节点有公网地址 和 内网地址地址,建议手动设置 internal_address:以便 Kubernetes 将内网地址用于集群内部通信。如果需要开启自动配置安全组或防火墙,某些服务(如 AWS EC2)需要设置 internal_address:。 no ...
阅读全文自签名 ssl 证书 + ingress + 安装 Rancher HA
本文永久链接: https://www.xtplayer.cn/rancher/install/ha-self-signed-ssl-ingress/ 节点软硬件要求节点硬件要求请参考:https://docs.rancher.cn/docs/rancher2/installation_new/requirements/_index/ 节点基础环境配置请参考 基础环境配置 同步镜像如果你是在离线环境安装,请先访问 rancher 离线安装镜像同步,按照方法同步所有镜像到离线私有镜像仓库。如果主机能够直接拉取镜像,则跳过此步骤。 创建 rke 配置文件使用下面的示例创建 rancher-cluster.yml 文件,使用创建的 3 个节点的 IP 地址或域名替换列表中的 IP 地址。 注意: 如果节点有公网地址 和 内网地址地址,建议手动设置 internal_address:以便 Kubernetes 将内网地址用于集群内部通信。如果需要开启自动配置安全组或防火墙,某些服务(如 AWS EC2)需要设置 internal_address:。 node ...
阅读全文k8s 基础环境配置
本文永久链接: https://www.xtplayer.cn/kubernetes/k8s-basic-environment-configuration/ 主机基础配置主机名配置因为 K8S 或者 FQDN 的规定,主机名仅支持包含 - 或/和 .(中横线和点)两种特殊符号,并且一个集群中主机名不能重复。 Hosts Linux 系统安装完成后,在 hosts(/etc/hosts) 中应该有 localhost 指向 127.0.0.1,如果没有则手动添加上。 配置每台主机的 hosts(/etc/hosts),添加 host_ip $hostname 到 /etc/hosts 文件中。 CentOS 关闭 selinuxsudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 关闭防火墙(可选)或者放行相应端口 对于刚刚接触 Rancher 的用户,建议在测试环境关闭防火墙,以避免出现网络通信问题。 关闭防火墙 C ...
阅读全文K8S 弃用 docker?
本文永久链接: https://www.xtplayer.cn/kubernetes/k8s-deprecated-docker/ 本文转自 rancher 公众号 Kubernetes 在其最新的 Changelog 中宣布,自 Kubernetes 1.20 之后将弃用 Docker 作为容器运行时。这一消息在云原生领域激起了不小的水花,在 Rancher 技术社区里许多小伙伴也对此进行了激烈的讨论。 Kubernetes 为什么选择弃用 Docker 呢?我们需要先简单了解 Dockershim。它是一个桥接服务,帮助 Kubernetes 与 Docker 进行通信,Kubelet 之前使用 dockershim 实现对 Docker 的 CRI 支持(Docker 本身目前尚未实现 CRI)。但时至今日,维护 Dockershim 已成为运维/开发人员的沉重负担。因此 Kubernetes 社区建议大家考虑使用包含 CRI 完整实现(兼容 v1alpha1 或 v1)的可用容器运行时。从而取消了对 Docker 作为容器运行时的支持。 不过大家不必过分担心,近 ...
阅读全文k8s Service 之 Iptables 流转过程
本文永久链接: https://www.xtplayer.cn/kubernetes/svc/k8s-svc-iptables-flow-process/ Service 介绍K8S 中 Service 通过使用 labels 直接指向 Pods,这种设计的灵活性极高,因为创建 Pods 的方式有很多,而 Service 不需要关心 Pods 通过哪种方式创建。同时也避免了 Pod 重建后 Pod IP 自动更换导致服务崩溃的问题。下文将对 Service ClusterIP 和 NodePort 这两种类型做详述。 ClusterIP:集群内部 IP,用于连接后端 Pod 实例的内部 IP,集群中 Pod 可通过 http://ClusterIP:Port 访问到后端 Pod 的 TargetPort 端口上,能够让集群中的 Pod 通过一个 ServiceName 或者 ClusterIP 达到可用性。 NodePort:NodePort 在集群中的主机节点上为 Service 提供一个代理端口,以允许从主机网络上对 Service 进行访问。 Service 之 Ipt ...
阅读全文导入 k8s 集群更新 CA 证书后 Rancher 端的配置操作
本文永久链接: https://www.xtplayer.cn/rancher/import-k8s-cluster-update-ca/ 在早期的 rancher 版本中,如果导入的业务 K8S 集群因为证书到期重新生成了证书(包括 kube-ca 证书),这个时候在 Rancher UI shell 终端中执行命令时会报 x509 错误,UI 的一些操作也会报 x509 相关的错误,即使重启集群所有节点也没有效果。 问题分析根据 rancher 的运行逻辑,在第一次导入 rancher 的时候,cluster agent 和 node agent 会上报导入集群的所有配置信息到 rancher ,比如主机 IP,主机配置资源,kube-ca 证书等。 但是有的资源是只上传一次,比如 kube-ca 证书,上传后会写入 CRD 资源中保存,后期 agent 不管是重启还是重建均不会再上传 kube-ca 证书。所以如果是更新了集群 kube-ca 证书,那需要手动去更新 CRD 资源中的旧 kube-ca 证书。 解决步骤Rancher 相关操作Rancher 单容器部署备份 如 ...
阅读全文cattle-global-data/system-library-rancher-monitoring not found
本文永久链接: https://www.xtplayer.cn/rancher/cattle-global-data-system-library-rancher-monitoring-not-found/ rancher2.x 环境下,可能会出现以下错误信息,尤其是在离线环境下更容易出现。 CatalogTemplate.management.cattle.io "cattle-global-data/system-library-rancher-monitoring" not found。 问题分析 rancher2.x 很多附件功能是以 helm chart 部署,比如 monitoring。在 全局|工具|商店设置 可以看到 system-library 这个 repo,这个 repo 中存放了 system 相关的 helm chart。 rancher 在启动时会去 system-library repo 拉取 helm chart 文件,如果无法拉取 chart 文件,CatalogTemplate control 就会提示: Catal ...
阅读全文rancher 单容器安装恢复
本文永久链接: https://www.xtplayer.cn/rancher/backup-restore/rancher-single-container-restore/ 恢复准备以下信息需要提前准备,在备份时替换相应的值。 Placeholder Example Description <RANCHER_CONTAINER_TAG> v2.0.5 初始安装 Rancher 时使用的 rancher/rancher 镜像版本 <RANCHER_CONTAINER_NAME> festive_mestorf Rancher 容器名称 <RANCHER_VERSION> v2.0.5 创建的 Rancher 数据备份对应的 Rancher 版本 <DATE> 9-27-18 备份创建时间 在终端中输入 docker ps 查询 <RANCHER_CONTAINER_TAG> 和 <RANCHER_CONTAINER_NAME> 集群恢复 停止当前运行的 Rancher 容器.可通 ...
阅读全文rancher 单容器安装备份
本文永久链接: https://www.xtplayer.cn/rancher/backup-restore/rancher-single-container-backups/ 在完成 Rancher 的单节点安装后,或在升级 Rancher 到新版本之前,需要对 Rancher 进行数据备份。如果在 Rancher 数据损坏或者丢失,或者升级遇到问题时,可以通过最新的备份进行数据恢复。 备份准备以下信息需要提前准备,在备份时替换相应的值。 Placeholder Example Description <RANCHER_CONTAINER_TAG> v2.0.5 初始安装 Rancher 时使用的 rancher/rancher 镜像版本 <RANCHER_CONTAINER_NAME> festive_mestorf Rancher 容器名称 <RANCHER_VERSION> v2.0.5 创建的 Rancher 数据备份对应的 Rancher 版本 <DATE> 9-27-18 备份创建时间 在终端中 ...
阅读全文rancher rke 集群恢复
如果 rancher 是 HA 架构部署,在 HA 架构下,rancher 的数据是保存在 rke local K8S 集群中。所以在 rancher HA 架构下只需要通过 RKE 恢复 local 集群数据,即可同时恢复 rancher 的数据。 重要提示 此方法直接使用 RKE 进行集群恢复,它适用于 RKE 创建并导入的集群或者 RKE 部署的 local 集群 恢复准备 提示 需要在进行操作的主机上提前安装 RKE、RKE 下载和安装 kubectl。 在开始还原之前,请确保已停止旧集群节点上的所有 kubernetes 服务。 建议创建三个全新节点作为集群恢复的目标节点。有关节点需求,请参阅HA 安装。您也可以使用现有节点,清除 Kubernetes 和 Rancher 配置,这将破坏这些节点上的数据请做好备份,点击了解节点初始化。 准备恢复节点并复制最新快照假设集群中一个或者多个 etcd 节点发生故障,或者整个集群数据丢失,则需要进行 etcd 集群恢复。 添加恢复节点并复制最新快照: 恢复节点可以是全新的节点,或者是之前集群中经过初始化的某个节点; ...
阅读全文rancher 自定义集群恢复
本文永久链接: https://www.xtplayer.cn/rancher/backup-restore/rancher-custom-cluster-restore/ 根据 etcd 集群的容错机制,可以从机器重启这样的临时故障中自动恢复。对于永久性故障(比如由于硬件故障导致成员节点无法再连接到集群),它支持最多 (N-1)/2 个成员节点永久断开连接。 如果超过(N-1)/2 个成员节点断开连接,则 etcd 集群因为无法进行仲裁而无法继续正常运行,这个时候所有的 etcd 实例都将变成只读状态。 注意: 以下两种恢复方法要求 K8S 集群没有从 Rancher UI 中删除。 在有自动备份情况下恢复集群(UI 上集群未删除) 提示: 此方法适用于 Rancher v2.2.0 及以后版本创建的自定义 k8s 集群,并且 k8s 集群未从 Rancher UI 删除。注意: 如果有在 Rancher v2.2.0 之前版本创建的 k8s 集群,在升级 Rancher 之后,您必须编辑并更新集群,以便启用自动备份功能。即使在 Rancher v2.2.0 之前创建了备份,也 ...
阅读全文rancher rke 集群备份
本文永久链接: https://www.xtplayer.cn/rancher/backup-restore/rancher-rke-cluster-backups/ 如果 rancher 是 HA 架构部署,在 HA 架构下,rancher 的数据是保存在 rke local K8S 集群中。所以在 rancher HA 架构下只需要通过 RKE 备份 local 集群数据,即可同时备份 rancher 的数据。 重要提示 此方法直接使用 RKE 进行集群备份,它适用于 RKE 创建并导入的业务集群或者 RKE 部署的 local 集群 本节介绍在 Rancher HA 下如何备份数据。 Rancher Kubernetes Engine v0.1.7 或更高版本 RKE v0.1.7 以及更高版本才支持 etcd 快照功能 rancher-cluster.yml 需要使用到安装 Rancher 的 RKE 配置文件 rancher-cluster.yml,将此文件需放在与 RKE 二进制文件同级目录中 创建 ETCD 数据快照有两种方案创建 etcd 快照: 定时 ...
阅读全文