K8S & EKS 简介与实践
Posted 踏破四方猪脚部
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S & EKS 简介与实践相关的知识,希望对你有一定的参考价值。
EKS
Pod
Deployment & ReplicaSets & Service
apiVersion : apps/v1
kind : Deployment
metadata :
# 指定deployment的名称
name : nginx
labels :
servicename : nginx
namespace : default
spec :
# 期望创建的pod数
replicas : 3 # r5.large的单node最大pod数为29(包括系统pod)
selector :
# 选择label来创建实例
matchLabels :
servicename : nginx
strategy : # 策略
rollingUpdate : # 滚动更新
maxSurge : 1 # 最大额外可以存在的副本数,可以为百分比,也可以为整数
maxUnavailable : 1 # 示在更新过程中能够进入不可用状态的 Pod 的最大值,可以为百分比,也可以为整数
type : RollingUpdate # 滚动更新策略
template :
metadata :
labels :
servicename : nginx
spec :
containers :
- name : nginx
image : nginx :1.19.2
ports :
- containerPort : 80
resources :
requests :
cpu : "0.1"
memory : 32Mi
limits :
cpu : "1"
memory : 2048Mi
# https://kubernetes.io/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
# https://kubernetes.io/zh/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
# startupProbe目前是 v1.16 [alpha] 状态,暂不启用
livenessProbe :
httpGet :
path : / ?from=k8slivenessProbe
port : 80
initialDelaySeconds : 10 # 容器启动后要等待多少秒后存活和就绪探测器才被初始化,默认是 0 秒,最小值是 0。
periodSeconds : 10 # 执行探测的时间间隔(单位是秒)。默认是 10 秒。最小值是 1。
timeoutSeconds : 5 # 探测的超时后等待多少秒。默认值是 1 秒。最小值是 1。
successThreshold : 1 # 探测器在失败后,被视为成功的最小连续成功数。默认值是 1。存活探测的这个值必须是 1。最小值是 1。
failureThreshold : 3 # 当探测失败时,Kubernetes 的重试次数。存活探测情况下的放弃就意味着重新启动容器。就绪探测情况下的放弃 Pod 会被打上未就绪的标签。默认值是 3。最小值是 1。
readinessProbe :
httpGet :
path : / ?from=k8sreadinessProbe
port : 80
initialDelaySeconds : 0 # 容器启动后要等待多少秒后存活和就绪探测器才被初始化,默认是 0 秒,最小值是 0。
periodSeconds : 10 # 执行探测的时间间隔(单位是秒)。默认是 10 秒。最小值是 1。
timeoutSeconds : 5 # 探测的超时后等待多少秒。默认值是 1 秒。最小值是 1。
successThreshold : 1 # 探测器在失败后,被视为成功的最小连续成功数。默认值是 1。存活探测的这个值必须是 1。最小值是 1。
failureThreshold : 3 # 当探测失败时,Kubernetes 的重试次数。存活探测情况下的放弃就意味着重新启动容器。就绪探测情况下的放弃 Pod 会被打上未就绪的标签。默认值是 3。最小值是 1。
lifecycle :
preStop :
exec :
# 该命令会在业务容器中执行,如果容器中没有sleep命令,则会直接失败,不会等待30s
command :[ "sleep" , "30" ]
terminationGracePeriodSeconds : 60
# nodeSelector:
# alpha.eksctl.io/nodegroup-name: ng-workers-1
网络
日志收集
金丝雀发布
有状态服务
以上是关于K8S & EKS 简介与实践的主要内容,如果未能解决你的问题,请参考以下文章
Amazon EKS 与 JFrog Artifactory容器化CI/CD发布的最佳实践
Day920.结构化日志&业务审计日志 -SpringBoot与K8s云原生微服务实践