Files
kuboard-press/install/faq/selfLink.md
huanqing.shao 4e0b1efe2f 拼写错误
2021-02-17 22:33:37 +08:00

73 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
description: selfLink 问题
---
# selfLink 问题
<AdSenseTitle/>
## 问题描述
Kubernetes [v1.20](https://kubernetes.io/docs/setup/release/notes/) 开始,默认删除了 `metadata.selfLink` 字段,然而,部分应用仍然依赖于这个字段,例如 `nfs-client-provisioner`。如果仍然要继续使用这些应用,您将需要重新启用该字段。
## 启用 selfLink 字段
通过配置 apiserver 启动参数中的 `--feature-gates` 中的 `RemoveSelfLink=false`,可以重新启用 `metadata.selfLink` 字段。
请参考 [kube-apiserver 参数配置](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/)
具体来说,如果您使用 kubeadm 安装 Kubernetes请修改 `/etc/kubernetes/manifests/kube-apiserver.yaml` 文件,并在其启动参数中增加一行 `- --feature-gates=RemoveSelfLink=false`,如下第 44 行所示:
```yaml {44}
apiVersion: v1
kind: Pod
metadata:
annotations:
kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: 192.168.32.51:6443
creationTimestamp: null
labels:
component: kube-apiserver
tier: control-plane
name: kube-apiserver
namespace: kube-system
spec:
containers:
- command:
- kube-apiserver
- --advertise-address=192.168.32.51
- --allow-privileged=true
- --authorization-mode=Node,RBAC
- --client-ca-file=/etc/kubernetes/pki/ca.crt
- --enable-admission-plugins=NodeRestriction
- --enable-bootstrap-token-auth=true
- --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt
- --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt
- --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key
- --etcd-servers=https://127.0.0.1:2379
- --insecure-port=0
- --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
- --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
- --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
- --requestheader-allowed-names=front-proxy-client
- --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
- --requestheader-extra-headers-prefix=X-Remote-Extra-
- --requestheader-group-headers=X-Remote-Group
- --requestheader-username-headers=X-Remote-User
- --secure-port=6443
- --service-account-issuer=https://kubernetes.default.svc.cluster.local
- --service-account-key-file=/etc/kubernetes/pki/sa.pub
- --service-account-signing-key-file=/etc/kubernetes/pki/sa.key
- --service-cluster-ip-range=10.96.0.0/16
- --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
- --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
- --feature-gates=RemoveSelfLink=false
image: registry.aliyuncs.com/k8sxio/kube-apiserver:v1.20.1
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 8
httpGet:
...
```