You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This discussion was converted from issue #15 on June 09, 2023 03:10.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Docker
容器管理
启动容器
进入容器(运行 Shell)
停止、重启容器
查看容器
查看容器元信息
docker inspect c7337 docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337
删除所有停止的容器
docker rm $(docker ps --filter status=exited -q)
导出容器(为文件)
镜像管理
创建镜像
删除无用镜像
查看镜像
打标签、推送镜像
容器打包为镜像
导出/ 导出镜像(为文件)
卷管理
创建本地卷
挂载卷到容器(卷:容器目录)
查看所有卷
网络管理
创建本地网络
绑定网络到容器
容器连接网络
调试、问题排查
在容器中启动另一个进程
docker exec -it c7337 bash
查看日志
查看暴露的端口
查看磁盘占用
清理磁盘
docker system prune # 慎用,会清理磁盘,删除关闭的容器、无用的数据卷和网络
Docker Compose
Docker Compose 的命令可能需要在项目目录下执行。
查看版本
启动应用
删除容器
docker-compose down # 删除容器
启动/ 停止容器
查看相关容器、镜像
执行交互式 Shell
Kubernetes
Kubernetes 对象指的是 Pod、Service、Deployment、ReplicationController、Job、Node、Ingress、PersistentVolumn 等。
基本信息
查看 kubectl 版本
查集群信息
查对象详细信息
查对象(Namespace、Pod、Service、Deployment、ReplicationController、Node 等)信息
查看已部署的 Pod 完整定义
使用 JSONPath(截取必要信息)
查看 API 对象的可用属性(yaml 字段)
Pod、容器操作
在已存在的 Pod 容器上执行命令
进入容器 Shell
kubectl exec -it kubi a-3inly bash
配置管理
创建 ConfigMap
应用部署
直接启动
从配置文件创建、替换对象
kubect1 create/replace -f kubia-manual.yml kubect1 apply -f kubia-manual.yml # 更建议使用 apply,不会删除原有的对象再创建,而是直接在原有的基础上更新
删除对象
端口映射(宿主机端口:Pod 端口)
修改标签、注解
应用升级
扩容、缩容(客户端模式,已过时)
扩容、缩容到指定副本数
从 yaml 创建部署
kubect1 create -f kubia-deployent-vl.yaml --record # --record 记录历史版本号
通过完整的 yaml 或 json 文件修改对象
修改单个属性(打补丁),不会触发更新
kubectl patch deployment kubia -p '{"spec": {"minReadySeconds": 10}}'
编辑配置,保存后触发更新
kubectl edit re kubia # 使用默认编辑器(可通过环境变量指定,比如 export KBE_EDITOR="/usr/bin/nano")
更新镜像,自动触发更新
kubectl set image deploy kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
暂停、恢复升级
回滚升级
查看部署状态、历史
kubectl rollout status deployment kubia kubectl rollout history deployment kubia
调试、问题排查
查看日志
启动并测试通过 yaml 定义的 Service
Dashboard
查看 Dashboard Web 页面 URL
kubectl cluster-info | grep dashboard
查看登录密码(一般用户 read-user/ 管理员 admin-user)
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
集群安全
创建 secret
API Server
外部访问 API Server
运行代理服务
kubectl proxy # 先运行代理服务,用于转发 HTTP 请求到 API Server
请求 API
Pod 内访问 API Server
查看 API Server 地址
查看 secret 挂载卷文件(ca.crt、namespace、token)
在 Pod 中指定证书、验证服务器身份(客户端信任 API Server 的身份)
获得 API Server 授权(API Server 确认客户端的身份)、访问资源
获取当前 Pod 所在命名空间所有 Pod
Vagrant
其实 Vagrant 与 Docker、K8S 无关,只是用来管理虚拟机、方便搭建测试环境而已。
全局管理
查看所有虚拟机
查看所有 box(镜像)
销毁指定虚拟机
vagrant destroy [vmName|vmId]
推送 box 到仓库
删除 box
更新 box
当前虚拟机
初始化
启动、关闭、删除虚拟机
SSH 连接虚拟机
更改并应用虚拟机配置
打包虚拟机为 box
更新 box 版本
查看虚拟机状态
Vagrantfile
Beta Was this translation helpful? Give feedback.
All reactions