首页 > 其他分享 >Statefulset+Deamonset控制器实战(简单版本)

Statefulset+Deamonset控制器实战(简单版本)

时间:2022-08-15 10:15:55浏览次数:99  
标签:控制器 Statefulset name app Deamonset nginx sts pod ds

Statefulset说明:     为了解决有状态服务的部署,例如mysql的主从等     pod拥有唯一且固定的名称     按照顺序对pod进行启停、伸缩和回收     Headless Services(无头服务)请求直接解析到pod的ip上      参考链接:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/statefulset/      yaml文件示例: apiVersion: apps/v1 kind: StatefulSet metadata:   name: nginx-sts   namespace: wyh-test1-ns   labels:     app: nginx-sts spec:   replicas: 1   selector:     matchLabels:       app: nginx-sts-pod   serviceName: nginx-svc   template:     metadata:       labels:         app: nginx-sts-pod     spec:       containers:       - name: nginx-sts-pod         image: nginx         imagePullPolicy: IfNotPresent         ports:         - containerPort: 80 --- apiVersion: v1 kind: Service metadata:   name: nginx-svc   namespace: wyh-test1-ns   labels:     app: nginx-svc spec:   type: ClusterIP   clusterIP: None   ports:   - name: http     port: 80     targetPort: 80   selector:     app: nginx-sts-pod   运行文件: kubectl apply -f nginx-statefulset.yaml 增加到三个节点: kubectl scale --replicas=3 sts nginx-sts -nwyh-test1-ns 无头service:   ################################################################################################   DeamonSet简介:     在当前每个节点运行同一个pod,当有新节点加入集群时,也会在新节点运行相同的pod,当节点从集群中移除时,其pod也会被回收且不会在其他机器上重建     参考链接:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/daemonset/   yaml文件示例(信任了master的污点,会在master节点运行pod): apiVersion: apps/v1 kind: DaemonSet metadata:   name: nginx-ds   namespace: wyh-test1-ns   labels:     app: nginx-ds spec:   selector:     matchLabels:       app: nginx-ds-pod   template:     metadata:       labels:         app: nginx-ds-pod     spec:       #污点信任       tolerations:       - effect: NoSchedule         key: node.kubernetes.io/unschedulable         operator: Exists       hostNetwork: true  #使用宿主机网络(如果此nginx是访问入口,那么使用hostnetwork性能会更好)       hostPID: true      #使用宿主机进程       containers:       - name: nginx-ds-pod         image: nginx         imagePullPolicy: IfNotPresent         ports:         - containerPort: 80 --- apiVersion: v1 kind: Service metadata:   name: nginx-svc   namespace: wyh-test1-ns   labels:     app: nginx-svc spec:   type: ClusterIP   ports:   - name: http     port: 80     targetPort: 80   selector:     app: nginx-ds-pod   运行文件: kubectl apply -f nginx-deamonset.yaml 查看节点运行情况(192.168.213.11是master): kubectl get pod -A -owide | grep nginx-ds                

标签:控制器,Statefulset,name,app,Deamonset,nginx,sts,pod,ds
From: https://www.cnblogs.com/wyh-l6/p/16587235.html

相关文章

  • k8s控制器探针
    HealthCheck:由发起者对容器进行周期性检测 dockershealthcheck实现方式:#第一种方式:docker-composecat<<EOF>docker-compose.yamlversion:'3.6'service: ......
  • k8s--deployment 控制器、扩缩容、升级策略
    介绍Deployment表示用户对K8S集群的一次更新操作。Deployment是一个比RS(ReplicaSet,RS)应用模型更广的API对象,可以是创建一个新的服务,更新一个新的服务,也可以......
  • jmter常见控制器
    1、简单控制器最基本的控制器,对Jmeter测试运行没有任何影响;只是把一些请求归于放到一个简单控制器中,视为一个部分,使结构变得更加清晰如下图所示,简单控制器对其中请求的......