赞
踩
kubernetes 集群命令行工具 kubectl
实现容器化应用的安装和部署
1.kubectl 语法
kubectl [command] [TYPE] [NAME] [flags]
command :指定要对资源执行的操作,例如create.get.describe.delete
TYPE :指定资源类型,资源类型是大小写敏感的,开发者能够以单数,复数和缩略的形式.
NAME :指定资源名称,名称大小写也是敏感的,如果省略名称,则会显示所有的资源.
flags :指定可选参数.例如,可用-s或者-server参数指定Kubernetes API server的地址和端口
2.帮助命令
kubectl --help
3.具体查看某个操作
kubectl get --help
4.目前使用命令
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc
kubectl get cs
kubectl get nodes
kubectl apply -f
kubectl get pods -o wide
kubectl label node k8snode1 env_role=prod
kubectl get ing
k8s集群中对资源管理和资源对象编排部署都可以通过yaml文件来解决
kubectl命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署
yaml 文件
资源清单文件
资源编排
1.yaml语法格式
通过缩进表示层级关系
不能使用tab进行缩进,只能使用空格
一般开头缩进2个空格
字符的后面缩进一个空格 比如冒号,逗号等后面
使用—表示新的yaml文件开始
使用#代表注释
2.yaml文件组成部分
1.控制器定义
2.被控制的对象
3.常用字段含义
apiVersion API版本
kind 资源类型
metadata 资源元数据
spec 资源规格
replicas 副本数量
selector 标签选择器
template Pod模板
metadata Pod元数据
spec Pod规格
containers 容器配置
4.如何快速的编写yaml文件
第一种 使用kubectl create 命令生成yaml文件
kubectl create deployment web --image=nginx -o yaml --dry-run=client > lh.yaml
第二种 使用kubectl get 命令导出yaml文件
kubectl get deploy nginx -o=yaml --export > lh2.yaml
k8s核心技术pod
1.pod基本概念
(1)最小部署的单元
(2)包含多个容器(一组容器的集合)
(3)一个pod中容器共享网络命名空间
(4)pod是短暂的
2.pod存在意义
(1)创建容器使用docker,一个docker对应一个容器,一个容器有进程,一个容器运行一个应用程序
(2)pod是多进程设计,运行多个应用程序(一个pod里面可以有多个容器,一个容器里面运行一个应用程序)
(3)pod存在为了亲密性应用(两个应用之间进行交互,网络之间的调用,两个应用需要频繁调用)
3.pod实现机制
(1)共享网络(pod实现共享网络机制 首先创建根容器,然后创建业务容器)
*共享网络:通过Pause容器,把其他业务容器加入到Pause容器里面,
让所有业务容器在同一个名称空间中,可以实现网络共享
(2)共享存储(Pod实现机制 共享存储 pod持久化数据(日志数据 业务数据)持久化存储 volumn数据卷)
*共享存储:引入一个数据卷概念volumn,使用数据卷进行持久化存储
4.镜像拉取策略
ifNotPresent:默认值,镜像在宿主机上不存在
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。