kubernetes云平台管理实战: 服务发现和负载均衡(五)

一、rc控制器常用命令

1、rc控制器信息查看

[root@k8s-master ~]# kubectl get replicationcontroller
NAME      DESIRED   CURRENT   READY     AGE
myweb     3         3         3         3m
[root@k8s-master ~]# kubectl get rc
NAME      DESIRED   CURRENT   READY     AGE
myweb     3         3         3         5m

2、删除rc

[root@k8s-master ~]# kubectl delete rc myweb
replicationcontroller "myweb" deleted
[root@k8s-master ~]# kubectl get pod
NAME      READY     STATUS    RESTARTS   AGE
nginx     1/1       Running   0          1h
nginx2    1/1       Running   0          24m

二、服务发现和负载均衡

1、修改nginx2的标签名为:myweb

[root@k8s-master ~]# kubectl get pod
NAME          READY     STATUS    RESTARTS   AGE
myweb-cbt47   1/1       Running   0          4m
myweb-fhfgs   1/1       Running   0          4m
myweb-fltnm   1/1       Running   0          4m
nginx         1/1       Running   0          1h
nginx2        1/1       Running   0          30m

[root@k8s-master ~]# kubectl edit pod nginx2   #app: myweb  修改nginx的标签名为:myweb
pod "nginx2" edited
[root@k8s-master ~]# kubectl get pod
NAME          READY     STATUS    RESTARTS   AGE
myweb-cbt47   1/1       Running   0          8m
myweb-fltnm   1/1       Running   0          8m
nginx         1/1       Running   0          1h
nginx2        1/1       Running   0          33m

2、咋突然少了一个容器?

[root@k8s-master ~]# kubectl describe pod nginx2   #Labels:		app=web
Name:		nginx2
Namespace:	default
Node:		k8s-node2/10.0.128.2
Start Time:	Sun, 20 Jan 2019 14:06:50 +0800
Labels:		app=web
Status:		Running
IP:		172.16.48.2

[root@k8s-master ~]# kubectl describe pod myweb-cbt47   #Labels:		app=myweb
Name:		myweb-cbt47
Namespace:	default
Node:		k8s-node2/10.0.128.2
Start Time:	Sun, 20 Jan 2019 14:32:19 +0800
Labels:		app=myweb
Status:		Running
IP:		172.16.48.3
Controllers:	ReplicationController/myweb

3、小结

1、因为控制器设置最少保持3个副本

2、rc控制器是根据Labels 来区分组别的

2、nginx2的标签和myweb控制器的标签一样,所以就删除了存活时间最短的容器

三、动态修改rc副本数量

1、修改为2

[root@k8s-master ~]# kubectl get pod
NAME          READY     STATUS    RESTARTS   AGE
myweb-cbt47   1/1       Running   0          9m
myweb-fltnm   1/1       Running   0          9m
nginx         1/1       Running   0          1h
nginx2        1/1       Running   0          35m

[root@k8s-master ~]# kubectl edit rc myweb
replicas: 2
replicationcontroller "myweb" edited
[root@k8s-master ~]# kubectl get pod
NAME          READY     STATUS    RESTARTS   AGE
myweb-cbt47   1/1       Running   0          11m
nginx         1/1       Running   0          1h
nginx2        1/1       Running   0          36m

2、修改为5

[root@k8s-master ~]# kubectl get pod
NAME          READY     STATUS    RESTARTS   AGE
myweb-cbt47   1/1       Running   0          11m
nginx         1/1       Running   0          1h
nginx2        1/1       Running   0          36m
[root@k8s-master ~]# kubectl edit rc myweb
replicas: 5
replicationcontroller "myweb" edited
[root@k8s-master ~]# kubectl get pod
NAME          READY     STATUS              RESTARTS   AGE
myweb-7w38b   0/1       ContainerCreating   0          3s
myweb-btflm   1/1       Running             0          3s
myweb-cbt47   1/1       Running             0          12m
myweb-rt3b9   0/1       ContainerCreating   0          3s
nginx         1/1       Running             0          1h
nginx2        1/1       Running             0          38m

