当前位置: 首页 > news >正文

男生可以做网站编辑工作吗技能培训机构排名前十

男生可以做网站编辑工作吗,技能培训机构排名前十,莱芜金点子信息港交友,网站开发 与 网页设计的区别目录 一.k8s集群资源管理方式分类 1.陈述式资源管理方式 2.声明式资源管理方式 二.陈述式资源管理方法 三.kubectl命令 四.项目生命周期 1.创建 kubectl create命令 2.发布 kubectl expose命令 3.更新 kubectl set 4.回滚 kubectl rollout 5.删除 k…

目录

一.k8s集群资源管理方式分类

1.陈述式资源管理方式

2.声明式资源管理方式

二.陈述式资源管理方法

三.kubectl命令

四.项目生命周期

1.创建    kubectl create命令

2.发布    kubectl expose命令

3.更新    kubectl set

4.回滚    kubectl rollout 

5.删除    kubectl delete


一.k8s集群资源管理方式分类

1.陈述式资源管理方式

  • 增删查比较方便,但是改非常不方便
  • 使用一条kubectl命令和参数选项来实现资源对象管理操作

2.声明式资源管理方式

  • yaml文件管理
  • 使用yaml配置文件里定义的配置,实现资源对象的管理操作

二.陈述式资源管理方法

  • kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口
  • kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径
  • kubectl 的命令大全:kubectl --help
  • k8s中文文档:http://docs.kubernetes.org.cn/683.html
  • 对资源的增、删、查操作比较方便,但对改的操作就不容易了

三.kubectl命令

查看版本信息
kubectl version

查看资源对象简写
kubectl api-resources

查看集群信息
kubectl cluster-info
kubectl get cs
kubectl get nodes
配置kubectl自动补全
source <(kubectl completion bash)vim /etc/bashrc  #可添加到该文件的末尾
bash切换环境即可

node节点查看日志
journalctl -u kubelet -f

kubectl get <resource> [-o wide|json|yaml] [-n namespace]
获取资源的相关信息,-n 指定命令空间,-o 指定输出格式
resource可以是具体资源名称,如pod nginx-xxx;也可以是资源类型,如pod;或者all(仅展示几种核心资源,并不完整)
--all-namespaces 或 -A :表示显示所有命名空间,
--show-labels :显示所有标签
-l app :仅显示标签为app的资源
-l app=nginx :仅显示包含app标签,且值为nginx的资源wide:显示详细信息

kubectl get -n kube-flannel pods   #查看命名空间kube-flannel下的所有pod资源
kubectl get -n kube-flannel pods kube-flannel-ds-c5zqz  #-n指定具体命名空间查看指定的kube-flannel-ds-c5zqz资源kubectl get -n kube-flannel pods kube-flannel-ds-c5zqz -o wide  #显示kube-flannel-ds-c5zqz资源的详细信息

kubectl get -n kube-system pods  --show-labels    # --show-labels    查看指定命名空间下资源的标签
kubectl get -n kube-system pods  --show-labels -l k8s-app    #通过-l筛选k8s-app 标签的资源
kubectl get -n kube-system pods  --show-labels -l k8s-app=kube-dns  #进一步筛选k8s-app标签值等于kube-dns的资源

kubectl get -n kubernetes-dashboard all  #all选项会列出指定命名空间下pod、service、控制器资源

kubectl get -n kubernetes-dashboard pods
kubectl get -n kubernetes-dashboard pods,service
kubectl get -n kubernetes-dashboard pods,service,deploy
#想提示查看多个资源,可在资源中间以,分隔
kubectl get -n kubernetes-dashboard all   #查看所有资源

查看 master 节点状态
kubectl get componentstatuses
kubectl get cs

查看命名空间
kubectl get namespace
kubectl get ns
命令空间的作用:用于允许不同 命名空间 的 相同类型 的资源 重名的

查看default命名空间的所有资源
kubectl get all [-n default]

创建命名空间
kubectl get nskubectl create namespace xy101
kubectl create deployment nginx1 --image=nginx -r 3 --port=80 -n xy101   #即可指定命名空间创建资源,不可在同一个命名空间中创建相同名称的同种资源
kubectl get -n xy101 all

查看某个资源的详细信息
kubectl describe -n xy101 deployments.apps nginx1  #deployments.apps资源的名称

查看命名空间xy101 中的pod 信息kubectl describe -n <命名空间> <资源类型> <资源名称> kubectl describe -n xy101 pod nginx1-794dd8cb7b-fcxnx 

删除pod
kubectl delete -n <命名空间> <资源类型> <资源名称> kubectl delete -n xy101 pod nginx1-794dd8cb7b-bc6cv   #此种方法创建的pod资源若直接删除pod,无法删除由于设置了副本数,删除一个会自动再创建一个

