Kubernetes kube apiserver是否期望kube代理的存在?
我一直在独立于kubernetes节点运行我的kubernetes masters。因此,我有Kubernetes kube apiserver是否期望kube代理的存在?,kubernetes,flannel,kubelet,kube-proxy,Kubernetes,Flannel,Kubelet,Kube Proxy,我一直在独立于kubernetes节点运行我的kubernetes masters。因此,我有kube-apiserver,kube-scheduler和kube-controllermanager在没有kubelet,kube-proxy或flannel的服务器上运行 到目前为止,这一切都非常有效。但是,今天我尝试设置并通过API服务器访问它。访问http://kube-master-0:8080/ui: 错误:“拨打tcp 172.16.72.12:9090:getsockopt:连接超时
kube-apiserver
,kube-scheduler
和kube-controllermanager
在没有kubelet
,kube-proxy
或flannel
的服务器上运行
到目前为止,这一切都非常有效。但是,今天我尝试设置并通过API服务器访问它。访问http://kube-master-0:8080/ui
:
错误:“拨打tcp 172.16.72.12:9090:getsockopt:连接超时”
试图达到:http://172.16.72.12:9090/'
这向我表明,API服务器正在尝试连接到pod IP,因为我们没有在此主机上运行flannel或kube代理,172.16.72.12
IP将不会被路由
我是否需要在API服务器上运行kube proxy和flannel?有没有其他方法让API服务器代理UI?这不是必需的,但它肯定会让您的生活更轻松
这不起作用的原因是kube代理没有将流量定向到服务。请尝试
kube节点:8080/ui
(假设您已将其与NodePort配置一样公开,理论上,kube apiserver并不期待kube代理的存在。
这意味着kube apiserver将正确运行,接收并处理请求(主要是从etcd
读取和写入)
但是,如果希望整个集群正常工作,则需要运行其他组件,例如:
- 如果要计划
或pods
,则应运行部署
kube调度程序
- 如果希望
和pods
在节点中运行,则必须运行containers
kubelet
- 如果您想保护
,则应运行复制
控制器管理器
kube代理
和flannel
,它们是确保网络正常工作的关键部分。负载平衡
,服务
,跨主机pod通信
等都取决于它们