美文网首页
Kubernetes容器编排技术

Kubernetes容器编排技术

作者: 李小二的倔强 | 来源:发表于2021-11-09 17:12 被阅读0次

k8s:云原生(在各种云都像是在本地部署<个人理解>)的基础设置

K8S宏观组件理解

05.png

service\lable


07.png

Deployment: 管理ReplicaSet, 对ReplicaSet进行扩缩容
ReplicaSet: 管理pod ,对pod 进行扩缩容,定义多少个pod能够运行
pod:k8s最小操作单元,一个或者多个container的组合, 共享存储和网络
lable:key==value格式的标签,可以给组件打标签 pod、ReplicaSet
service:selector-选择具有相同lable标签的pod 一种抽象方式,具有相同lable的一组pod集合

k8s宏观组件理解

11.png

kubctl: 调用主节点的客户端
认证授权: 认证kubectl有没有操作整个集群的权利
APIService: Manager节点接受认证授权之后的kubectl传过来的请求
Scheduler: 具体到那个worker节点执行操作的策略
ControllerManager: 具体执行分发请求
kube-proxy: worker节点接收manager节点分发的请求
kubelet: 可以用来创建pod
docker: 每个pod中的容器是docker,所以需要docker engine 的环境
etcd: 存储集群具体的数据(接受过多少请求,数据具体落到那个地方)
dns: 域名解析
dashdoard: 图形化界面监控

12.png

环境搭建方式

01the hard way
https://github.com/kelseyhightower/kubernetes-the-hard-way
02在线play-with-k8s
https://labs.play-with-k8s.com/
03正常搭建方式
a: Cloud上搭建 https://github.com/kubernetes/kops
b: 企业级解决方案CoreOS https://coreos.com/tectonic/

minikube 搭建一个本地单机版k8s
kubeadm/二进制方式 搭建本地一个k8s集群

搭建命令

查看链接信息

kubectl config view
kubectl config get-contexts
kubectl cluster-info
kubectl get pods -n kube-system

创建pod_nginx.yaml

apiVersion: v1 
kind: Pod 
metadata:
  name: nginx
  labels:
    app: nginx 
spec:
  containers:
   - name: nginx
    image: nginx
    ports:
     - containerPort:80

根据pod_nginx.yaml文件创建pod

kubectl apply -f pod_nginx.yaml

查看pod

kubectl get pods
kubectl get pods -o wide
kubectl describe pod nginx

进入nginx容器

# kubectl进入
kubectl exec -it nginx bash
# 通过docker进入
minikube ssh
docker ps
docker exec -it containerid bash

访问nginx,端口转发

# 若在minikube中,直接访问
# 若在物理主机上,要做端口转发
kubectl port-forward nginx 8080:80

删除pod

kubectl delete -f pod_nginx.yaml

查看pod描述

kubectl describe pod nginx

查看pod yml文件描述

kubectl get pod nginx -o yaml 

相关文章

网友评论

      本文标题:Kubernetes容器编排技术

      本文链接:https://www.haomeiwen.com/subject/kixpzltx.html