k8s操作手册
k8s相关
使用到的概念:
ConfigMap:资源对象,用于存储非机密的数据,以键值对的形式保存。(作为卷挂载,容器可以通过访问特定的文件路径来读取配置)
Deployments:用于管理和扩展应用程序的 Pod 实例
Pod: 在 Kubernetes 中,Pod 是最小的部署单元。(与docker不一样,pod可以部署一个到多个docker容器提供更复杂的环境)
以迁移elk为例
线上操作(以rancher为例)
流程:先迁移相关configMap , 再迁移deployment ,最后检查pod运行状态
正常来说一般情况下以面板操作为主
configmap复制流程:
(rancher下无法使用文件直接导入,每个pod都需要手动复制)
查看对应configMap项下,是否存在vpc直连情况,存在直连时需要修改地址
deployment节点复制流程:
configMap(可以在deployment下查看相关联的configMap)
复制development,通过yaml配置查看对应的配置
删除对应的版本号(resourseVersion)
修改有可能的静态ip(跟运维确定)
注意查看可能的关联关系(与configMap)
2. 注意查看是否存在静态ip
命令行操作
命令行操作通常是在racher新创建集群时,用户权限没有及时同步,所以有些内容无法正常显示的时候用
下载对应配置文件(yaml),或找到自己的配置文件
后面所有操作都加上 --kubeconfig xxxx.yaml 即使用该配置文件操作
后面所有操作都加上 -n xxx 使用某某命名空间操作
如获取data-maintain命名空间下的所有pods
kubectl get pods -n data-maintain --kubeconfig xxx.yaml
常见指令(注意操作时都应该加上命名空间和配置文件,可提前指定)【第一条是全带,后面省略】
configMap相关
kubectl create configmap 【name】 --from-file=【file】 -n data-maintain --kubeconfig 【file】 创建configMap
kubectl get configmaps 获取所有configMap
kubectl delete configmap 【configMapName】 删除指定的configmap
kubectl apply -f 【file】 根据yaml文件识别一键添加(config文件会连粘在一起)
deployment相关(大同小异
kubectl get deployments
kubectl delete deployment elk-log-logstash -n data-maintain --kubeconfig ns-aicoin-data.yaml
kubectl apply -f config.yaml -n data-maintain --kubeconfig ns-aicoin-data.yaml
pod相关
kubectl logs【podName】 查看pod日志
kubectl get pods 获取所有的pod