0%

使用k8s

起源

1.工作中测试和生产使用了k8s环境。
2.k8s集群资源利用率高,对docker容器管理方便。

流程简介

目前所熟悉的开发到部署的流程。流程如下:

1
本地 --> gitlab --> jenkins --> k8s

1. 本地开发完成后推送到gitlab。
2. jenkins 使用pipeline-Script 编写脚本。(主要是使用脚本实现)
   2.1 获取gitlab代码。获取配置文件。
   2.2 根据配置文件tag,编译docker镜像。
   2.3 登录远程镜像仓库,push镜像。
   2.4 ssh自动登录k8s master节点,kubectl set image从远程镜像仓库滚动更新k8s容器镜像。
3. k8s 运行deployment和service。

k8s使用简介

建议新手自搭k8s集群。
初始化创建,通过yaml创建deployment。
Deployment代码redis-test-deploy.yaml实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx #可以使用自己的web镜像仓库
ports:
- containerPort: 80

kubectl create -f redis-test-deploy.yaml
Service代码redis-test-svc.yaml实例:

1
2
3
4
5
6
7
8
9
10
11
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: NodePort #访问方式
selector:
app: nginx
ports:
- port: 80
targetPort: 80

type:外部访问方式 原文链接 译文链接
kubectl create -f redis-test-svc.yaml

自此,整个简单的开发到部署k8s流程已经简要介绍。后续还有许多将深入学习。

感谢

http://dockone.io/article/4884
https://kubernetes.io/docs/tutorials/kubernetes-basics