K8s 脑图笔记

K8s 脑图笔记

    • K8s简介
    • k8s常用概念
    • k8s架构
    • 基于k8s的常见web应用部署架构
    • Kubernetes服务于微服务
    • Kubernetes的主要组成
    • k8s集群的运行时的大致结构
    • Kubernetes设计架构
    • 分层架构
    • 基于Docker本地运行Kubernetes
    • 使用容器的优点
    • K8s 命令
    • Pod
    • kubernetes Lable
    • Replication Controller (RC)
    • Kubernetes Deployment
    • Kubernetes Service
      • Pod、RC与Service的逻辑关系
    • NodePort与Load balancer
    • Kubernetes Namespace
    • 其他图
    • 其他
    • K8S 简介2
    • K8s架构图
    • Kubernetes
    • Kubernetes相关术语
    • 部署
    • 1124
    • 重置kubernetes服务,重置网络。删除网络配置,link
    • 集群联邦
    • 访问集群
  • 1125
    • 简介
    • Borg 简介
    • Kubernetes 架构
    • 分层架构
    • 核心组件
    • 核心 API
    • 生态系统
    • API设计原则
    • 控制机制设计原则
    • 架构设计原则
    • 引导(Bootstrapping)原则
    • 微服务Pod
    • 复制控制器(Replication Controller,RC)
    • 副本集(Replica Set,RS)
    • 部署(Deployment)
    • 服务(Service)
    • 核心组件
    • 组件通信
      • 典型的创建 Pod 的流程
      • 端口号
      • etcd
    • 访问控制
    • 工作原理
    • API 访问
    • Controller Manager
    • 容器运行时接口(Container Runtime Interface,CRI)
    • kubelet 工作原理
    • Pod 启动流程
    • 查询 Node 汇总指标
    • kube-proxy 工作原理
    • 初始化系统
    • kubectl
    • 部署app历史
    • 集群
    • 命令2
    • Service
    • 架构
    • 架构
    • pod基本操作
    • master安装部署
    • node节点安装部署
    • k8s网络之Flannel网络
    • 部署
    • 1127

K8s简介

K8s 脑图笔记_第1张图片

k8s常用概念

K8s 脑图笔记_第2张图片

k8s架构

K8s 脑图笔记_第3张图片

基于k8s的常见web应用部署架构

K8s 脑图笔记_第4张图片

Kubernetes服务于微服务

K8s 脑图笔记_第5张图片

	每个微服务都是独立的进程,通过定义好的接口(restful api ,amqp)互相调用

Kubernetes的主要组成

K8s 脑图笔记_第6张图片

k8s集群的运行时的大致结构

K8s 脑图笔记_第7张图片

Kubernetes设计架构

K8s 脑图笔记_第8张图片
K8s 脑图笔记_第9张图片
K8s 脑图笔记_第10张图片

分层架构

K8s 脑图笔记_第11张图片

基于Docker本地运行Kubernetes

K8s 脑图笔记_第12张图片

使用容器的优点

K8s 脑图笔记_第13张图片

K8s 命令

# 查看集群中有多少个Node
kubectl get nodes

# 查看某个Node的详细信息
kubectl describe node

# 查看Deployment的信息
kubectl get deployments

# 查看对应的Replica Set
kubectl get rs

# 查看创建的Pod
kubectl get pods

# 查看Endpoint列表
kubectl get endpoints

#看到 nginx 被分配的Cluster IP及更多的信息
kubectl get svc nginx -o yaml

# 查看命名空间
 kubectl get namespaces

# kubectl命令中加入--namespace参数来查看某个命名空间中的对象
kubectl get pods --namespace=development

# 查看pod信息
kubectl get -n kube-system pod|grep "kube-proxy(pod)" 
kubectl -n kube-system logs -f +pod 

# kubectl get - 类似于 docker ps,查询资源列表
# kubectl describe - 类似于 docker inspect,获取资源的详细信息
# kubectl logs - 类似于 docker logs,获取容器的日志
# kubectl exec - 类似于 docker exec,在容器内执行一个命令


kubectl run --image=nginx:alpine nginx-app --port=80
kubectl get pods
kubectl exec nginx-app-4028413181-cnt1i ps aux
kubectl describe pod nginx-app-4028413181-cnt1i


kubectl scale --replicas=3 deployment/nginx-app
 kubectl get deploy



# ---------------------------------- 系列 命令 1
# kubectl [command] [TYPE] [NAME] [flags]
kubectl get pods
kubectl exec -ti nginx-7bb7cd8db5-42lcn date
kubectl describe pod nginx-7bb7cd8db5-42lcn 
# 部署服务
kubectl expose deployment nginx-app --port=80 --target-port=80 --type=NodePort
kubectl get deployment

