已知问题
我们会定期更新已知问题文档,说明下一个即将发布的版本中可能无法立即解决的问题。
Snap Docker
如果你计划同时使用 K3s 与 Docker,则不建议通过 snap 包安装 Docker,因为它会导致运行 K3s 时出现问题。
Iptables
如果你使用 nftables 模式而不是传统模式来运行 iptables,则可能会遇到问题。我们建议使用较新的 iptables(例如 1.6.1+)来避免出现问题。
此外,版本 1.8.0-1.8.4 存在可能导致 K3s 失败的问题。有关解决方法,请参阅其他操作系统准备。
Rootless 模式
使用 Rootless 模式运行 K3s 是实验性的,存在几个已知问题。
将强化集群从 v1.24.x 升级到 v1.25.x
Kubernetes v1.25 删除了 PodSecurityPolicy,支持 Pod Security Standard(PSS)。你可以在上游文档中阅读有关 PSS 的更多信息。对于 K3s,如果在节点上配置了任何 PodSecurityPolicy
,则必须执行一些手动步骤。
- 在所有节点上,更新
kube-apiserver-arg
值以删除PodSecurityPolicy
admission-plugin。添加以下参数值:'admission-control-config-file=/var/lib/rancher/k3s/server/psa.yaml'
,但不要重启或升级 K3s。以下是节点加固更新后配置文件的示例:
protect-kernel-defaults: true
secrets-encryption: true
kube-apiserver-arg:
- 'admission-control-config-file=/var/lib/rancher/k3s/server/psa.yaml'
- 'audit-log-path=/var/lib/rancher/k3s/server/logs/audit.log'
- 'audit-policy-file=/var/lib/rancher/k3s/server/audit.yaml'
- 'audit-log-maxage=30'
- 'audit-log-maxbackup=10'
- 'audit-log-maxsize=100'
kube-controller-manager-arg:
- 'terminated-pod-gc-threshold=10'
- 'use-service-account-credentials=true'
kubelet-arg:
- 'streaming-connection-idle-timeout=5m'
- 'make-iptables-util-chains=true'
- 使用以下内容创建
/var/lib/rancher/k3s/server/psa.yaml
文件。你可能还想豁免更多命名空间。下面的示例豁免了kube-system
(必需)、cis-operator-system
(可选,但在通过 Rancher 运行安全扫描时很有用)和system- upgrade
(如果执行自动升级则需要)。
apiVersion: apiserver.config.k8s.io/v1
kind: AdmissionConfiguration
plugins:
- name: PodSecurity
configuration:
apiVersion: pod-security.admission.config.k8s.io/v1beta1
kind: PodSecurityConfiguration
defaults:
enforce: "restricted"
enforce-version: "latest"
audit: "restricted"
audit-version: "latest"
warn: "restricted"
warn-version: "latest"
exemptions:
usernames: []
runtimeClasses: []
namespaces: [kube-system, cis-operator-system, system-upgrade]