k8s 中的资源配置

    在 k8s 中可以对pod 中每个容器使用的资源进行限制,当前主要为 cpu 和 内存。主要有 requests 和 limits 两个配置。

gcp-container-pod-specil8w.PNG

    requests 用于 scheduler 阶段,表示要运行容器所需的最小资源。 limits 用于限制容器最多可以使用的资源,如果 cpu 超过这个限制,容器中进程的调度会被系统内核减少,如果内存超过限制,容器可能被 cgroup 杀死。

    limits 中的 cpu 限制对应于 docker 中的 --cpu-shares, cpu 占用百分比。k8s 将1个 cpu 分成 1000 个shares,与 cgroup 将 cpu 分成 1024 个 shares 略有差别。

 

### 配置 Ingress 的方法 在 Kubernetes(K8s)环境中,配置 Ingress 是实现外部访问服务的关键步骤之一。为了使应用程序可以通过域名被外界访问,需先部署 Ingress Controller 并编写相应的 Ingress 资源文件。 #### 创建 Ingress Resource 文件 Ingress resource 定义了路由规则,这些规则指定了流量应如何导向内部的服务。下面是一个简单的 YAML 文件例子用于创建名为 `nginx_rewrite` 的 Ingress: ```yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: rewrite spec: rules: - host: rewrite.zhangtest.com http: paths: - path: / pathType: Prefix backend: service: name: testsvc port: number: 80 ``` 此段代码定义了一个主机名指向特定路径下的服务端口[^3]。 #### 应用 Ingress Configuration 一旦准备好了上述的 YAML 文件(假设命名为 `nginx_rewrite.yaml`),就可以利用命令行工具 kubectl 来提交这个资源给集群: ```bash kubectl apply -f nginx_rewrite.yaml ``` 这会向 API Server 发送请求以创建新的 Ingress 对象,并自动关联至已存在的 Ingress controller 上处理该对象中的规则[^4]。 #### 查看 Ingress 状态 要确认新设置是否成功以及获取更多细节信息,可以执行如下指令来查询当前所有的 Ingress 或者指定名称过滤显示结果: ```bash kubectl get ingress -o wide ``` 这条命令不仅能够展示所有可用的 Ingress 列表及其属性,还可以帮助验证 DNS 解析是否正常工作,因为其中包含了分配给 Ingress 的 IP 地址或完全限定域名(FQDN)[^3]。 #### 动态更新机制 值得注意的是,在实际操作过程中,每当有更改发生时——无论是新增还是修改现有的 Ingress 规则,Ingress Controller 将实时监测此类变动并通过与 Kubernetes API 进行通信来同步最新的配置情况。随后依据所设定的具体逻辑重新生成 NGINX 的配置片段并即时生效而无需重启整个服务器进程[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值