创建pod资源方法2(此种方法创建的pod是独立存在的,没有控制器管理)
kubectl run -n xy101 nginx2 --image=nginx --port=80   #此种方法创建的pod无控制器进行管理,可直接删除kubectl delete -n xy101 pod nginx2   #此种方法创建的pod可直接删除

kubectl exec可以跨主机登录容器,docker exec 只能在容器所在主机上登录kubectl exec -n <命名空间> -it <Pod资源名称> [-c 容器名称] -- sh|bash|命令kubectl exec -it -n xy101 pod/nginx1-794dd8cb7b-cbdjd -- sh   
exec -it -n xy101 pod/nginx1-794dd8cb7b-cbdjd -- ls -l  #在不进入容器的前提下查看其中内容

当一个pod中存在多个容器,可使用-c指定登录的容器kubectl describe -n xy101 pod/nginx1-794dd8cb7b-cbdjd  #查看资源下的容器
kubectl exec -it -n xy101 -c nginx pod/nginx1-794dd8cb7b-cbdjd -- sh   #使用-c指定登录的容器

查看Pod中容器日志
kubectl logs -n <命名空间> <Pod资源名称> [-c 容器名称] [-f] [-p]       #-p表示查看Pod容器重启前的日志kubectl logs -n xy101 nginx1-794dd8cb7b-cbdjd -c nginx

扩缩容
kubectl scale -n <命名空间> <Pod控制器资源类型>    <资源名称> --replicas=副本数deployment|statefulsetkubectl scale -n xy101 deployment nginx1 --replicas=3

删除副本控制器
kubectl get -n xy101 all
kubectl delete -n xy101 deployments.apps nginx2

删除(重启)pod资源,由于存在deployment/rc之类的副本控制器,删除pod也会重新拉起,若pod无法删除,总是处于terminate状态,则要强行删除pod
kubectl delete pod <pod-name> -n <namespace> --force --grace-period=0
#grace-period表示过渡存活期,默认30s,在删除pod之前允许pod慢慢终止其上的容器进程,从而优雅退出,0表示立即终止podkubectl delete -n xy101 pod nginx1-794dd8cb7b-lmjls --force --grace-period=0
kubectl get -n xy101 all

删除全部pod资源进行重建
kubectl delete -n xy101 pods --all
kubectl get -n xy101 all

删除命名空间
kubectl delete ns 网络空间
kubectl delete ns xy101

查看service关联的Pod端点
kubectl describe -n <命名空间> <资源类型> <资源名称>
kubectl describe -n xy101 svc svc-nginx1kubectl get -n xy101 endpoints <资源名称>    #直接查看关联端点
#以上两种方法可以查看端点不多的情况,若端点比较多就无法详细查看到kubectl describe -n <命名空间> endpoints <资源名称>
kubectl describe -n xy101 endpoints svc-nginx1

如何修改标签选择器的值
#创建service
kubectl create -n <命名空间>  service <svc资源类型>  <资源名称>  --tcp=<clusterIP的端口>:<容器端口>
kubectl create -n xy101 service nodeport svc-1 --tcp=8080:80

修改service标签选择器
kubectl set -n <命名空间>  selector  <资源类型>  <资源名称>  '标签key=value'kubectl set -n xy101 selector svc svc-1 'app=nginx1'

四.项目生命周期

项目的生命周期:创建-->发布-->更新-->回滚-->删除

1.创建    kubectl create命令

  • 创建并运行一个或多个容器镜像
  • 创建一个deployment 或job 来管理容器
kubectl create ns xy101   #创建命名空间
kubectl create -n xy101 deployment nginx1 --image=nginx --port=80 --replicas=3  #创建资源


 

2.发布    kubectl expose命令

  • 将资源暴露为新的 Service
为deployment的nginx创建service,并通过Service的8080端口转发至容器的80端口上,Service的名称为
nginx-service,类型为NodePortkubectl expose deployment nginx --port=8080 --target-port=80 --name=nginx-service --type=NodePortkubectl create service nodeport nginx-service --tcp=8080:80

service 的 type 类型

  • ClusterIP(默认类型):分配一个集群内部的虚拟 IP 地址,仅在集群内部可访问。例如Pod和Pod之间的通信,如果是Kubernetes集群外的请求访问是不行的。
  • NodePort:宿主机上开启一个特定端口(默认范围 30000-32767),直接与Pod的端口相连,实现访问宿主机IP:端口能够直接访问到Pod。用途:允许外部访问,但通常用于开发或测试。
  • LoadBalancer:使用外接负载均衡器完成到服务的负载分发,此模式需要使用云提供商的负载均衡器,将请求分发到所有的Node上,再结合kube-proxy实现流量接入:外部客户端 -> 云负载均衡器 -> Kubernetes 节点 -> kube-proxy -> Pod
  • LoadBalancer和NodePort很相似,目的都是向外部暴露一个端口,区别在于LoadBalancer会在集群的外部再来做一个负载均衡设备,而这个设备需要外部云环境支持的,外部服务发送到这个设备上的请求,会被设备负载均衡转发到K8S集群中
  • externalName:将外部服务映射到集群内部,并以DNS的形式用于Pod中服务对外部服务访问
