Updates cloud-native/kubernetes-and-cloud-native-app-overview.md
Auto commit by GitBook Editorpull/243/head
parent
933d3ff988
commit
6a3eb0db1e
|
@ -167,7 +167,7 @@ Kubernetes提供了多种资源对象,用户可以根据自己应用的特性
|
||||||
|
|
||||||
| 类别 | 名称 |
|
| 类别 | 名称 |
|
||||||
| :--- | --- |
|
| :--- | --- |
|
||||||
| 资源对象 | Pod、ReplicaSet、ReplicationController、Deployment、StatefulSet、DaemonSet、Job、CronJob、HorizontalPodAutoscaling |
|
| 资源对象 | Pod、ReplicaSet、ReplicationController、Deployment、StatefulSet、DaemonSet、Job、CronJob、HorizontalPodAutoscaler |
|
||||||
| 配置对象 | Node、Namespace、Service、Secret、ConfigMap、Ingress、Label、CustomResourceDefinition、 ServiceAccount |
|
| 配置对象 | Node、Namespace、Service、Secret、ConfigMap、Ingress、Label、CustomResourceDefinition、 ServiceAccount |
|
||||||
| 存储对象 | Volume、Persistent Volume |
|
| 存储对象 | Volume、Persistent Volume |
|
||||||
| 策略对象 | SecurityContext、ResourceQuota、LimitRange |
|
| 策略对象 | SecurityContext、ResourceQuota、LimitRange |
|
||||||
|
@ -193,7 +193,7 @@ Kubernetes 对象是 “目标性记录” —— 一旦创建对象,Kubernete
|
||||||
|
|
||||||
## 管理Kubernetes集群
|
## 管理Kubernetes集群
|
||||||
|
|
||||||
手工部署Kubernetes是一个很艰巨的活,你需要了解网络配置、docker的安装与使用、镜像仓库的构建、角色证书的创建、kubernetes的基本原理和构成、kubernetes应用程序的yaml文件编写等。
|
手工部署Kubernetes是一个很艰巨的活,你需要了解网络配置、Docker的安装与使用、镜像仓库的构建、角色证书的创建、Kubernetes的基本原理和构成、Kubernetes应用程序的yaml文件编写等。
|
||||||
|
|
||||||
我编写了一本[kubernetes-handbook](https://jimmysong.io/kubernetes-handbook/)可供大家免费阅读,该书记录了本人从零开始学习和使用Kubernetes的心路历程,着重于经验分享和总结,同时也会有相关的概念解析,希望能够帮助大家少踩坑,少走弯路。
|
我编写了一本[kubernetes-handbook](https://jimmysong.io/kubernetes-handbook/)可供大家免费阅读,该书记录了本人从零开始学习和使用Kubernetes的心路历程,着重于经验分享和总结,同时也会有相关的概念解析,希望能够帮助大家少踩坑,少走弯路。
|
||||||
|
|
||||||
|
@ -209,9 +209,9 @@ Kubernetes 对象是 “目标性记录” —— 一旦创建对象,Kubernete
|
||||||
* Flanneld 0.7 vxlan 网络
|
* Flanneld 0.7 vxlan 网络
|
||||||
* TLS 认证通信 \(所有组件,如 etcd、kubernetes master 和 node\)
|
* TLS 认证通信 \(所有组件,如 etcd、kubernetes master 和 node\)
|
||||||
* RBAC 授权
|
* RBAC 授权
|
||||||
* kublet TLS BootStrapping
|
* kubelet TLS BootStrapping
|
||||||
* kubedns、dashboard、heapster\(influxdb、grafana\)、EFK\(elasticsearch、fluentd、kibana\) 集群插件
|
* kubedns、dashboard、heapster\(influxdb、grafana\)、EFK\(elasticsearch、fluentd、kibana\) 集群插件
|
||||||
* 私有docker镜像仓库[harbor](https://github.com/vmware/harbor)(请自行部署,harbor提供离线安装包,直接使用docker-compose启动即可)
|
* 私有Docker镜像仓库[Harbor](https://github.com/vmware/harbor)(请自行部署,Harbor提供离线安装包,直接使用docker-compose启动即可)
|
||||||
|
|
||||||
**步骤介绍**
|
**步骤介绍**
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@ Kubernetes 对象是 “目标性记录” —— 一旦创建对象,Kubernete
|
||||||
|
|
||||||
### 服务发现与负载均衡
|
### 服务发现与负载均衡
|
||||||
|
|
||||||
Kubernetes在设计之初就充分考虑了针对容器的服务发现与负载均衡机制,提供了Service资源,并通过kube-proxy配合cloud provider来适应不同的应用场景。随着kubernetes用户的激增,用户场景的不断丰富,又产生了一些新的负载均衡机制。目前,kubernetes中的负载均衡大致可以分为以下几种机制,每种机制都有其特定的应用场景:
|
Kubernetes在设计之初就充分考虑了针对容器的服务发现与负载均衡机制,提供了Service资源,并通过kube-proxy配合cloud provider来适应不同的应用场景。随着Kubernetes用户的激增,用户场景的不断丰富,又产生了一些新的负载均衡机制。目前,Kubernetes中的负载均衡大致可以分为以下几种机制,每种机制都有其特定的应用场景:
|
||||||
|
|
||||||
* **Service**:直接用Service提供cluster内部的负载均衡,并借助cloud provider提供的LB提供外部访问
|
* **Service**:直接用Service提供cluster内部的负载均衡,并借助cloud provider提供的LB提供外部访问
|
||||||
* **Ingress**:还是用Service提供cluster内部的负载均衡,但是通过自定义LB提供外部访问
|
* **Ingress**:还是用Service提供cluster内部的负载均衡,但是通过自定义LB提供外部访问
|
||||||
|
@ -248,8 +248,8 @@ Kubernetes在设计之初就充分考虑了针对容器的服务发现与负载
|
||||||
2. 将代码提交到远程仓库
|
2. 将代码提交到远程仓库
|
||||||
3. 用户在发布应用时需要填写git仓库地址和分支、服务类型、服务名称、资源数量、实例个数,确定后触发Jenkins自动构建
|
3. 用户在发布应用时需要填写git仓库地址和分支、服务类型、服务名称、资源数量、实例个数,确定后触发Jenkins自动构建
|
||||||
4. Jenkins的CI流水线自动编译代码并打包成docker镜像推送到Harbor镜像仓库
|
4. Jenkins的CI流水线自动编译代码并打包成docker镜像推送到Harbor镜像仓库
|
||||||
5. Jenkins的CI流水线中包括了自定义脚本,根据我们已准备好的kubernetes的YAML模板,将其中的变量替换成用户输入的选项
|
5. Jenkins的CI流水线中包括了自定义脚本,根据我们已准备好的Kubernetes的YAML模板,将其中的变量替换成用户输入的选项
|
||||||
6. 生成应用的kubernetes YAML配置文件
|
6. 生成应用的Kubernetes YAML配置文件
|
||||||
7. 更新Ingress的配置,根据新部署的应用的名称,在ingress的配置文件中增加一条路由信息
|
7. 更新Ingress的配置,根据新部署的应用的名称,在ingress的配置文件中增加一条路由信息
|
||||||
8. 更新PowerDNS,向其中插入一条DNS记录,IP地址是边缘节点的IP地址。关于边缘节点,请查看[边缘节点配置](https://jimmysong.io/kubernetes-handbook/practice/edge-node-configuration.html)
|
8. 更新PowerDNS,向其中插入一条DNS记录,IP地址是边缘节点的IP地址。关于边缘节点,请查看[边缘节点配置](https://jimmysong.io/kubernetes-handbook/practice/edge-node-configuration.html)
|
||||||
9. Jenkins调用kubernetes的API,部署应用
|
9. Jenkins调用kubernetes的API,部署应用
|
||||||
|
|
Loading…
Reference in New Issue