云原生的概念和理论体系很是的完备,but talk is cheap , show me the code ! 可是做为一名程序员,能动手的咱绝对很少BB,虽然talk并不cheap , 能跟不一样层次的人讲明白一件事情,自己就不是一件容易的事情。
引题用的图的意思: hello world !
即部署你的第一个k8s应用。html
初略的步骤,实际每一个步骤作到都不简单,能够进一步拆分红不少二级步骤;后面安排单独的一篇来介绍。
为了节约时间,这里直接放一个nginx的例子。
nginx
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: 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: {}
kubectl apply -f you.yaml
kubectl get pods -l app=xxx
kubectl describe pod youpodname
kubectl exec -it youpodname -- /bin/bash
kubectl delete -f you.yaml kubectl delete deployments/youdeploymentname
定义多副本的对象,当pod的定义发生变化的时候,滚动升级
程序员
k8s世界中的应用,对应容器组,容器组里面有多个
shell
元数据, 分为面向用户的label 和面向内部对象的annotation ;
api
即定义,每一个对象的元素不同,好比deployment 和 pod ;
bash
即数据卷。 相对于pod来讲,有两种数据卷、
emptyDir: 宿主机上的默认目录
hostPath: 显示指定的宿主机的目录;
app
开发人员开发完程序以后,提供两个文件跟运维对接,提升devops体验;
Dockerfile : 制做镜像,标准化开发和部署环境;
app.yaml: k8s的部署配置文件,标准化部署配置参数;
运维
原创不易,关注诚难得,转发价更高!转载请注明出处,让咱们互通有无,共同进步,欢迎沟通交流。