Pod和Namespace的基本介绍

Pod和Namespace的基本介绍,第1张

概述namespace资源名称空间     删除namespace资源会级联删除其所包含的所有其它资源对象     名称空间仅仅只是用来限制资源名称的作用域      并不能实现Pod的通信隔离 在名称空间下 *** 作service 实现service资源隔离 [[email protected]-master ~]# kubectl create service nodeport my-ns --tc namespace资源名称空间

    删除namespace资源会级联删除其所包含的所有其它资源对象
    名称空间仅仅只是用来限制资源名称的作用域      并不能实现Pod的通信隔离

在名称空间下 *** 作service 实现service资源隔离 [[email protected]-master ~]# kubectl create service nodeport my-ns --tcp=5678:8080 -n qaservice/my-ns created[[email protected]-master ~]# kubectl get svcname         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGEkubernetes   ClusterIP   10.96.0.1        <none>        443/TCP        231dmyapp        NodePort    10.100.165.177   <none>        80:32185/TCP   21h[[email protected]-master ~]# kubectl get svc -n defaultname         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGEkubernetes   ClusterIP   10.96.0.1        <none>        443/TCP        231dmyapp        NodePort    10.100.165.177   <none>        80:32185/TCP   21h[[email protected]-master ~]# kubectl get svc -n qaname      TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGEmy-ns     NodePort   10.102.116.9   <none>        5678:30170/TCP   24s[[email protected]-master ~]# kubectl delete svc my-nsError from server (NotFound): services "my-ns" not found[[email protected]-master ~]# kubectl delete svc my-ns -n qaservice "my-ns" deleted[[email protected]-master ~]# kubectl delete all --all -n qaservice "my-ns" deleted
名称空间

[[email protected] ~]# kubectl get svcname         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGEkubernetes   ClusterIP   10.96.0.1        <none>        443/TCP        230dmyapp        NodePort    10.100.165.177   <none>        80:32185/TCP   5m[[email protected]-master ~]# kubectl run clIEnt --image=busyBox --restart=Never -it /bin/shIf you dont see a command prompt,try pressing enter./ # wget -O -q http://myapp.default:80Connecting to myapp.default:80 (10.100.165.177:80)-q                   100% |*****************************************|    65  0:00:00 ETA/ # wget -O  - -q http://myapp.default:80Hello MyApp | Version: v1 | <a href="hostname.HTML">Pod name</a>/ # wget -O  - -q http://myapp.default:80Hello MyApp | Version: v1 | <a href="hostname.HTML">Pod name</a>[[email protected]-master ~]# wget -O - -q http://myappd.default:80/hostname.HTML[[email protected] ~]# kubectl get podsname                     READY     STATUS    RESTARTS   AGEclIEnt                   1/1       Running   0          46mmyapp-6865459dff-c59qp   1/1       Running   0          1hmyapp-6865459dff-zd6wg   1/1       Running   0          10m[[email protected]-master ~]# kubectl exec -it clIEnt /bin/sh/ # wget -O - -q http://myapp.default:80/hostname.HTMLmyapp-6865459dff-zd6wgpod和pods deployment和deployments都可以[[email protected]-master ~]# kubectl get deploymentname      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGEmyapp     2         2         2            2           1h[[email protected]-master ~]# kubectl get deploymentsname      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGEmyapp     2         2         2 kubectl打补丁包[[email protected]-master ~]# kubectl patch deployment myapp-deploy -p {"spec":{"strategy":{"rollingUpdate":{"maxSurge":1,"maxUnavailable":0}}}}deployment.extensions/myapp-deploy patched[[email protected]-master ~]# kubectl set image deployment myapp-deploy myapp=ikubernetes:v3 && kubectl rollout pause deployment myapp-deploydeployment.extensions/myapp-deploy image updateddeployment.extensions/myapp-deploy paused
VIEw Code

 

pod介绍 pod的种类

   1.自主式pod
      自主式pod在非正常结束的情况下无法自动重新启动一个新的Pod

   2.受控Pod
      由控制器管理启动的Pod在异常退出的时候 控制器会自动创建新Pod

   1.pod存活性探测
         存活性探测一旦检测到异常就会不断的重启容器 直到服务恢复正常
    2.pod就绪性探测
         探测失败后不会杀死或者重启容器 而是通知其尚未就绪   并触发依赖于其就绪状态的 *** 作如从Service中移除此pod对象
         就绪性探测和service把用户请求调度到pod上有着重要的关系

 3.httpGet    livenessProbe:      httpGet:        path: /healthz        port: 80        scheme: http 4.execAction    livenessProbe:      exec:        command: ["test","-e","/tmp/healthy"] 5.Tcpsocket    livenessProbe:      tcpsocket:        port: 80 6.pod生命周期钩子函数    lifecycle:      poststart:        exec:          command: ["/bin/sh","-c","echo ‘lifecycle hooks handler ‘ > /usr/share/Nginx/HTML/test.HTML"]
pod三种检测方式

 

pod控制器

       自主式pod由对应节点上的kubelet负责监控其容器的存活性   容器主进程崩溃后 kubelet能够自动重启相应的容器

       kubelet对非主进程崩溃类的容器错误却是无法感知的  比如index.HTML不存在 这种异常检测依赖于pod自定义的存活性检测

       pod对象遭意外删除或者pod所在的节点发生故障    节点故障后kubelet服务 也会异常导致节点上的pod运行将无法得到保证

       这种情况需要用到Pod控制器来保证所有pod来正常运行  pod的存活性和就绪性探测只能保证pod所在节点上pod正常运行

       pod控制器保证可以是跨集群节点上pod正常运行

 

资源注解  Annotations

       资源注解和资源标签类似 不过注解不能用于标签和挑选K8S资源对象      仅可以用于资源提供元数据信息.元数据不受字符数量的限制

总结

以上是内存溢出为你收集整理的Pod和Namespace的基本介绍全部内容,希望文章能够帮你解决Pod和Namespace的基本介绍所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1025482.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存