# 扩展应用
kubectl scale --replicas=3 deployment/nginx
# 滚动升级(Rolling Update)
kubectl rolling-update frontend-v1 frontend-v2 --image=image:v2
# 回滚
kubectl rolling-update frontend-v1 frontend-v2 --rollback


# 在使用 kubectl 时,打开调试日志也可以看到每个 API 调用的格式
kubectl --v=8 get pods

# 查询 Kubernetes API 支持的 API 版本以及资源对象
kubectl api-versions
kubectl api-resources
kubectl api-resources --api-group=storage.k8s.io

# Node 打上标签 指定 nodeSelector 为 disktype=ssd
kubectl label nodes node-01 disktype=ssd

# ----------------------------------

Pod

K8s 脑图笔记_第14张图片
K8s 脑图笔记_第15张图片
K8s 脑图笔记_第16张图片

	每个Pod都会被分配一个单独的IP地址,
	而且每个Pod都提供了一个独立的Endpoint(Pod IP+ContainerPort)以被客户端访问,
	现在多个Pod副本组成了一个集群来提供服务
	
	负载均衡器

	运行在每个Node上的kube-proxy进程其实就是一个智能的软件负载均衡器,
	它负责把对Service的请求转发到后端的某个Pod实例上,并在内部实现服务的负载均衡与会话机制

	每个Service分配了全局唯一的虚拟IP地址,这个虚拟IP地址被称为Cluster IP。
	这样一来,每个服务就变成了具备唯一IP地址的“通信节点”,服务调用就变成了最基础的TCP网络通信问题。

kubernetes Lable

	一个Label是一个key=value的键值对

K8s 脑图笔记_第17张图片
K8s 脑图笔记_第18张图片

Replication Controller (RC)

K8s 脑图笔记_第19张图片
K8s 脑图笔记_第20张图片
K8s 脑图笔记_第21张图片

Kubernetes Deployment

Kubernetes Service

Pod、RC与Service的逻辑关系

K8s 脑图笔记_第22张图片

	通过分析、识别并建模系统中的所有服务为微服务-----Kubernetes Service,
	最终我们的系统由多个提供不同业务能力而又彼此独立的微服务单元所组成,
	服务之间通过TCP/IP进行通信,
	从而形成了我们强大而又灵活的弹性网格,
	拥有了强大的分布式能力、弹性扩展能力、容错能力,于此同时,
	我们的程序架构也变得简单和直观许多

K8s 脑图笔记_第23张图片

NodePort与Load balancer

K8s 脑图笔记_第24张图片

Kubernetes Namespace

	Nameaspace通过将集群内部的资源对象“分配”到不同的Namespce中,
	形成逻辑上分组的不同项目、小组或用户组,
	便于不同的分组在共享使用整个集群的资源的同时还能被分别管理

其他图

	K8s 集群中,与节点就绪状态有关的组件,
	主要有四个,分别是:集群的核心数据库 etcd、集群的入口 API Server、节点控制器以及驻守在集群节点上直接管理节点的 kubelet。

K8s 脑图笔记_第25张图片

K8s 脑图笔记_第26张图片

其他

公有云巨头(谷歌、亚马逊、微软、华为云、阿里云等等)都在其传统的公共云服务之上提供托管的Kubernetes服务

K8S 简介2

开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能

K8s 脑图笔记_第27张图片

K8s架构图

K8s 脑图笔记_第28张图片
K8s 脑图笔记_第29张图片
K8s 脑图笔记_第30张图片
K8s 脑图笔记_第31张图片

Kubernetes

k8s 
自动实施 Linux 容器操作的开源平台
 Google
 徽标 Project Seven of Nine

Kubernetes相关术语

主机(Master)
节点(Node)
容器集(Pod)
复制控制器(Replication controller)
服务(Service)
Kubelet
kubectl

部署

预先准备信息
防火墙与 SELinux 
$ systemctl stop firewalld && systemctl disable firewalld
$ setenforce 0
$ vim /etc/selinux/config
SELINUX=disabled
设定/etc/host解析到所有主机

