我StorageClass为aws eks集群(3 个节点)定义了以下内容
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: aws-gp2
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
zones: us-west-2a, us-west-2b, us-west-2c, us-west-2d
fsType: ext4
reclaimPolicy: Retain
allowVolumeExpansion: true
Run Code Online (Sandbox Code Playgroud)
并让eks节点在us-west-2a, us-west-2b, us-west-2c区域中运行。
当我尝试mysql使用动态持久卷进行部署时
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: mysql-pv-claim
namespace: default
labels:
app: mysql
env: prod
spec:
storageClassName: aws-gp2
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
kind: Deployment
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/12.2.0(Terraform AWS EKS 提供商)
工作节点和节点组有什么区别?
我有一个名为cluster-main的 EKS 集群 (AWS)正在运行
集群中有两个节点组
| 集群名称 | 实例类型 | AMI类型 |
|---|---|---|
| 通用节点组 | t3a.中 | AL2_x86_64 |
| 内存节点组 | r5a.大号 | AL2_x86_64 |
这些组中的节点工作正常。
我正在尝试添加一个由 ARM 实例组成的新节点组
| 集群名称 | 实例类型 | AMI类型 |
|---|---|---|
| cpu 节点组 | c6g.xlarge | AL2_ARM_64 |
但由于以下问题,该组的节点陷入Not Ready状态,无法创建节点组
Conditions:
| 类型 | 地位 | 最后心跳时间 | 最后转换时间 | 原因 | 信息 |
|---|---|---|---|---|---|
| 准备好 | 错误的 | 2021 年 5 月 31 日星期一 08:40:22 -0400 | 2021 年 5 月 31 日星期一 08:38:21 -0400 | Kubelet未就绪 | 运行时网络未准备好:NetworkReady=false 原因:NetworkPluginNotReady 消息:docker:网络插件未准备好:cni 配置未初始化 |
当我通过 SSH 连接到 EC2 …
我继续参考以下站点进行工作\n(我不使用 EKS。我使用 kops 在 ec2 上创建 k8s)
\n\n当我尝试打电话时,kubectl get service我收到消息:error: You must be logged in to the server (Unauthorized)
这是我所做的:
\n设置IAM用户(创建用户并添加角色)
\n集群状态存储(S3)
\n准备本地环境
\nexport NAME=myfirstcluster.example.com \nexport KOPS_STATE_STORE=s3://prefix-example-com-state-store\nRun Code Online (Sandbox Code Playgroud)\n创建集群配置kops create cluster--zones=us-west-2a${NAME}
构建集群kops update cluster ${NAME} --yes
\xe2\x98\x85成功\xe2\x98\x85
\nkubectl get nodes,我不断收到错误:You must be logged in to the server (Unauthorized) …