大家好,今天来介绍kubectl安装快捷键补全的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!
Kubectl 常用命令大全
create 命令 :根据文件或者输入来创建资源
delete 命令 :删除资源
get 命令 :获得资源信息
run 命令 :在集群中创建并运行一个或多个容器镜像。
更详细用法参见 : http://docs.kubernetes.org.cn/468.html
expose 命令 :创建一个service服务,并且暴露端口让外部可以访问
更多expose详细用法参见 : http://docs.kubernetes.org.cn/475.html
set 命令 :配置应用的一些特定资源,也可以修改应用已有的资源
set 命令详情参见 : http://docs.kubernetes.org.cn/669.html
这个命令用于设置资源的一些范围限制。
资源对象中的 Pod 可以指定计算资源需求(CPU-单位m、内存-单位Mi),即使用的最小资源请求(Requests),限制(Limits)的最大资源需求,Pod将保证使用在设置的资源数量范围。
对于每个Pod资源,如果指定了 Limits (限制)值,并省略了 Requests (请求),则 Requests 默认为 Limits 的值。
可用资源对象包括(支持大小写) : replicationcontroller 、 deployment 、 daemonset 、 job 、 replicaset 。
例如 :
设置资源的 selector (选择器)。如果在调用"set selector"命令之前已经存在选择器,则新创建的选择器将覆盖原来的选择器。
selector 必须以字母或数字开头,最多包含63个字符,可使用:字母、数字、连字符" - " 、点"."和下划线" _ "。如果指定了--resource-version,则更新将使用此资源版本,否则将使用现有的资源版本。
注意 :目前 selector 命历手握令只能用于 Service 对象。
用于更新现有资源的容器镜像。
可用资源对象包括: pod (po) 、 replicationcontroller (rc) 、 deployment (deploy) 、 daemonset (ds) 、 job 、 replicaset (rs) 。
explain 命令 :用于显示资源文档信息
edit 命令 : 用于编辑资源信息
label命令 : 用于更新(增加、修改或删除)资源上的 label(标签)
例 :
annotate命令 :更新一个或多个资源的Annotations信息。也就是注解信息,可以方便的查看做了哪些操作。
例子 :
completion命令 :用于设置 kubectl 命令自动补全
BASH
ZSH
rollout 命令 : 用于对资源进行管理
可用资源包括: deployments , daemonsets 。
子命令 :
rolling-update命令 : 执行指定ReplicationController的滚动更新。
该命令创建了一个新的 RC , 然后一次更新一个 pod 方式逐步使用新的 PodTemplate ,最终实现 Pod 滚动更新, new-controller.json 需要与之前 RC 在相同的 namespace 下。
scale命令 :扩容或缩容 Deployment 、 ReplicaSet 、 Replication Controller 或 Job 中 Pod 数量
scale 也可以指定多个前提条件,如:当前副本数量或 --resource-version ,进行伸缩比例设置前,系统会先验证前提条件是否成立。这个就是弹性伸缩策略。
autoscale命令 :这个比 scale 更加强大,也是弹性伸肢庆缩策略 ,它是根据流量的多少来自薯渗动进行扩展或者缩容。
指定 Deployment 、 ReplicaSet 或 ReplicationController ,并创建已经定义好资源的自动伸缩器。使用自动伸缩器可以根据需要自动增加或减少系统中部署的pod数量。
certificate命令 :用于证书资源管理,授权等
cluster-info 命令 :显示集群信息
top 命令 :用于查看资源的cpu,内存磁盘等资源的使用率
cordon命令 :用于标记某个节点不可调度
uncordon命令 :用于标签节点可以调度
drain命令 : 用于在维护期间排除节点。
taint命令 :用于给某个 Node 节点设置污点
describe命令 :显示特定资源的详细信息
logs命令 :用于在一个pod中打印一个容器的日志,如果pod中只有一个容器,可以省略容器名
参数选项 :
exec命令 :进入容器进行交互,在容器中执行命令
命令选项 :
attach命令 :连接到一个正在运行的容器。
参数选项 :
cp命令 :拷贝文件或者目录到pod容器中
用于 pod 和外部的文件交换,类似于 docker 的 cp ,就是将容器中的内容和外部的内容进行交换。
api-servions命令 :打印受支持的 api 版本信息
help命令 :用于查看命令帮助
config 命令 : 用于修改 kubeconfig 配置文件(用于访问api,例如配置认证信息)
设置 kubectl 与哪个 Kubernetes 集群进行通信并修改配置信息。查看 使用 kubeconfig 跨集群授权访问 文档获取详情配置文件信息。
version 命令 :打印客户端和服务端版本信息
plugin 命令 :运行一个命令行插件
apply命令 :通过文件名或者标准输入对资源应用配置
通过文件名或控制台输入,对资源进行配置。 如果资源不存在,将会新建一个。可以使用 JSON 或者 YAML 格式。
参数选项 :
patch命令 :使用补丁修改,更新资源的字段,也就是修改资源的部分内容
replace命令 : 通过文件或者标准输入替换原有资源
convert命令 :不同的版本之间转换配置文件
要以特定格式将详细信息输出到终端窗口,可以将 -o 或 --output 参数添加到支持的 kubectl 命令。
Kubectl 日志输出详细程度是通过 -v 或者 --v 来控制的,参数后跟了一个数字表示日志的级别。 Kubernetes 通用的日志习惯和相关的日志级别在 这里 有相应的描述。
以上是 kubectl 一些基本命令操作,需要时方便查阅。
01先让Kubernetes跑起来
①、修改主机名(Master、node1、node2)、修改hosts表、关闭selinux、清空防火墙、关闭firewalld服务(或者放行相应的端口);永久关闭swap,配置离线yum仓库;
注:防火墙不能关闭,网络要使用iptables进行报文转发;要永久关闭swap,需要直接将 /etc/fstab文件中的swap行注释掉。
②、修改内核参数,加载内核模块
③、在所有节点上部署Docker,并修改daemon.json文件,使用私有镜像仓库;
④、安装kubeadm、kubelet、kubectl,并添加命令补全;此处使用离线yum仓库轮穗
①、将所有的tar包上传至系统;创建私有镜像仓库,并将Kubernetes核心镜像推送到离线仓库中;
②、使用kubeadm初始化master节点,并添加环境变量使得可以补全kubectl命令;
注:①、service-cidr,虚拟网络地址段,用于为 Kubernetes 集群之中的 Service 配置 IP 地址(地址不会配置在任何接口上,是个虚拟IP),通过 Node 之上的 kube proxy 配置为 iptables或者ipvs 规则,从而将发往此地址的所有流量调度至其后端的各 Pod 对象。该网段在初始化集群时指定,用户创建Service时会动态配置该网段的IP地址;②、pod-network-cidr,虚拟网络地址段,用于为各 Pod 对象设定 IP 地址等网络参数,其地址配置于 Pod 中容器的网络接口之上,需要借助CNI网络插件来完成配置。
③、安装网络插件,首先从网盘下载kube-flannel.yml文件;修改网络插件的镜像源,地址为私有镜像仓库,注意要保证yml文件中flannel的镜像地址及版本号与仓库早春中的完全一致,即为 flannel:0.14.0
注:flannel 镜像文件的备用镜像站为 quay.mirrors.ustc.edu.cn/coreos 。
①、首先陆桐耐要在master节点上,创建一个用于加入cluster的token,使得node节点能够使用该token加入到集群中;token生成之后根据提示,将node节点加入到cluster中;
②、将node节点加入到集群中,并在master节点上验证集群中的节点。
注:如果node在flannel网络插件安装之后加入到集群时,可能会提示镜像拉取失败,需要查看master节点的registry镜像仓库是否工作正常。
①、master节点
②、node节点
由于部署过程中涉及到大量的离线镜像,有需要的可以私信博主免费获取!
高可用kubernetes集群搭建
架构说明
Kubernetes集群组件:
k8s集群高可用,一般是etcd,kube-apiserver,kube-controller-manager,kube-scheduler服务组件的高可用。
规划:
3个master节点,2个worker节点,使用keepalived+haproxy做高可用
一、前期环境准备
Kubernetes 1.8开始要求关闭系统的Swap,如果不关闭,默认配置下kubelet将无法启动。
方法一 通过kubelet的启动参数–fail-swap-on=false更改这个限制。
方法二 关闭系统的Swap, swapoff -a
修改/etc/fstab文件,注释掉SWAP的自动挂载,使用free -m确认swap已经关闭。
二、docker安装
安装则氏docker-ce,所有节点都要安装
yum-utils 提供yum-config-manager工具,devicemapper存储需要device-mapper-persistent-data和lvm2
添加yum源仓库
官方仓库
安装docker
配置docker中国镜像加速器,修改cgroup driver为systemd,k8s建议使用systemd,配置后重启docker
三、安装haproxy,keepalived
安装haproxy和keepalived,实现kube-apiserver高可用
psmisc提供killall命令
配置haproxy
配置keepalived
注意:在另外两个节点,设置state为BACKUP,priority设扰盯败置为110,100
启动所有节点的haproxy和keepalived
查看VIP
注意,使用ifconfig命令是看不到的,必须使用ip addr命令
这时候vip在130.252.10.235上,我们关闭235上的haproxy,验证vip是否会漂移到其他节点
四、kubeadm/kubelet/kubectl安装
master节点安装:kubeadm、kubelet、kubectl
node节点安装:kubeadm、kubelet
安装
五、使用kubeadm初始化cluster
step1 准备初始化配置文件
根据自己的环境修改配置.
step2 处理kubernetes依赖的镜像
master需要的镜像为
node节点需要的镜像为
查看需要的镜像版本
拉取镜像
六、初始化第一个master节点
注意:如果你禁用了swap分区,则不需要加--ignore-preflight-errors=Swap
配置kubectl
启用kubectl的自动补全命令
七、安装Pod网络flannel
八、将其他master节点添加到cluster
将node1证书文件复制到其他master节点node2,node3
分别在master1和master2 执行下面的命令
九、将node节点添加到cluster
十、检查集群运行 健康
在master节点查看节点状态
所有的节点都是NotReady,这是因为每个节点都需要启动若干组件,这些组件都是在pod中运行,需要从Google下载镜像
查看pod的状态
查看集群信息
查看etcd集群
查看集群缓颤是否 健康
查看集群的leader
注意 :因为是3个节点的ETCD集群,所以只能有一个宕机,如果同时又2个节点宕机,则会出现问题Unable to connect to the server: EOF
etd集群需要大多数节点(仲裁)才能就集群状态的更新达成一致,所以ETCD集群节点一般是奇数个,而且只有存活节点个数大于下线节 点个数才能正常运行,5个节点的ETCD集群,允许同时2个节点故障。
一般建议5个节点,超过五个虽然容错性更高,但是集群写入性就会差。
检查IPVS
本文地址:https://gpu.xuandashi.com/72540.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!