天天看點

K8s 腦圖筆記1125

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 腦圖筆記1125

k8s常用概念

K8s 腦圖筆記1125

k8s架構

K8s 腦圖筆記1125

基于k8s的常見web應用部署架構

K8s 腦圖筆記1125

Kubernetes服務于微服務

K8s 腦圖筆記1125
每個微服務都是獨立的程序,通過定義好的接口(restful api ,amqp)互相調用
           

Kubernetes的主要組成

K8s 腦圖筆記1125

k8s叢集的運作時的大緻結構

K8s 腦圖筆記1125

Kubernetes設計架構

K8s 腦圖筆記1125
K8s 腦圖筆記1125
K8s 腦圖筆記1125

分層架構

K8s 腦圖筆記1125

基于Docker本地運作Kubernetes

K8s 腦圖筆記1125

使用容器的優點

K8s 腦圖筆記1125

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 腦圖筆記1125
K8s 腦圖筆記1125
K8s 腦圖筆記1125
每個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 腦圖筆記1125
K8s 腦圖筆記1125

Replication Controller (RC)

K8s 腦圖筆記1125
K8s 腦圖筆記1125
K8s 腦圖筆記1125

Kubernetes Deployment

Kubernetes Service

Pod、RC與Service的邏輯關系

K8s 腦圖筆記1125
通過分析、識别并模組化系統中的所有服務為微服務-----Kubernetes Service,
	最終我們的系統由多個提供不同業務能力而又彼此獨立的微服務單元所組成,
	服務之間通過TCP/IP進行通信,
	進而形成了我們強大而又靈活的彈性網格,
	擁有了強大的分布式能力、彈性擴充能力、容錯能力,于此同時,
	我們的程式架構也變得簡單和直覺許多
           
K8s 腦圖筆記1125

NodePort與Load balancer

K8s 腦圖筆記1125

Kubernetes Namespace

Nameaspace通過将叢集内部的資源對象“配置設定”到不同的Namespce中,
	形成邏輯上分組的不同項目、小組或使用者組,
	便于不同的分組在共享使用整個叢集的資源的同時還能被分别管理
           

其他圖

K8s 叢集中,與節點就緒狀态有關的元件,
	主要有四個,分别是:叢集的核心資料庫 etcd、叢集的入口 API Server、節點控制器以及駐守在叢集節點上直接管理節點的 kubelet。
           
K8s 腦圖筆記1125
K8s 腦圖筆記1125

其他

公有雲巨頭(谷歌、亞馬遜、微軟、華為雲、阿裡雲等等)都在其傳統的公共雲服務之上提供托管的Kubernetes服務
           

K8S 簡介2

開源的容器叢集管理系統,可以實作容器叢集的自動化部署、自動擴縮容、維護等功能
           
K8s 腦圖筆記1125

K8s架構圖

K8s 腦圖筆記1125
K8s 腦圖筆記1125
K8s 腦圖筆記1125
K8s 腦圖筆記1125

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就表示成功
[[email protected] ~]# kubectl -n kube-system logs -f kube-proxy-7cdbn 


kubeadm token create --print-join-command
           

1124

K8s 腦圖筆記1125
Container(容器)是一種便攜式、輕量級的作業系統級虛拟化技術
Pod 是一組緊密關聯的容器集合,
它們共享 PID、IPC、Network 和 UTS namespace,是 Kubernetes 排程的基本機關。
           
K8s 腦圖筆記1125
在 Kubernetes 中,所有對象都使用 manifest(yaml 或 json)來定義
           
K8s 腦圖筆記1125
K8s 腦圖筆記1125

重置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 腦圖筆記1125

通路叢集

在 cluster 内部就可以通過 http://Cluster-IP 和 http://node-ip:30772 來通路 nginx-app。
而在 cluster 外面,則隻能通過 http://node-ip:30772 來通路
           

1125

簡介

面向應用的容器叢集部署和管理系統
           

Borg 簡介

K8s 腦圖筆記1125

Kubernetes 架構

K8s 腦圖筆記1125
核心元件:
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 腦圖筆記1125

核心元件

K8s 腦圖筆記1125

核心 API

K8s 腦圖筆記1125

生态系統

K8s 腦圖筆記1125

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 腦圖筆記1125

元件通信

典型的建立 Pod 的流程

K8s 腦圖筆記1125

端口号

K8s 腦圖筆記1125

etcd

基本的 key-value 存儲
           
K8s 腦圖筆記1125

通路控制

認證、授權以及準入控制(Admission Control)
           
K8s 腦圖筆記1125

工作原理

K8s 腦圖筆記1125

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
           

Controller Manager

K8s 腦圖筆記1125
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 腦圖筆記1125

kubelet 工作原理

K8s 腦圖筆記1125

Pod 啟動流程

K8s 腦圖筆記1125

查詢 Node 彙總名額

通過 Kubelet 的 10255 端口可以查詢 Node 的彙總名額。
有兩種通路方式
在叢集内部可以直接通路 kubelet 的 10255 端口,
比如 http://<node-name>:10255/stats/summary
在叢集外部可以借助 kubectl proxy 來通路,比如
kubectl proxy&
curl http://localhost:8001/api/v1/proxy/nodes/<node-name>:10255/stats/summary
           

kube-proxy 工作原理

K8s 腦圖筆記1125

初始化系統

所有機器都需要初始化容器執行引擎(如 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 <command> --help 檢視子指令的幫助
  kubectl [command] [PARAMS] -o=<format> 設定輸出格式(如 json、yaml、jsonpath 等)
  kubectl explain [RESOURCE] 檢視資源的定義

建立:kubectl run <name> --image=<image> 或者 kubectl create -f manifest.yaml
查詢:kubectl get <resource>
更新 kubectl set 或者 kubectl patch
删除:kubectl delete <resource> <name> 或者 kubectl delete -f manifest.yaml
查詢 Pod IP:kubectl get pod <pod-name> -o jsonpath='{.status.podIP}'
容器内執行指令:kubectl exec -ti <pod-name> sh
容器日志:kubectl logs [-f] <pod-name>
導出服務:kubectl expose deploy <name> --port=80
kubectl logs
kubectl attach
kubectl exec
kubectl port-forward
kubectl proxy
kubectl cp 
           

部署app曆史

K8s 腦圖筆記1125

叢集

K8s 腦圖筆記1125
通過釋出 Deployment,可以建立應用程式 (docker image) 的執行個體 (docker container),
	這個執行個體會被包含在稱為 Pod 的概念中,
	Pod 是 k8s 中最小可管理單元
           
K8s 腦圖筆記1125
K8s 腦圖筆記1125
K8s 腦圖筆記1125

指令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 腦圖筆記1125
K8s 腦圖筆記1125
kubectl apply -f nginx-service.yaml
kubectl get services -o wide
           

架構

K8s 腦圖筆記1125

架構

K8s 腦圖筆記1125

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 腦圖筆記1125
K8s 腦圖筆記1125

部署

K8s 腦圖筆記1125
https://blog.csdn.net/magerguo/article/details/72123259
           
K8s 腦圖筆記1125
https://www.yisu.com/zixun/23228.html
           

1127

kubectl   scale  rc  ng-rc  --replicas=1
           
K8s 腦圖筆記1125

繼續閱讀