论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
程序人生
›
2024年Go最全Kubernetes 配置基本指南:关键集群设置_ku ...
2024年Go最全Kubernetes 配置基本指南:关键集群设置_kubelet文件(4),2024 ...
乌市泽哥
金牌会员
|
2024-6-11 19:33:47
|
显示全部楼层
|
阅读模式
楼主
主题
844
|
帖子
844
|
积分
2532
网上学习资料一大堆,但假如学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。
需要这份系统化的资料的朋友,可以添加戳这里获取
一个人可以走的很快,但一群人才能走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习成长!
假如要与 etcd 组件交互,可以利用静态 pod YAML 中的详细信息。
比方,假如要备份 etcd,则需要知道 etcd 服务端点和相干证书,以便对 etcd 举行身份验证并创建备份。
假如打开
etcd.yaml
清单,可以查看全部与 etcd 相干的配置,如下所示。
TLS 证书
在 Kubernetes 中,全部组件都通过 mTLS 相互通信。在 PKI 文件夹下,您将找到全部 TLS 证书和密钥。Kubernetes 控制平面组件利用这些证书举行身份验证并相互通信。
别的,尚有一个 etcd 子目次,此中包罗特定于 etcd 的证书和私钥。它们用于掩护 etcd 节点之间以及 API 服务器和 etcd 节点之间的通信。
下图显示了 PKI 文件夹的文件结构。
静态 Pod 清单引用此文件夹中所需的 TLS 证书和密钥。
当您利用 kubeadm 等工具在自托管集群上工作时,这些证书由该工具主动天生。在托管的 Kubernetes 集群中,云提供商负责管理控制平面组件,因此负责满足全部 TLS 要求。
但是,假如要设置用于生产的自承载聚集,则必须向组织的网络或安全团队请求这些证书。他们将天生由组织的内部证书颁发机构签名的这些证书,并将其提供给您。
kubeconfig文件
任何需要向 API 服务器举行身份验证的组件都需要 kubeconfig 文件。
全部集群 Kubeconfig 文件都存在于 **/etc/kubernetes** 文件夹(.conf 文件)中。您将找到以下文件。
admin.conf
controller-manager.conf
kubelet.conf
scheduler.conf
它包罗 API 服务器端点、集群 CA 证书、集群客户端证书和其他信息。
admin.conf
文件,这是最终用户用于访问 API 服务器以管理集群的管理 kubeconfig 文件。您可以利用此文件从远程工作站连接聚集。
Controller 管理器、调度器和 Kubelet 的 Kubeconfig 用于 API 服务器身份验证和授权。
比方,假如检查 Controller Manager 静态 Pod 清单文件,则可以看到
controller-manager.conf
已添加为 authentication 和 authorization 参数。
Kubelet 配置
Kubelet 服务作为系统服务在全部集群节点上运行。
您可以在 /
etc/systemd/system/kubelet.service.d
下查看 kubelet systemd 服务
以下是系统文件内容。
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
EnvironmentFile=-/etc/default/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
复制代码
我用粗体突出显示了两个紧张的 kubelet 配置。
kubelet kubeconfig 文件:/
etc/kubernetes/kubelet.conf
kubelet 配置文件:/
var/lib/kubelet/config.yaml
EnvironmentFile=-/
var/lib/kubelet/kubeadm-flags.env
kubeconfig 文件将用于 API 服务器身份验证和授权。
/
var/lib/kubelet/config.yaml
包罗全部与 kubelet 相干的配置。静态 Pod 清单元置作为
staticPodPath
参数的一部分添加。
staticPodPath: /etc/kubernetes/manifests
复制代码
/
var/lib/kubelet/kubeadm-flags.env
文件包罗容器运行时环境 Linux 套接字和基础结构容器(停息容器)映像。
比方,下面是利用 CRI-O 容器运行时的 kubelet 配置,如 Unix 套接字和 pause 容器镜像所示。
KUBELET_KUBEADM_ARGS="--container-runtime-endpoint=unix:///var/run/crio/crio.sock --pod-infra-container-image=registry.k8s.io/pa
复制代码
pause 容器是一个最小的容器,它是第一个在 Kubernetes Pod 中启动的容器。然后,pause 容器的作用是生存同一 Pod 中全部其他容器的网络定名空间和其他共享资源。
假如你看一下托管的 k8s 集群中的 kubelet 配置,它看起来与 kubeadm 设置略有不同。
比方,下面是 AWS EKS 集群的 kubelet 服务文件。
这里可以看到容器运行时是 containerd,它的 Unix 套接字标志直接添加到服务文件中
与 kubeadm 配置相比,kubelet kubeconfig 文件位于不同的目次中。
CoreDNS配置
CoreDNS插件组件处置惩罚集群DNS配置。
全部 CoreDNS 配置都是 kubesystem 定名空间中名为 CoreDNS 的 configmap 的一部分。
假如在 kube-system 定名空间中列出 Configmap,则可以看到 CoreDNS
configmap
。
kubectl get configmap --namespace=kube-system
复制代码
利用以下下令查看
CoreDNS
configmap 内容。
kubectl edit configmap coredns --namespace=kube-system
复制代码
您将看到以下内容。
apiVersion: v1
data:
Corefile: |
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
ttl 30
}
prometheus :9153
forward . /etc/resolv.conf {
max_concurrent 1000
}
cache 30
loop
reload
loadbalance
}
复制代码
当涉及到 DNS 连接时,应用程序大概需要注意到:
利用 Kubernetes 服务端点的内部服务。
利用公共 DNS 终结点的公开可用服务。
在混合云环境中,服务利用私有 DNS 端点托管在本地环境中。
假如您的用例需要自定义 DNS 服务器,比方,集群中的应用程序需要连接到本地数据中心的私有 DNS 端点,则可以将自定义 DNS 服务器添加到核心 DNS configmap 配置中。
比方,假设自定义DNS服务器IP是
10.45.45.34
,你的DNS后缀是
dns-onprem.com
,我们必须添加一个块,如下所示。以便将与该域终结点相干的全部 DNS 请求转发到
10.45.45.34
DNS 服务器。
dns-onprem.com:53 {
errors
cache 30
forward . 10.45.45.34
}
复制代码
这是完整的 configmap 配置。
apiVersion: v1
data:
Corefile: |
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
ttl 30
}
prometheus :9153
forward . /etc/resolv.conf {
max_concurrent 1000
}
cache 30
loop
reload
loadbalance
}
dns-onprem.com:53 { errors cache 30 forward . 10.45.45.34![img](https://img-blog.csdnimg.cn/img_convert/b10dda353255253dc6107177b3227537.png)![img](https://img-blog.csdnimg.cn/img_convert/75618ccd7127fa7f061c2e5b6e245b43.png)**网上学习资料一大堆,但假如学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。****[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)****一个人可以走的很快,但一群人才能走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习成长!**外链图片转存中...(img-5McQZWxg-1715704883324)]**网上学习资料一大堆,但假如学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。****[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)****一个人可以走的很快,但一群人才能走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习成长!**
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
乌市泽哥
金牌会员
这个人很懒什么都没写!
楼主热帖
是什么让.NET7的Min和Max方法性能暴增 ...
@RequestParam,@PathVariable两个注解 ...
聚焦企业开放OpenAPI痛难点,华为云API ...
想入行SAP咨询,最具性价比的方式 ...
活动 | 塑造软件新生态 赋能发展新变革 ...
CentOS7 安装 Redis 7.0.2
2019 第十届蓝桥杯大赛软件赛决赛,国 ...
SqlServer远程连接
Hadoop概述
[WPF] 使用 HandyControl 的 CirclePan ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表