首页 > 其他分享 >k8s_deployConfig

k8s_deployConfig

时间:2024-10-07 17:49:29浏览次数:8  
标签:name limits deployConfig app requests k8s my spec

K8s_Deploy:

  1. 环境变量
  2. ingress暴露
  3. port暴露
  4. requests和limits
  5. host绑定

环境变量

spec.template.spec.containers.env

常量定义,比如灰度环境定义:

         - name: APP_ENV
           value: GRAY

有时需要获取容器的一些信息,参数名自定义,则可参数引用:

     - name: POD_NAME
       valueFrom:
         fieldRef:
           fieldPath: metadata.name
     - name: NODE_NAME
       valueFrom:
         fieldRef:
           fieldPath: spec.nodeName
     - name: POD_NAMESPACE
       valueFrom:
         fieldRef:
           fieldPath: metadata.namespace
     - name: NODE_IP
       valueFrom:
         fieldRef:
           fieldPath: status.hostIP

requests And limits

resources:  
    requests:    
        cpu: "1"
        memory: "2Gi"
   limits:    
        cpu: "2"
        memory: "4Gi"

requests表示必须最小需要配置,limits表示最大可占用配置。
设置limits不设置requests默认,requests和limits一样。
设置requests不设置limits,则资源可在充沛条件下无限扩张,建议设置limits.

Ingress暴露(可通过Rancher配置)

要在原有的配置文件上添加以下信息:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: my-app-name
 namespace: my-namespace
spec:
 rules:
   - host: my-app.ingress.local
     http:
       paths:
         - backend:
             serviceName: my-serviceName
             servicePort: 80
           path: /
---
apiVersion: v1
kind: Service
metadata:
 labels:
   app: my-app-name
 name: my-app-name
 namespace: my-namespace
spec:
 ports:
   - name: http
     port: 80
     protocol: TCP
     targetPort: 8080
 selector:
   app: my-app-name
 type: ClusterIP
---

※注意:“---”要保留用于区分不同部分,my[***]要替换为真实信息

PORT暴露(可通过Rancher配置)

apiVersion: v1
kind: Service
metadata:
 labels:
   app: my-appname
 name: my-appname
 namespace: my-namespace
spec:
 ports:
   - port: 8080
     protocol: TCP
     targetPort: http
     name: http
 selector:
   app: vmagent-k8s
 type: NodePort
---

※注意:“---”要保留用于区分不同部分,my[***]要替换为真实信息

Host绑定

spec:
  template:
   spec:
      hostAliases:
      - hostnames:
        - www.example.local
        ip: 172.00.00.00

标签:name,limits,deployConfig,app,requests,k8s,my,spec
From: https://www.cnblogs.com/DennyZhao/p/15666494.html

相关文章

  • 多Master节点的k8s集群部署-完整版
    多Master节点的k8s集群部署一、准备工作1.准备五台主机(三台Master节点,一台Node节点,一台普通用户)如下:角色IP内存核心磁盘Master01192.168.116.1414G4个55GMaster02192.168.116.1424G4个55GMaster03192.168.116.1434G4个55GNode192.168.116.14......
  • [kubernetes]二进制方式部署单机k8s-v1.30.5
    前言之前在单机测试k8s的kind最近故障了,虚拟机运行个几分钟后就宕机了,不知道是根因是什么,而且kind部署k8s不太好做一些个性化配置,干脆用二进制方式重新搭一个单机k8s。因为是用来开发测试的,所以control-panel就不做高可用了,etcd+apiserver+controller-manager+scheduler都只有一......
  • 单Master节点的k8s集群部署-完整版
    K8S安装步骤一、准备工作1.准备三台主机(一台Master节点,两台Node节点)如下:角色IP内存核心磁盘Master192.168.116.1314G4个55GNode01192.168.116.1324G4个55GNode02192.168.116.1334G4个55G2.关闭SElinux,因为SElinux会影响K8S部分组件无法正常......
  • 基础网络安全-K8S之网络策略Network policy与RBAC
    一、网络策略NetworkPolicy   默认情况下,k8s集群网络没有任何网络限制,Pod可以与任何其他Pod通信,此时为了减少网络风险暴露面,防止Pod被失陷后进行横向的移动,可通过网络策略(NetworkPolicy)进行控制,网络策略是K8S的一个资源,可用于限制Pod出入流量,提供pod级别和Namespace级别网络......
  • K8S基本组件梳理
    Master组件apiserver:对资源对象进行curd操作,例如pod和server;将所有的状态储存到etcd中。schedule:监控未调度的pod,根据pod的资源需求、资源可用性和其他约束,选择最合适的节点来运行pod。controller-manage:监控集群的状态,实现集群的自愈和自动化管理。​ Replicationcontroller......
  • 工作-k8s问题处理篇
    前言:公司这边为集团,所以项目较多,我目前总负责的项目架构有十六个,其中还有海外项目,不过底下也有一定的细分,同事解决不了的问题会升级到我这,只k8s容器平台常用的就有三种,一种是技术中心部门研发的二开版,一种是国产XC化推广的xc容器平台,还有一种就是开源的-红帽公司研发的OpenShift(......
  • k8s设置默认sc
    编辑sc,修改如下注意 storageclass.kubernetes.io/is-default-class:"true"为设置默认scapiVersion:v1items:-allowVolumeExpansion:trueapiVersion:storage.k8s.io/v1kind:StorageClassmetadata:annotations:meta.helm.sh/release-name:nfs-c......
  • k8s cache.DeletedFinalStateUnknown
    针对已删除对象Obj,删除事件因与apiserver断连而丢失,DeletedFinalStateUnknown只会在relist时可能出现,缓存了已被删除对象,放入DeltaFIFO,删除本地缓存对象。relist场景1:watch超时时间内没有收到事件。2:watch指定的resourceVersion在etcd已不存在。3:apiserver主动与client-go断连,避......
  • 如何解决k8s CNI 子网不够问题
    问题现象CNI状态CrashLookBackOff问题原因默认环境下k8s每个node的CNIsubnet子网是一个24位掩码的子网。当集群总结点数超过255个将导致CNI子网不足。我们有两种方式结局解决方案init集群指定kube-controller-manager参数apiVersion:kubeadm.k8s.io/v1bet......
  • k8s架构,从clusterIP到光电半导体,再从clusterIP到企业管理
    clusterIP作为k8s中的服务,也是其他三个服务的基础~]$kubectlcreateserviceclusteripexternalnameloadbalancernodeport客户端的流量到serviceservice分发给pod,pod由控制器自动部署,自动维护那么问题是service的可用性如何保证?这里以clusterip这个服务举例......