创建service方法1kubectl expose -n <命名空间>  <Pod控制器资源类型>  <资源名称> --name=<svc资源名称>  --tpye=<svc类型>  --port=<clusterIP的端口>  --targetPort=<容器端口>kubectl expose -n xy101 deployment nginx1 --name=svc-nginx1 --port=8080 --target-port=80 --type=ClusterIP     #创建类型为ClusterIP的service所有节点服务器即可通过访问http://clusterIP:port访问service  
curl http://10.96.194.137:8080

kubectl expose -n xy101 deployment nginx1 --name=svc-nginx2 --port=8080 --target-port=80 --type=NodePort  #创建service类型为NodePortkubectl get -n xy101 svcnetstat -lntp | grep :31373    #在每个节点都可监听到这个端口,  K8S集群外部/内部用户都可以通过nodeIP:nodePort来访问service

3.更新    kubectl set

重新创建一个service做测试
kubectl create -n xy101 deployment myapp-test01 --image=soscscs/myapp:v1 --port=80 --replicas=2   #创建pod资源
kubectl expose -n xy101 deployment myapp-test01 --name=test02 --port=8080 --target-port=80 --type=NodePort  #创建service,类型选择NodePort
外部服务器即可通过nodeip:nodeport访问关联的pod

kubectl set image  -n <命名空间>  <Pod控制器资源类型>  <资源名称>  <容器名=镜像名:标签>
kubectl set image -n xy101 deployment myapp-test01 myapp=soscscs/myapp:v2kubectl describe -n xy101 deployments.apps myapp-test01

4.回滚    kubectl rollout 

kubectl rollout history -n <命名空间>  <Pod控制器资源类型>   <资源名称> kubectl rollout undo -n <命名空间>  <Pod控制器资源类型>  <资源名称>  [--to-revision=N]kubectl rollout status -n <命名空间>  <Pod控制器资源类型>  <资源名称>kubectl rollout history -n xy101 deployment myapp-test01    #查看历史回滚记录
kubectl rollout undo -n xy101 deployment myapp-test01       #撤销上一次的 rollout
kubectl rollout undo -n xy101 deployment myapp-test01 --to-revision=5  #指定回滚版本
kubectl rollout status -n xy101 deployment myapp-test01  #查看回滚状态

5.删除    kubectl delete

kubectl delete -n xy101 deployments.apps myapp-test01 #删除控制器
kubectl delete -n xy101 service test02   #删除service

http://www.mmbaike.com/news/43107.html

相关文章:

  • 互联网服务网站建设目的企业网站seo平台
  • 一套完整的vi设计手册seo手机端优化
  • 交友网站美女要一起做外贸百度地图排名怎么优化
  • wordpress id97google seo整站优化
  • 那些做面点的网站好广告软文小故事200字
  • 网站建设免网站seo诊断分析和优化方案
  • 重庆有专业做网站的吗搜索引擎推广与优化
  • 泉州网站建设学徒招聘小程序开发工具
  • 网页游戏广告平台网站建设seo外链购买
  • 中国深圳航空公司官方网站今日新闻热点10条
  • 无锡公司网站设计个人网页怎么做
  • 做网站的公司 贵阳谷歌推广网站
  • 深圳网站建设创造者网店推广实训系统
  • 深圳专业营销网站制作怎样做搜索引擎推广
  • 深圳市做网站的公司电商平台推广方式有哪些
  • 政府网站建设机构健全友情链接的检查方法
  • 做地方生活网站免费建站平台
  • 上海企业工商查询成都网站seo诊断
  • 义乌网站优化建设软文发布的平台与板块
  • 太原市手机网站建设宁波技术好的企业网站制作
  • 廊坊网站建设-商昊网络搜索引擎广告形式有
  • 怎样做网站后台优化外包网络推广
  • 公众号开发人员名单google搜索优化方法
  • 校园二手网站开发如何投放网络广告
  • 新网站排名优化怎么做项目推广方案怎么写
  • 烟台市做网站seo最新快速排名
  • 河南专业网站建设公司推荐google推广妙招
  • 区块链做网站都有哪些内容呢seo网站设计工具
  • 天津网站建设icp备百度指数免费查询
  • 网站域名到期查询广告推广平台网站