Kubernetes(K8S)是一个可以帮助我们管理微服务(microservices)的系统,他可以自动化地部署及管理多台机器上的多个容器(Container)。简单来说,他可以做到:
虚拟机布建方法vs货柜布建方法布建方法 :
安装好Docker的virtualbox VM
准备Repository
安装kubeadm(自动布署工具),kubelet(管理Pods),kubectl(人机介面)
确认版本
下载Kubernetes建置相关Image档案
指定安装特定版本
Eample1:
a : 1
b :
b-1 : 2
c :
- c-1 : 3
c-2 : 4
---
Eample2 : 5
apiVersion: apps/v1
kind: Deployment
metadata:
name: demoapp
spec:
replicas: 3
template:
metadata:
labels:
app: demoapp
spec:
containers:
- name: qbc
image: hcwxd/kubernetes-demo
ports:
- containerPort: 3000
selector:
matchLabels:
app: demoapp
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: demoapp
type: NodePort
ports:
- protocol: TCP
targetPort: 3000
port: 3001
nodePort: 30390
apiVersion: v1
kind: Service
metadata:
name: blue-service
spec:
selector:
app: blue-nginx
type: NodePort
ports:
- protocol: TCP
port: 80
targetPort: 3000
---
apiVersion: v1
kind: Service
metadata:
name: purple-service
spec:
selector:
app: purple-nginx
type: NodePort
ports:
- protocol: TCP
port: 80
targetPort: 3000
apiVersion: apps/v1
kind: Deployment
metadata:
name: blue-nginx
spec:
replicas: 2
template:
metadata:
labels:
app: blue-nginx
spec:
containers:
- name: nginx
image: hcwxd/blue-whale
ports:
- containerPort: 3000
selector:
matchLabels:
app: blue-nginx
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: purple-nginx
spec:
replicas: 2
template:
metadata:
labels:
app: purple-nginx
spec:
containers:
- name: nginx
image: hcwxd/purple-whale
ports:
- containerPort: 3000
selector:
matchLabels:
app: blue-nginx
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web
spec:
rules:
- host: blue.demo.com
http:
paths:
- backend:
serviceName: blue-service
servicePort: 80
- host: purple.demo.com
http:
paths:
- backend:
serviceName: purple-service
servicePort: 80
replicaCount: 2
image:
repository: hcwxd/blue-whale
service:
type: NodePort
port: 80
ingress:
enabled: true
hosts:
- host: blue.demo.com
paths: [/]
serviceAccount:
create: false
autoscaling:
enabled: false
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "demo.fullname" . }}
spec:
replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
app: {{ include "demo.fullname" . }}
spec:
containers:
- name: {{ .Chart.Name }}
image: '{{ .Values.image.repository }}‘
ports: - containerPort: 3000
selector:
matchLabels:
app: {{ include "demo.fullname" . }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "demo.fullname" . }}
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: 3000
protocol: TCP
selector:
app: {{ include "demo.fullname" . }}
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "demo.fullname" . -}}
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web #{{ $fullName }}
spec:
rules:
{{- range .Values.ingress.hosts }}
- host: {{ .host | quote }}
http:
paths:
{{- range .paths }}
- backend:
serviceName:
test-demo #{{ $fullName }}
servicePort: 80
{{- end }}
{{- end }}
{{- end }}
https://github.com/HcwXd/kubernetes-tutorial
>>: Day5 参加职训(机器学习与资料分析工程师培训班),Python程序设计
Coroutine 是非同步程序的解决方案,我们将耗时的任务置放在 suspend 函式中,在正常的...
今天来讲讲两个之後会用到的两个小观念: The Global Object &Function Ex...
今天,我们来介绍一下常见的基本型别吧~ 基本型别 - 整数型别 - int int 型态是有正负号的...
观察的视角 我们要如何描述一个系统呢? 可以从不同的角度观察,好比瞎子摸象,你摸到甚麽部位,系统就像...
在学习JS的路上意外接触到了递回的概念,一开始觉得这是什麽鬼东西,回圈用的好端端的,为什麽需要学习难...