安装Docker引擎
curl -fsSL "https://get.docker.com/" | sh
systemctl enable docker && systemctl start docker
部署kubeadm和kubelet
设置k8s国内yum仓库
cat >/etc/yum.repos.d/kubernetes.repo<<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
安装kubeadm
yum install -y kubelet-1.16.2 kubeadm-1.16.2 kubectl-1.16.2 ipvsadm
设置k8s禁止使用swap
cat > /etc/sysconfig/kubelet<<EOF
KUBELET_CGROUP_ARGS="--cgroup-driver=systemd"
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
EOF
设置内核参数
cat >  /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system
设置kubelet开机启动
systemctl enable kubelet && systemctl start kubelet
加载IPVS模块
cat >/etc/sysconfig/modules/ipvs.modules<<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
chmod +x /etc/sysconfig/modules/ipvs.modules
source /etc/sysconfig/modules/ipvs.modules
lsmod | grep -e ip_vs -e nf_conntrack_ipv
node1节点初始化
kubeadm init \
--apiserver-advertise-address=192.168.108.130 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.16.2 \
--service-cidr=192.168.108.0/24 \
--pod-network-cidr=192.168.108.0/24 \
--service-dns-domain=cluster.local \
--ignore-preflight-errors=Swap \
--ignore-preflight-errors=NumCPU
为kubectl准备kubeconfig
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
获取node节点信息
 kubectl get nodes
支持命令补全
yum install bash-completion -y
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
kubectl completion bash >/etc/bash_completion.d/kubectl
设置kube-proxy使用ipvs模式
#执行命令,然后将mode: ""修改为mode: "ipvs"然后保存退出
kubectl edit cm kube-proxy -n kube-system
#重启kube-proxy
kubectl get pod -n kube-system |grep kube-proxy |awk '{system("kubectl delete pod "$1" -n kube-system")}'

#查看pod信息
kubectl get -n kube-system pod|grep "kube-proxy" 

#检查日志,如果出现IPVS rr就表示成功
[root@node1 ~]# kubectl -n kube-system logs -f kube-proxy-7cdbn 


kubeadm token create --print-join-command

1124

K8s 脑图笔记_第32张图片

Container(容器)是一种便携式、轻量级的操作系统级虚拟化技术
Pod 是一组紧密关联的容器集合,
它们共享 PID、IPC、Network 和 UTS namespace,是 Kubernetes 调度的基本单位。

K8s 脑图笔记_第33张图片

在 Kubernetes 中,所有对象都使用 manifest(yaml 或 json)来定义

K8s 脑图笔记_第34张图片

K8s 脑图笔记_第35张图片

重置kubernetes服务,重置网络。删除网络配置,link

# 可疑 谨慎使用
kubeadm reset
systemctl stop kubelet
systemctl stop docker
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /etc/cni/
ifconfig cni0 down
ifconfig flannel.1 down
ifconfig docker0 down
ip link delete cni0
ip link delete flannel.1
systemctl start docker

集群联邦

K8s 脑图笔记_第36张图片

访问集群

在 cluster 内部就可以通过 http://Cluster-IP 和 http://node-ip:30772 来访问 nginx-app。
而在 cluster 外面,则只能通过 http://node-ip:30772 来访问

1125

简介

面向应用的容器集群部署和管理系统

Borg 简介

K8s 脑图笔记_第37张图片

Kubernetes 架构

K8s 脑图笔记_第38张图片

核心组件:
etcd 保存了整个集群的状态;
kube-apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;
kube-controller-manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
kube-scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;
kubelet 负责维持容器的生命周期,同时也负责 Volume(CVI)和网络(CNI)的管理;
Container runtime 负责镜像管理以及 Pod 和容器的真正运行(CRI),默认的容器运行时为 Docker;
kube-proxy 负责为 Service 提供 cluster 内部的服务发现和负载均衡;

推荐的 Add-ons:
 kube-dns 负责为整个集群提供 DNS 服务
 Ingress Controller 为服务提供外网入口
Heapster 提供资源监控
Dashboard 提供 GUI
Federation 提供跨可用区的集群
Fluentd-elasticsearch 提供集群日志采集、存储与查询

分层架构

K8s 脑图笔记_第39张图片

核心组件

K8s 脑图笔记_第40张图片

核心 API

K8s 脑图笔记_第41张图片

生态系统

K8s 脑图笔记_第42张图片

API设计原则

声明式 声明式的API还隐含了所有的API对象都是名词性质的
API对象是彼此互补而且可组合的 高内聚,松耦合
高层API以操作意图为基础设计
低层API根据高层API的控制需要设计
尽量避免简单封装,不要有在外部API无法显式知道的内部隐藏的机制
API操作复杂度与对象数量成正比
API对象状态不能依赖于网络连接状态
尽量避免让操作机制依赖于全局状态,因为在分布式系统中要保证全局状态的同步是非常困难的

控制机制设计原则

