查看pod网络范围_kubernetes 简单操作deployment,service,pod,标签
搭建的基础Linux: CentOS-7-x86_64-DVD-1810.isoDocker: docker-ce-18.03.1.cekubernetes: kubernetes v1.16.7docker镜像博文CentOS7 从零开始搭建一个jdk+tomcat的docker环境搭建k8s的博文CentOS7安装kubernetesv1.16.7创建pod首先通过deployment 创建p
·
搭建的基础
- Linux: CentOS-7-x86_64-DVD-1810.iso
- Docker: docker-ce-18.03.1.ce
- kubernetes: kubernetes v1.16.7
docker镜像博文
CentOS7 从零开始搭建一个jdk+tomcat的docker环境
搭建k8s的博文
CentOS7安装kubernetesv1.16.7
创建pod
首先通过deployment 创建pod,使用如下yaml文件用于设定Deployment,需要注意docker镜像必须在本地dokcer仓库中有或者能从镜像仓库拉取到,注意不要有空行,table的缩进。这里的docker镜像是上面博文步骤自己先的一个简单的镜像准备deployment.yaml文件
apiVersion: apps/v1 #apiVersion是当前配置格式的版本kind: Deployment #kind是要创建的资源类型metadata: #metadata是该资源的元数据,name是必须的元数据项 #指定deployment的名称 name: demo-deployment labels: app: ecs-demo #标签spec: #期望创建3个实例(3个pod) replicas: 3 selector: # .spec.selector 必须匹配 .spec.template.metadata.labels,否则它将被API拒绝。如果 .spec.selector 没有被指定, .spec.selector.matchLabels 默认是 .spec.template.metadata.labels #选择label:app=ecs-demo的pod来创建实例 matchLabels: #metadata定义Pod的元数据,至少要顶一个label,label的key和value可以任意指定 app: ecs-demo template: metadata: labels: app: ecs-demo spec: containers: - name: ecs-demo image: wangzhh/login_demo:20200429 # docker imange地址 REPOSITORY:TAG ports: - containerPort: 8080 #暴露给service的地址 readinessProbe: #就绪探针 httpGet: port: 8080 path: / initialDelaySeconds: 50 # initialDelaySeconds这个参数 机器新能不好调大 periodSeconds: 10 livenessProbe: httpGet: path: / port: 8080 scheme: HTTP initialDelaySeconds: 50 # initialDelaySeconds这个参数 机器新能不好调大 periodSeconds: 10
在master节点执行命令
kubectl create -f deployment.yaml
如图所示为创建成功

查看一下创建的deployment
kubectl get deployment -o wide
看到运行的pod数量也在期望的范围内

查看pod运行在哪个node上
kubectl get pod -o wide

如果要删除pod,直接删除pod是不行的,因为我们是通过deployment创建的pod,里面定义了pod的数量,删除了会自动创建,所以我们要删除deployment,删除后查看可以发现
kubectl delete deployment
或者
kubectl delete -f deployment.yaml

创建service
一样通过yaml创建
apiVersion: v1 #apiVersion是当前配置格式的版本kind: Service #kind是要创建的资源类型metadata: #metadata是该资源的元数据,name是必须的元数据项 name: demo-servicespec: selector: # selector 指明挑选那些 label 为 run: xx 的 Pod 作为 Service 的后端。 app: ecs-demo ports: #将Service 的 8080 端口映射到 Pod 的 8080 端口,使用 TCP 协议 - protocol: TCP port: 8080 targetPort: 8080 nodePort: 30036 # nodePort,它指定节点上开放的端口值 端口范围只能是 30000-32767,如果不指定这个端口,系统将选择一个随机端口 sessionAffinity: ClientIP # service内部实现session保持 sessionAffinityConfig: clientIP: timeoutSeconds: 10800 # timeoutSeconds指的是session保持的时间,这个时间默认是10800秒,也就是三个小时 type: NodePort # 暴露service的三种方式 NodePort,LoadBalancer 和 Ingress
在master节点执行命令
kubectl create -f service.yaml
如下创建成功

浏览器访问一下

基础的k8s集群应用搭建完成了,后续再完善滚动升级,热扩容和nginx代理这些
更多推荐
所有评论(0)