k8s管理linux进程,K8s--k8s的pod管理

Pod介绍

Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群 中运行的一个进程,每个pod都有一个唯一的ip。

一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间 共享IPC、Network和UTC namespace。

Pod管理

kubectl命令:

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands

配置每个节点的私有仓库,以及每个节点都有相对应证书,

server8、server9

创建Pod应用

kubectl run nginx --image=nginx --replicas=2 --record

3a7617c8cd3cdbd9be5f2954eb1db2d2.png集群内部任意节点可以访问Pod,但集群外部无法直接访问。

删除Pod

#kubectl delete pod nginx-6db489d4b7-2v97v

彻底删除Pod

kubectl delete deployment nginx

由于–replicas=2,集群会自动创建Pod。

k8s管理linux进程,K8s--k8s的pod管理_第1张图片

service管理

service是一个抽象概念,定义了一个服务的多个pod逻辑合集和访问pod的策略, 一般把service称为微服务。

创建service

kubectl expose deployment nginx --port=80 --target-port=80

此时pod客户端可以通过service的名称访问后端的两个Pod

ClusterIP: 默认类型,自动分配一个仅集群内部可以访问的虚拟IP

k8s管理linux进程,K8s--k8s的pod管理_第2张图片

NodePort暴露端口

kubectl edit svc nginx //修改service的type为NodePort

$ kubectl expose deployment nginx --port=80 --target-port=80 --

type=NodePort //也可以在创建service时指定类型

k8s管理linux进程,K8s--k8s的pod管理_第3张图片

NodePort: 在ClusterIP基础上为Service在每台机器上绑定一个端口,这样就 可以通过 NodeIP:NodePort 来访问该服务

Pod扩容与缩容

通过更改replicas数值的大小来完成Pod的扩容与缩容

$ kubectl scale --replicas=6 deployment nginx

$ kubectl scale --replicas=3 deployment nginx

k8s管理linux进程,K8s--k8s的pod管理_第4张图片

更新pod镜像

$ kubectl set image deployment nginx nginx=nginx:1.16.0 --record

7d18c780cb78d6f33e0744671359ba79.png

###更新的回滚:

$ kubectl rollout history deployment nginx //查看历史版本

$ kubectl rollout undo deployment nginx --to-revision=1 //回滚版本

k8s管理linux进程,K8s--k8s的pod管理_第5张图片

你可能感兴趣的:(k8s管理linux进程)