参考文章
CentOS 7安装minikube (重点参考)
https://www.cnblogs.com/harmful-chan/p/12731014.html
Linux环境上安装MiniKube
https://blog.csdn.net/u013533380/article/details/105863848/
aliyun–Minikube - Kubernetes本地实验环境
https://developer.aliyun.com/article/221687
Kubernetes之安装Minikube------有效性 8成
https://www.cnblogs.com/lioa/p/12625565.html
kubectl常用命令------老七linux 腾讯云
https://cloud.tencent.com/developer/article/1140076
Kubernetes K8S之kubectl命令详解及常用示例
https://blog.csdn.net/ning521513/article/details/108715468
kubectl官方命令
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#-em-clusterrolebinding-em-
k8s 中文社区
https://www.kubernetes.org.cn/
k8s官方文档 中文版 —概念目录 (要全看)
https://kubernetes.io/zh/docs/concepts/
马哥交互视频
https://www.bilibili.com/video/BV1b64y1m7jm?p=3
kubectl语法
详见 https://blog.csdn.net/ning521513/article/details/108715468
kubectl [command] [TYPE] [NAME] [flags]
说明:
1、command:指定在一个或多个资源上要执行的操作。例如:create、get、describe、delete、apply等
2、TYPE:指定资源类型(如:pod、node、services、deployments等)。资源类型大小写敏感,可以指定单数、复数或缩写形式。例如,以下命令生成相同的输出:
1 kubectl get pod -n kubernetes-dashboard
2 kubectl get pods -n kubernetes-dashboard
3 kubectl get po -n kubernetes-dashboard
3、NAME:指定资源的名称。名称大小写敏感。如果省略名称空间,则显示默认名称空间资源的详细信息或者提示:No resources found in default namespace.。
4、flags:指定可选的标记。例如,可以使用 -s 或 --server标识来指定Kubernetes API服务器的地址和端口;-n指定名称空间;等等。
注意:你从命令行指定的flags将覆盖默认值和任何相应的环境变量。优先级最高。
5、在多个资源上执行操作时,可以通过类型 [TYPE] 和名称 [NAME] 指定每个资源,也可以指定一个或多个文件。
kubectl语法中的command操作
…
kubectl语法中的TYPE资源
…
kubectl 输出选项
…
kubectl 指令
kubectl 基础指令
命令 | 描述 | 示例 |
---|---|---|
create | 通过文件名或标准输入创建资源 | |
expose | 将一个资源公开为一个新的service | |
run | 在集群中运行一个特定的镜像 | |
set | 在对象上设定特定的功能 | |
get | 显示一个或多个资源 | kubectl get cs --检查健康状态 |
explain | 文档参考资料 | |
edit | 使用默认编辑器编辑一个资源 | |
delete | 通过文件名、标准输入、资源名称或标签选择器删除资源 |
部署和集群管理命令
命令 | 描述 | 示例 |
---|---|---|
rollout | 管理资源的发布 | |
rolling-update | 对给定的复制控制器滚动更新 | |
scale | 扩容或缩容Pod数量,Deploymet、ReplicaSet、RC 或Job | |
autoscale | 创建一个自动选择扩容或缩容并设置Pod数量 |
集群管理命令
命令 | 描述 | 示例 |
---|---|---|
certificate | 修改证书资源 | |
cluster-info | 显示集群信息 | |
top | 显示资源使用(cpu/memory/storage)使用。需要Heapster运行 | |
cordon | 标记节点不可调度 | |
uncordon | 标记节点可调度 | |
drain | 驱逐节点上的应用,准备下线维护 | |
taint | 修改节点taint标记 |
故障和调试命令
命令 | 描述 | 示例 |
---|---|---|
describe | 显示特定资源或资源组的详细信息 | |
logs | 在一个Pod中打印一个容器日志,如果Pod只有一个容器,容器名称可选 | |
attach | 附加到一个运行的容器 | |
exec | 执行命令到容器 | |
port-forward | 转发一个或多个本地端都到一个pod | |
proxy | 运行一个proxy到Kubernetes API server | |
cp | 拷贝文件或目录到容器中 | |
auth | 检查授权 |
互联网老辛 k8s 课程
命令 | 描述 |
---|---|
describe | 显示特定资源或资源组的详细信息 |
01-k8s课程的体系介绍 | https://www.bilibili.com/video/BV1iy4y1t7GW |
02-k8s介绍和特性 | https://www.bilibili.com/video/BV1M64y1S7d1 |
03-k8s学习方法 | https://www.bilibili.com/video/BV1QA411V7Fi |
04-面试题:k8s集群架构的组成 | https://www.bilibili.com/video/BV1YV411n7ke |
05-k8s的核心概念 | https://www.bilibili.com/video/BV1vX4y1g7Nu |
06-一个pod的创建过程详解 | https://www.bilibili.com/video/BV1Gf4y1s7if |
10-kubeadm方式搭建k8s-操作系统初始化 | https://www.bilibili.com/video/BV1D54y1b7HT |
11-kubeadm方式搭建k8s-docker及kubelet的部署 | |
12-kubeadm方式搭建集群-master搭建 | |
13-kubeadm方式搭建集群-安装dashboard | |
14-kubernetes集群命令行工具kubectl | |
15-YAML文件的编写及模板生成 | |
17- pod的实现机制和设计模式 |
01-k8s课程的体系介绍
K8s Kubernetes
课程体系:前置知识:
- Linux基础知识
- Docker : Harbor proetheus CI/CDGilab jenkins
K8s 实战
第一部分:k8s的概念和架构,
第二部分:从零搭建k8S 集群
------ 1.基于客户端方式: kubeadm
------ 2.基于二进制包方式
第三部分:K8S的核心概念
------ Pod ,controller,service,ingress
------ RABC helm持久化存储
第四部分 搭建集群监控平台系统
第五部分 从零开始搭建高可用的k8s集群〔生产)
第六部分 在集群环境中部署项目
------ 打包-部署镜像-放到环境-运行-暴露端口
02-k8s介绍和特性
k8s 功能:
1.自动装箱
2.自我修复
3.水平扩展
4.服务发现 (负载均衡)
5.滚动更新
6.版本回退
7.秘钥和配置管理
8.批处理
9.存储编排
k8s 介绍
2014年google开源了k8s,k8s 是容器化集群系统
k8s 功能
不需要手动部署和大规模回滚及升级操作
k8s 目标
让部署容器化应用更加简洁有效 docker 简单化 自动化
03-k8s学习方法
老辛自学过程:
- docker , docker compose ,harbor
- 使用自动化部署工具完成部署
- k8s 基本概念 ,组件 对象
- 学习addon 一些资源,比如ingress coredns
- yml
- helm
- k8s 自定义安装过程
k8s 官方文档 https://kubernetes.io
中文版 https://kubernetes.io/zh/
文档
https://kubernetes.io/zh/docs/concepts/
- 概念栏 ,全看
- 任务栏,具体任务示例
- 教程栏,有状态应用部署和无状态应用部署案例
- 参考栏, API ,kubectl ,二进制文件启动参数
04-面试题:k8s集群架构的组成
master: 主控节点
-------- api server : 认证、授权、注册等 服务
-------- scheduler : 按照预定策略 对 Node 节点进行调度
-------- controller manager : 故障检测、 自动扩展 等服务
-------- etcd : 数据库
node: worker 节点
-------- kubelet : master 安排 kubelet 来管理 node 节点
-------- kube-proxy : 服务发现 、 负载均衡等 代理服务
05-k8s的核心概念
06-一个pod的创建过程详解
10-kubeadm方式搭建k8s-操作系统初始化
11-kubeadm方式搭建k8s-docker及kubelet的部署
12-kubeadm方式搭建集群-master搭建
13-kubeadm方式搭建集群-安装dashboard
14-kubernetes集群命令行工具kubectl
15-YAML文件的编写及模板生成
17- pod的实现机制和设计模式
指令123
最简单的k8s yml 配置清单
apiVersion: v1
kind: Pod
metadata:
name: nginx-demo
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containersPort: 80
指令大杂烩
------01 查看 minikube 状态
[root@k8s 104 ~]# minikube status
------- 启动 minikube
[root@k8s ~]# minikube start
------ minikube 版本
[root@k8s bin]# minikube version
minikube version: v1.7.3
------02 查看本机docker 状态
[root@k8s ~]# service docker status
[root@k8s ~]# systemctl status docker
------- 查看docker
[root@k8s ~]# docker -v
Docker version 20.10.7, build f0df350
------ 03 查看防火墙状态
[root@k8s ~]# systemctl status firewalld
------04 kubectl 命令 查看相关
------0401 查看kubectl 帮助命令
kubectl --help
kubectl get --help
------0402 查看本机 kubectl 版本
[root@k8s ~]# kubectl version --client
------0403 查看 获取节点和服务版本信息
[root@k8s 104 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready <none> 11d v1.15.0
------- 获取节点和服务版本信息,并查看附加信息
[root@k8s 104 ~]<