Terraform 核心语法与资源管理
· 阅读需 9 分钟
本文将深入介绍 Terraform 的核心语法 HCL(HashiCorp Configuration Language)以及资源管理的核心概念,包括 Resource、Data Source、Provider 等重要组件的使用方法。
Linux 修行之路 · Blog
分享Kubernetes、Linux、Python、网络安全等技术文章
本文将深入介绍 Terraform 的核心语法 HCL(HashiCorp Configuration Language)以及资源管理的核心概念,包括 Resource、Data Source、Provider 等重要组件的使用方法。
本文详细介绍如何部署Kubernetes单控制平面集群,包含环境准备、系统配置、组件安装等完整步骤。
通过命令行实现Liveness检查
# 编写Yaml
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-exec
spec:
containers:
- name: liveness
image: radial/busyboxplus
imagePullPolicy: IfNotPresent
args:
- /bin/sh
- -c
- touch /tmp/healthy; sleep 60; rm -rf /tmp/healthy; sleep 600
livenessProbe:
exec:
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5
periodSeconds: 5
# 验证方法
kubectl exec -it liveness-exec -- ls /tmp
kubectl get pod
通过HTTP Request实现Liveness健康检查
# 编写Yaml文件
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-http
spec:
containers:
- name: liveness
image: seedoflife/liveness
imagePullPolicy: IfNotPresent
args:
- /server
livenessProbe:
httpGet:
path: /healthz
port: 8080
httpHeaders:
- name: X-Custom-Header
value: Awesome
initialDelaySeconds: 3
periodSeconds: 3
# 验证方法
curl -v <Pod IP>:<Port>
kubectl get pod
通过tcpSocket实现ReadInessProbe + Service的健康检查
# 编写Yaml文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: service-health
spec:
replicas: 1
selector:
matchLabels:
app: service-health
template:
metadata:
labels:
app: service-health
spec:
containers:
- name: service-health
image: python:2.7
imagePullPolicy: IfNotPresent
command: ["/bin/bash","-c","echo $(hostname) > index.html && sleep 30 && python -m SimpleHTTPServer 8080"]
ports:
- containerPort: 8080
readinessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
# 创建Service
kubectl expose deployment service-health --port=8080
# 验证方法
kubectl get service
kubectl scale deployment service-health --replicas=4
curl <ClusterIP>:<Port>