架构设计原则

引导(Bootstrapping)原则

	每个API对象都有3大类属性:元数据metadata、规范spec和状态status。
	元数据是用来标识API对象的,
	每个对象都至少有3个元数据:namespace,name和uid;
	除此以外还有各种各样的标签labels用来标识和匹配不同的对象,
	例如用户可以用标签env来标识区分不同的服务部署环境

微服务Pod

Pod是在K8s集群中运行部署应用或服务的最小单元,它是可以支持多容器的
Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统,
可以通过进程间通信和文件共享这种简单高效的方式组合完成服务

目前K8s中的业务主要可以分为长期伺服型(long-running)、
批处理型(batch)、
节点后台支撑型(node-daemon)
和有状态应用型(stateful application);
分别对应的小机器人控制器为Deployment、
Job、
DaemonSet
和StatefulSet。

复制控制器(Replication Controller,RC)

只适用于长期伺服型的业务类型

副本集(Replica Set,RS)

RS是新一代RC
作为Deployment的理想状态参数使用

部署(Deployment)

部署表示用户对K8s集群的一次更新操作

服务(Service)

RC、RS和Deployment只是保证了支撑服务的微服务Pod的数量
服务发现完成的工作,是针对客户端访问的服务,找到对应的的后端服务实例。
在K8s集群中,客户端需要访问的服务就是Service对象。
每个Service会对应一个集群内部有效的虚拟IP,集群内部通过虚拟IP访问一个服务。
在K8s集群中微服务的负载均衡是由Kube-proxy实现的。
Kube-proxy是K8s集群内部的负载均衡器。它是一个分布式代理服务器,
在K8s的每个节点上都有一个。

核心组件

K8s 脑图笔记_第43张图片

组件通信

典型的创建 Pod 的流程

K8s 脑图笔记_第44张图片

端口号

K8s 脑图笔记_第45张图片

etcd

基本的 key-value 存储

K8s 脑图笔记_第46张图片

访问控制

认证、授权以及准入控制(Admission Control)

K8s 脑图笔记_第47张图片

工作原理

K8s 脑图笔记_第48张图片

API 访问

kubectl
kubectl get --raw /api/v1/namespaces
kubectl get --raw /apis/metrics.k8s.io/v1beta1/nodes
kubectl get --raw /apis/metrics.k8s.io/v1beta1/pods
kubectl proxy
 kubectl proxy --port=8080 &
 

Controller Manager

K8s 脑图笔记_第49张图片

kube-controller-manager 由一系列的控制器组成

 Replication Controller
Node Controller
CronJob Controller
Daemon Controller
 Deployment Controller
Endpoint Controller
 Garbage Collector
 Namespace Controller
 Job Controller
 Pod AutoScaler
 RelicaSet
 Service Controller
 ServiceAccount Controller
 StatefulSet Controller
 Volume Controller
 Resource quota Controller

容器运行时接口(Container Runtime Interface,CRI)

K8s 脑图笔记_第50张图片

kubelet 工作原理

K8s 脑图笔记_第51张图片

Pod 启动流程

K8s 脑图笔记_第52张图片

查询 Node 汇总指标

通过 Kubelet 的 10255 端口可以查询 Node 的汇总指标。
有两种访问方式
在集群内部可以直接访问 kubelet 的 10255 端口,
比如 http://:10255/stats/summary
在集群外部可以借助 kubectl proxy 来访问,比如
kubectl proxy&
curl http://localhost:8001/api/v1/proxy/nodes/:10255/stats/summary

kube-proxy 工作原理

K8s 脑图笔记_第53张图片

初始化系统

所有机器都需要初始化容器执行引擎(如 docker 或 frakti 等)和 kubelet。
这是因为 kubeadm 依赖 kubelet 来启动 Master 组件
kubeadm init --pod-network-cidr 10.244.0.0/16 --kubernetes-version stable

kubectl

  kubectl -h 查看子命令列表
  kubectl options 查看全局选项
  kubectl  --help 查看子命令的帮助
  kubectl [command] [PARAMS] -o= 设置输出格式(如 json、yaml、jsonpath 等)
  kubectl explain [RESOURCE] 查看资源的定义

创建:kubectl run  --image= 或者 kubectl create -f manifest.yaml
查询:kubectl get 
更新 kubectl set 或者 kubectl patch
删除:kubectl delete   或者 kubectl delete -f manifest.yaml
查询 Pod IP:kubectl get pod  -o jsonpath='{.status.podIP}'
容器内执行命令:kubectl exec -ti  sh
容器日志:kubectl logs [-f] 
导出服务:kubectl expose deploy  --port=80
kubectl logs
kubectl attach
kubectl exec
kubectl port-forward
kubectl proxy
kubectl cp 

