云原生的概念和理论体系十分的齐备,but talk is cheap , show me the code ! 然而作为一名程序员,能入手的咱相对不多BB,尽管talk并不cheap , 能跟不同档次的人讲明确一件事件,自身就不是一件容易的事件。
引题用的图的意思: hello world !
即部署你的第一个k8s利用。
部署步骤
- 筹备你的应用程序;
- 编写Dockerfile,制作镜像,并测试;
- 编写yaml文件,找一个k8s资源,部署上线;
初略的步骤,理论每个步骤做到都不简略,能够进一步拆分成很多二级步骤;前面安顿独自的一篇来介绍。
为了节约工夫,这里间接放一个nginx的例子。
apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: selector: matchLables: app: nginx replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 volumeMounts: - mountPath: "/usr/share/nginx/html" name: nginx-vol volumes: - name: nginx-vol emptyDir: {}
k8s相干指令
执行指令
kubectl apply -f you.yaml
依照标签筛选pod
kubectl get pods -l app=xxx
查看pod对象定义
kubectl describe pod youpodname
进入容器外部
kubectl exec -it youpodname -- /bin/bash
删除对象
kubectl delete -f you.yamlkubectl delete deployments/youdeploymentname
k8s相干概念
deployment
定义多正本的对象,当pod的定义发生变化的时候,滚动降级
pod
k8s世界中的利用,对应容器组,容器组外面有多个
metadata
元数据, 分为面向用户的label 和面向外部对象的annotation ;
spec
即定义,每个对象的元素不一样,比方deployment 和 pod ;
volume
即数据卷。 绝对于pod来说,有两种数据卷、
emptyDir: 宿主机上的默认目录
hostPath: 显示指定的宿主机的目录;
devops思考
开发人员开发完程序之后,提供两个文件跟运维对接,进步devops体验;
Dockerfile : 制作镜像,标准化开发和部署环境;
app.yaml: k8s的部署配置文件,标准化部署配置参数;
小结
原创不易,关注诚可贵,转发价更高!转载请注明出处,让咱们互通有无,共同进步,欢送沟通交流。