资源对象环境示例

一.Kubeadm 示例环境
原则:
(1) 基础设施即代码:所有环境描述文件、配置(包括 nginx 配置)等都要以代码方式
存放在 Gitlab 上
(2) 环境隔离:物理和逻辑上的隔离
在 kube-apiserver 上执行:
注:如果下文没有说在哪台机器上执行,默认是在 kube-apiserver 上执行。

  1. 创建出相关的目录结构
    产品线(业务线)
    a) 应用(业务线 项目 应用,dockerfile)
    b) 环境(集群和默认空间,env)
    应用实例
    二.资源示例
    CASE1:pod 的控制器类型
    需求:rc,rs 和 deployment 的应用

pwd

/opt/k8s-data/kubeadm-yaml/case1

tree

.
├── deployment.yml
├── rc.yml
└── rs.yml
CASE2:Service 和 deployment 实现一个 nginx
跑一个应用:

pwd

/opt/k8s-data/kubeadm-yaml/case2

tree

.
├── 1-deploy_node.yml
├── 2-svc_service.yml
└── 3-svc_NodePort.yml
https://kubernetes.io/zh/docs/concepts/storage/volumes/#emptydir
CASE3:emptyDir
https://kubernetes.io/zh/docs/concepts/storage/volumes/#emptydir

tree

.
└── deploy_empty.yml

kubectl exec -it nginx-deployment-7cc86d98d5-mrmqs bash

root@nginx-deployment-7cc86d98d5-mrmqs:/# ls /cache/
root@nginx-deployment-7cc86d98d5-mrmqs:/# touch /cache/linux39.txt
root@nginx-deployment-7cc86d98d5-mrmqs:/# cat /etc/passwd > /cache/linux39.txt
root@k8s-master1:/var/lib/docker# kubectl get pod -o wide #查找 pod 所在宿主机
node 节点验证数据:
root@k8s-node2:~# find / -name linux39.txt
/var/lib/kubelet/pods/35588600-a348-4e56-ba08-
7f83bd03a0c1/volumes/kubernetes.io~empty-dir/cache-volume/linux39.txt
删除 pod 验证数据:

kubectl delete -f deploy_empty.yml

deployment.apps “nginx-deployment” deleted
数据跟随 pod 一同被删除:
root@k8s-node2:~# cat /var/lib/kubelet/pods/35588600-a348-4e56-ba08-
7f83bd03a0c1/volumes/kubernetes.io~empty-dir/cache-volume/linux39.txt
cat: /var/lib/kubelet/pods/35588600-a348-4e56-ba08-
7f83bd03a0c1/volumes/kubernetes.io~empty-dir/cache-volume/linux39.txt: No such
file or directory
CASE4:hostPath
https://kubernetes.io/zh/docs/concepts/storage/volumes/#hostpath

tree

.
└── deploy_hostPath.yml
进入容器生成数据:

kubectl exec -it nginx-deployment-7c759f97d4-5ql6t bash

root@nginx-deployment-7c759f97d4-5ql6t:/# echo “test data” > /cache/a.txt
到指定宿主机验证数据:
root@k8s-node2:~# cat /tmp/linux39/a.txt
test data
删除 pod 再次验证数据是否会丢失:

kubectl delete -f deploy_hostPath.yml

deployment.apps “nginx-deployment” deleted

cat /tmp/linux39/a.txt

test data
CASE5:nfs Volume
https://kubernetes.io/zh/docs/concepts/storage/volumes/#nfs

tree

.
├── deploy_nfs2.yml
└── deploy_nfs.yml
CASE6: configmap
https://kubernetes.io/zh/docs/concepts/storage/volumes/#configmap
6.1 作为配置文件挂载:

tree

.
├── deploy_configmapenv.yml
└── deploy_configmap.yml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值