原文地址:https://www.cnblogs.com/luoahong/p/10299989.html

时间: 2024-12-10 03:35:57

kubernetes云平台管理实战: 服务发现和负载均衡(五)的相关文章

kubernetes云平台管理实战: 自动加载到负载均衡(七)

一.如何实现外界能访问 外界访问不了 1.启动svc [root@k8s-master ~]# cat myweb-svc.yaml apiVersion: v1 kind: Service metadata: name: nginx spec: type: NodePort ports: - port: 80 nodePort: 30001 selector: app: myweb [root@k8s-master ~]# kubectl create -f myweb-svc.yaml se

kubernetes云平台管理实战:HPA水平自动伸缩(十一)

一.自动伸缩 1.启动 [root@k8s-master ~]# kubectl autoscale deployment nginx-deployment --max=8 --min=2 --cpu-percent=80 deployment "nginx-deployment" autoscaled 2.查看创建 [root@k8s-master ~]# kubectl get all NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE de

kubernetes云平台管理实战:deployment通过标签管理pod(十)

一.kubectl run命令拓展 1.RC创建 [root@k8s-master ~]# kubectl run web --generator=run/v1 --image=10.0.128.0:5000/nginx:1.13 --replicas=3 replicationcontroller "web" created 2.deployment创建 [root@k8s-master ~]# kubectl run web --image=10.0.128.0:5000/ngin

kubernetes云平台管理实战: 高级资源deployment-滚动升级(八)

一.通过文件创建deployment 1.创建deployment文件 [root@k8s-master ~]# cat nginx_deploy.yml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 template: metadata: labels: app: nginx spec: containers: - name: nginx im

kubernetes云平台管理实战: 滚动升级秒级回滚(六)

一.nginx保证有两个版本 1.查看当前容器运行nginx版本 [root@k8s-master ~]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE myweb-7w38b 1/1 Running 0 4h 172.16.10.4 k8s-node1 myweb-btflm 1/1 Running 0 4h 172.16.48.4 k8s-node2 myweb-cbt47 1/1 Running 0 4h 17

kubernetes云平台管理实战:如何创建deployment更好(九)

一.文件创建带--record 1.文件 [root@k8s-master ~]# cat nginx_deploy.yml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 template: metadata: labels: app: nginx spec: containers: - name: nginx image: 10.0.128.0

[系统集成] 用 Kubernetes Nginx Ingress 实现 HTTP 服务发布与负载均衡

用户在 Kubernetes 上部署的服务一般运行于私有网络,Pod和Service 提供了 hostPort,NodePort等参数用于暴露这些服务端口到K8S节点上,供使用者访问.这样的方法有明显缺点: 1)容易占用过多的主机端口: 2)服务端口暴露到多台主机会增加防火墙和安全配置的难度 3)默认的hostPort,NodePort方式没有负载均衡的作用 K8S的 Ingress 资源提供了另一种服务暴露的方法,它可以获取各个服务的状态,传递给nginx等工具进行配置修改.重新加载等工作,实

Kubernetes如何使用kube-dns实现服务发现

大纲: ?       Kubernetes中如何发现服务 ?       如何发现Pod提供的服务 ?       如何使用Service发现服务 ?       如何使用kube-dns发现服务 ?       kube-dns原理 ?       组成 ?       域名格式 ?       配置 注:本次分享内容基于Kubernetes 1.2版本! 下面从一个简单的例子开始讲解. 1.Kubernetes中如何发现服务 ◆   发现Pod提供的服务 首先使用nginx-deploym

云平台接入第三方服务的实践总结

前言 今年,我的任务是为公司的私有云平台( PaaS )开发对应的云服务平台(我们称之为插件平台),这个云服务平台的主要任务,是为云平台接入一些服务,服务包括但不限于mysql.redis.cdn等存储服务,天气预报等http服务.这个系列文章,希望总结本人在开发这个平台时的得与失. 下面将云服务平台简称为平台(插件平台),所接入的服务,简称为第三方服务(插件) 为什么需要统一接入方案 统一接入方案,是指可以帮助插件平台更快接入第三方服务的一种统一方案 首先要回答的第一个问题,是为什么需要插件平