部署app历史

K8s 脑图笔记_第54张图片

集群

K8s 脑图笔记_第55张图片

	通过发布 Deployment,可以创建应用程序 (docker image) 的实例 (docker container),
	这个实例会被包含在称为 Pod 的概念中,
	Pod 是 k8s 中最小可管理单元

K8s 脑图笔记_第56张图片
K8s 脑图笔记_第57张图片

K8s 脑图笔记_第58张图片

命令2

# kubectl get - 显示资源列表
#获取类型为Deployment的资源列表
kubectl get deployments

#获取类型为Pod的资源列表
kubectl get pods

#获取类型为Node的资源列表
kubectl get nodes

# 查看所有名称空间的 Deployment
# 命令后增加 -A 或 --all-namespaces 可查看所有 名称空间中 的对象,
# 使用参数 -n 可查看指定名称空间的对象
kubectl get deployments -A
kubectl get deployments --all-namespaces
# 查看 kube-system 名称空间的 Deployment
kubectl get deployments -n kube-system

# kubectl describe - 显示有关资源的详细信息
# kubectl describe 资源类型 资源名称

#查看名称为nginx-XXXXXX的Pod的信息
kubectl describe pod nginx-XXXXXX	

#查看名称为nginx的Deployment的信息
kubectl describe deployment nginx

# kubectl logs Pod名称

#查看名称为nginx-pod-XXXXXXX的Pod内的容器打印的日志
#本案例中的 nginx-pod 没有输出日志,所以您看到的结果是空的
kubectl logs -f nginx-pod-XXXXXXX


# kubectl exec Pod名称 操作命令

# 在名称为nginx-pod-xxxxxx的Pod中运行bash
kubectl exec -it nginx-pod-xxxxxx /bin/bash
 

Service

K8s 脑图笔记_第59张图片
K8s 脑图笔记_第60张图片

kubectl apply -f nginx-service.yaml
kubectl get services -o wide

架构

K8s 脑图笔记_第61张图片

架构

K8s 脑图笔记_第62张图片

pod基本操作

  创建  kubectl create -f xxx.yaml

  查询  kubectl get pod yourPodName  kubectl describe pod yourPodName

  删除  kubectl delete pod yourPodName  kubectl delete -f xxx.yaml

  更新  kubectl replace /path/to/yourNewYaml.yml

master安装部署

yum install etcd kubernetes-master  -y
# 编辑/etc/etcd/etcd.conf文件
    ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
    ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
    ETCD_NAME="default"
    ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
# 编辑/etc/kubernetes/apiserver文件
    KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
    KUBE_API_PORT="--port=8080"
    KUBELET_PORT="--kubelet-port=10250"
    KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"
    KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
    KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"
    KUBE_API_ARGS=""
# 启动etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服务,并设置开机启动
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; 
do systemctl start $SERVICES;
systemctl enable $SERVICES;
systemctl status $SERVICES; 
done

# 在etcd中定义flannel网络
etcdctl mk /atomic.io/network/config '{"Network":"172.40.0.0/16"}'

node节点安装部署

yum  install flannel kubernetes-node  -y
# 为flannel网络指定etcd服务,修改/etc/sysconfig/flanneld文件
cat  /etc/sysconfig/flanneld 
FLANNEL_ETCD_ENDPOINTS="http://10.1.14.11:2379"
FLANNEL_ETCD_PREFIX="/atomic.io/network"
# 修改/etc/kubernetes/config文件
cat  /etc/kubernetes/config 
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://10.1.14.11:8080"
# 修改node节点配置文件/etc/kubernetes/kubelet
cat  /etc/kubernetes/kubelet 
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_PORT="--port=10250"
KUBELET_HOSTNAME="--hostname-override=10.1.14.15"
KUBELET_API_SERVER="--api-servers=http://10.1.14.11:8080"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_ARGS=""

for SERVICES in flanneld  docker kube-proxy kubelet;do systemctl start $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES; done


k8s网络之Flannel网络

K8s 脑图笔记_第63张图片
K8s 脑图笔记_第64张图片

部署

K8s 脑图笔记_第65张图片

https://blog.csdn.net/magerguo/article/details/72123259

K8s 脑图笔记_第66张图片

https://www.yisu.com/zixun/23228.html

1127

kubectl   scale  rc  ng-rc  --replicas=1

K8s 脑图笔记_第67张图片

你可能感兴趣的:(分布式,kubernetes)