我有Ubuntu的新安装,k3s的新安装,calicoctl的新下载。我按以下方式安装了它。
curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE="644"\
INSTALL_K3S_EXEC="--flannel-backend=none --cluster-cidr=192.168.0.0/16\
--disable-network-policy --disable=traefik" sh -
kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml
curl -o calicoctl -O -L "https://github.com/projectcalico/calicoctl/releases/download/v3.20.2/calicoctl"
当我运行kubectl时,一切都很好。当我运行calicoctl时,我会得到证书错误。
# calicoctl apply -f V000_000-host-policy.yaml
Unable to get Cluster Information to verify version mismatch: Get "https://127.0.0.1:6443/apis/crd.projectcalico.org/v1/clusterinformations/default": x509: certificate signed by unknown authority
Use --allow-version-mismatch to override.
我已将request-header-ca.crt
、client-ca.crt
和server-ca.crt
证书从/var/lib/rancher/k3s/server/tls
复制到/usr/local/share/ca-certificates
,并将它们与update-ca-certificates
一起应用。我可以确认证书是在/etc/ssl/certs/ca-certificates.crt
中列出的。
此外,我的~/.kube/config
文件有以下内容(我定期恢复,所有这些都不是机密的,我希望-如果我错了请纠正我)
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0t...LS0K
server: https://127.0.0.1:6443
name: default
contexts:
- context:
cluster: default
user: default
name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
user:
client-certificate-data: LS0t...LS0K
client-key-data: LS0t...LQo=
我在/etc/cni/net.d/calico-kubeconfig
中有以下配置
# Kubeconfig file for Calico CNI plugin. Installed by calico/node.
apiVersion: v1
kind: Config
clusters:
- name: local
cluster:
server: https://10.43.0.1:443
certificate-authority-data: "LS0t...tLS0K"
users:
- name: calico
user:
token: eyJhb...tk4Q
contexts:
- name: calico-context
context:
cluster: local
user: calico
current-context: calico-context
我已经把10.43.0.1:443
中的calico-kubeconfig地址改为了127.0.0.1:6443
,但这并没有什么区别。
有人知道怎么处理这件事吗?我看到的证书错误是CA或令牌的结果吗?卷曲到同一个地址也会抱怨CA,所以我认为这与令牌无关。
发布于 2021-11-25 02:52:06
我有一个类似的设置(除了运行在非特权Ubuntu容器中的k3s
之外),k3s.service
开始使用:
ExecStart=/usr/local/bin/k3s \
server --snapshotter=native \
--kubelet-arg=feature-gates=KubeletInUserNamespace=true \
--kube-controller-manager-arg=feature-gates=KubeletInUserNamespace=true \
--kube-apiserver-arg=feature-gates=KubeletInUserNamespace=true,RemoveSelfLink=false \
--disable=servicelb --disable=traefik --flannel-backend=none --disable-network-policy \
--cluster-cidr=192.168.0.0/16 --cluster-init
我不需要复制任何证书-这就足够了:
ln -s /etc/rancher/k3s/k3s.yaml ~/.kube/config
https://serverfault.com/questions/1079913
复制相似问题