- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在主节点上使用 TLS 部署了 apiserver,它工作正常,当我部署 kubelet 和 tring 与 apiserver 通信时出现了我的问题。kubelet 配置如下:
/opt/bin/kubelet \
--logtostderr=true \
--v=0 \
--api_servers=https://kube-master:6443 \
--address=0.0.0.0 \
--port=10250 \
--allow-privileged=false \
--tls-cert-file="/var/run/kubernetes/kubelet_client.crt" \
--tls-private-key-file="/var/run/kubernetes/kubelet_client.key"
--kubeconfig="/var/lib/kubelet/kubeconfig"
/var/lib/kubelet/kubeconfig 如下:
apiVersion: v1
kind: Config
users:
- name: kubelet
user:
client-certificate: /var/run/kubernetes/kubelet_client.crt
client-key: /var/run/kubernetes/kubelet_client.key
clusters:
- name: kube-cluster
cluster:
certificate-authority: /var/run/kubernetes/ca.crt
contexts:
- context:
cluster: kube-cluster
user: kubelet
name: ctx-kube-system
current-context: ctx-kube-system
因为我想使用双向(客户端和服务器)CA 身份验证实现通信并期望得到一个不可靠的回复,但是 apiserver 要求我提供我以前从未使用过的用户名和密码,一些命令行如下:
> kubectl version
> Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.2", GitCommit:"9bafa3400a77c14ee50782bb05f9efc5c91b3185", GitTreeState:"clean", BuildDate:"2016-07-17T18:30:39Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
> Please enter Username: kubelet
> Please enter Password: kubelet
> error: You must be logged in to the server (the server has asked for the client to provide credentials)
我在 master minion 上尝试了所有这些。有人可以解决这个难题吗?在此先感谢。
最佳答案
您必须通过 apiserver 上的 --client-ca-file
标志启用客户端证书授权。
来自 http://kubernetes.io/docs/admin/authentication/ :
Client certificate authentication is enabled by passing the
--client-ca-file=SOMEFILE
option to apiserver. The referenced file must contain one or more certificates authorities to use to validate client certificates presented to the apiserver. If a client certificate is presented and verified, the common name of the subject is used as the user name for the request.
来自 http://kubernetes.io/docs/admin/kube-apiserver/ :
--client-ca-file=""
: If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.--cloud-config=""
: The path to the cloud provider configuration file. Empty string for no configuration file.
关于ssl - 为什么 kubelet 使用 TLS 与 apiserver 通信需要密码?v1.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38593566/
我使用 kubeadm 安装了 kubernetes .为了启用基本身份验证,我添加了 --basic-auth-file=/etc/kubernetes/user-password.txt在我的 /
当使用kubeadmin init设置kubernetes集群时,它会创建一个集群,该集群将kube-apiserver,etcd,kube-controller-manager和kube-sched
我是OpenShift和Kubernetes的新手。 我需要在现有OpenShift环境上访问kube-apiserver oc v3.10.0+0c4577e-1 kubernetes v1.10.
假设拥有三个主节点的K8s集群, 我需要从在所有三个节点上运行的每个kube-apiserver还是仅从其中一个节点获取指标? 如果只有其中之一,那么我是否需要担心始终确保从同一节点获取指标,还是让d
我已经在centos上安装了etcd和kubernetes,现在我想安装kube-apiserver。我通过 snap 安装了 kube-apiserver。 sudo yum install epe
我正在尝试使用 kubeadm 在 Azure 中创建一个 HA Kubernetes 集群如此处所述 https://kubernetes.io/docs/setup/independent/hig
我按照官方Creating HA clusters with kubeadm搭建了一个高可用的Kubernetes集群指导。这是一个用于探索本地高可用性部署可行性的实验性集群,因此我在 VMware
诚挚的歉意。 我有一个4节点的Kubernetes集群,其中包含1个主节点和3个工作节点。我使用kubeconfig连接到kubernetes集群,因为昨天我无法使用kubeconfig连接。kube
我有一个健康的k8s集群。 kube-apiserver使用端口 8443 。 然后我做下面的事情。我也创建/编辑服务,并分配一个固定的nodePort 8443 。 apiVersion: v1 k
我今天重新启动了我的系统。之后,我的主系统和 Web 浏览器未连接以查找 kubernetes GUI。 当我运行命令时 systemctl status kube-apiserver.service
我正在尝试为开发环境(本地虚拟机)设置 kubernetes 集群。因为它是开发,所以我没有使用 api 服务器的工作证书。看来我必须使用安全连接才能连接小守护进程,例如 kube-proxy和kub
查看安装 Knative 的文档需要 Kubernetes 集群 v1.11 或更新版本并启用 MutatingAdmissionWebhook 准入 Controller 。因此,检查文档,我看到以
基本问题:当我尝试在我的主节点上使用 kube-apiserver 时,我收到 command not found 错误。如何安装/配置 kube-apiserver?任何指向示例的链接都会有所帮助。
kube-apiserver 是由 kubeadm init 创建的配置中的 containerd.service 启动的,如何检查 containerd.service 的配置以及它如何知道如何启动
如果我在重启后使用 kubectl 命令,我将收到错误消息。 x.x.x.x: 6443 被拒绝-您是否指定了正确的主机或端口? 如果我用 docker ps 检查我的容器,kube-apiserve
我的集群证书已过期,现在我无法执行任何 kubectls 命令。 root@node1:~# kubectl get ns Unable to connect to the server: x509:
sleeve mode Weave Net 允许将 NAT 后面的节点添加到网格中,例如没有外部 IP 的公司网络中的机器。 当 Weave Net 与 Kubernetes 一起使用时,可以将此类节
我对Kuberenetes / Dockers很陌生,并计划创建一个简单的Python Pod 它在群集上运行,并以固定的时间间隔(例如每天一次)映射群集节点和Pod。 我正计划使用可轻松访问kube
我在 1.10.11 K8s 版本中启动 kube-apiserver 时遇到不少故障。 它的健康检查返回 poststarthook/rbac/bootstrap-roles 失败。很烦人,出于安全
我在 AWS 上使用 KubeSpray 配置了一个集群。它有两个堡垒,一个 Controller ,一个 worker 和一个 etcd 服务器。 我在 APISERVER 日志中看到无穷无尽的消息
我是一名优秀的程序员,十分优秀!