阿里云上自建k8s挂载ali nas@TOC

k8s nas ali

基础环境:
阿里云上两台ecs搭建k8s平台,版本信息:
k8s: 1.23.5
docker: 20.10.7
ubuntu: 20.04

目标

将阿里云上nas 通过 storageclass 挂载到K8s集群中,为pod提供服务。

步骤

首先安装controller,再启动 storageclass 再启用一个pvc作为测试,目前查到的阿里云上示例及其他网上文档均无直接可用的yaml,经过debug形成了一套可用的脚本。脚本跑完后有个坑,看文档最后。

controller 及 sc yaml文件

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: alicloud-nas
provisioner: alicloud/nas
---
apiVersion: v1
kind: ServiceAccount
metadata:name: alicloud-nas-controllernamespace: kube-system
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: alicloud-disk-controller-runner
rules:-  apiGroups: [""]resources: ["persistentvolumes"]verbs: ["get", "list", "watch", "create", "delete"]-  apiGroups: [""]resources: ["persistentvolumeclaims"]verbs: ["get", "list", "watch", "update"]-  apiGroups: ["storage.k8s.io"]resources: ["storageclasses"]verbs: ["get", "list", "watch"]-  apiGroups: [""]resources: ["events"]verbs: ["watch", "create", "update", "patch"]-  apiGroups: [""]resources: ["services", "endpoints"]verbs: ["get","create","list", "watch","update"]-  apiGroups: ["extensions"]resources: ["podsecuritypolicies"]resourceNames: ["nfs-provisioner"]verbs: ["use"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: run-alicloud-nas-controller
subjects:- kind: ServiceAccountname: alicloud-nas-controllernamespace: kube-system
roleRef:kind: ClusterRolename: alicloud-disk-controller-runnerapiGroup: rbac.authorization.k8s.io
---
kind: Deployment
apiVersion: apps/v1
metadata:name: alicloud-nas-controllernamespace: kube-system
spec:selector:matchLabels:app: alicloud-nas-controllerreplicas: 1strategy:type: Recreatetemplate:metadata:labels:app: alicloud-nas-controllerspec:tolerations:- effect: NoScheduleoperator: Existskey: node-role.kubernetes.io/master- effect: NoScheduleoperator: Existskey: node.cloudprovider.kubernetes.io/uninitializednodeSelector:node-role.kubernetes.io/master: ""serviceAccount: alicloud-nas-controllercontainers:- name: alicloud-nas-controllerimage: registry.cn-hangzhou.aliyuncs.com/acs/alicloud-nas-controller:v1.8.4volumeMounts:- mountPath: /persistentvolumesname: nfs-client-rootenv:- name: PROVISIONER_NAMEvalue: alicloud/nas- name: NFS_SERVERvalue: ************************.nas.aliyuncs.com //替换为nas url- name: NFS_PATHvalue: /volumes:- name: nfs-client-rootnfs:server: ***************.nas.aliyuncs.com  //替换为nas urlpath: /

测试用pvc yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata: name: nas-csi-pvc
spec:accessModes:- ReadWriteMany storageClassName: alicloud-nasresources: requests:storage: 20Mi

排障

创建pvc时一直pending,查看 nas controller log发现报错unexpected error getting claim reference: selfLink was empty, can‘t make referece

通过网上查询原因如下:
kubernetes 1.20以后版本 禁用了 selfLink。
解决方法:

编辑/etc/kubernetes/manifests/kube-apiserver.yaml在这里:

spec:containers:- command:- kube-apiserver

添加这一行:

- --feature-gates=RemoveSelfLink=false

apiserver是静态pod,修改yaml文件后会自动重启,等待重启完成再看pvc已是bound状态。

阿里云上自建k8s挂载ali nas相关推荐

  1. 如何在阿里云上构建一个合适的Kubernetes集群

    摘要: 声明 本文主要介绍如何在阿里云上构建一个K8S集群的实践,只是作为参考,大家可以根据实际情况做出调整. 集群规划 在实际案例中发现,有不少同学使用了很多的小规格的ECS来构建K8S集群,这样其 ...

  2. oracle rds 运维服务_从运维的角度分析使用阿里云数据库RDS的必要性–你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库...

    开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...

  3. 54元阿里云上建站详细步骤

    欢迎访问建立的新站icodes.ren 由来 在之前的文章个人建站里,记录了在免费托管空间byethost里托管自己的网站.玩的稍微熟悉了点之后,发现这个网站访问还是比较慢的,而且控制面板什么的都是英 ...

  4. 阿里云上的k8s中某些节点的pod报dns错误,dns解析失败,bad address

    php报错为:php_network_getaddresses:getaddrinfo failed 问题可能出现的位置 这类问题对应的都是dns解析错误.这里我的错误是因为我连接阿里云数据库用的域名 ...

  5. 在阿里云上部署生产级别Kubernetes集群

    阿里云是国内非常受欢迎的基础云平台,随着Kubernetes的普及,越来越多的企业开始筹划在阿里云上部署自己的Kubernetes集群. 本文将结合实战中总结的经验,分析和归纳一套在阿里云上部署生产级 ...

  6. 阿里云上创建个人网站

    1.注册域名 a)打开阿里云网站首页 https://www.aliyun.com/ b)打开产品页面下的域名注册页面 c)查询自己喜欢的域名(未被注册的,且价格低廉的,尽量选择.com的域名,方便别 ...

  7. 在阿里云上试用 Knative

    在今年的Google Cloud Next大会上,Google发布了Knative, 这是由Google.Pivotal.Redhat和IBM等云厂商共同推出的Serverless开源工具组件,它与I ...

  8. 阿里云上CentOS的图形访问

    因为阿里云给学生白菜价格购买ECS,那我就买来玩玩,顺便用来学习Linux/UNIX.买回来之后,发现闲着也是闲着,就现在上边搭了个博客,用 WordPress.因为WordPress这个建站很厉害, ...

  9. 你瞧不起的低代码开发,阿里云总裁张建锋,他看上了

    "未来不会用低代码,正如10年前不懂Excel,它将是一项基本能力." 对低代码评价之高,正是2022云栖大会,来自阿里云总裁张建锋发表的内容. 普通人说出这番内容,难免被吐槽,然 ...

最新文章

  1. Java h265视频抽帧提取照片支持Window,Linux
  2. 网络协议分层_接口测试之网络分层和数据
  3. mysql数据库优化课程---16、mysql慢查询和优化表空间
  4. Sql Server海量数据插入
  5. WaitForSingleObject 和 EnterCriticalSection 效率比较
  6. mysql数据库迁徙_Mysql数据迁徙方法工具解析
  7. 华为OLT(MA5680T)查看光模块信息及光衰
  8. 独立团-手游脱机封包辅助课程(完整版)
  9. Java SE 集合:Map接口
  10. ESD问题案例分析-智能手表为例
  11. pymysql:Mysql拒绝从远程访问的解决办法
  12. java 无理数_Java 程序设计:有理数类
  13. oracle minus连接条件,oracle及sqlserve中MINUS 的使用方法
  14. [转载]使用 Apache Geronimo 和 POJO 构建 SOA 框架
  15. 一文详解结构光发展简史
  16. 纽约亿万富翁最多其次是中国香港 旧金山亿万富翁密度最大
  17. 计算机组成原理中EMAR是什么,计算机组成原理与汇编语言程序设计第3章2
  18. 这是最好的年代,也是最坏的年代?
  19. 计算机本科核心课程教学视频,绝对经典(28门核心视频课程)
  20. GPS参数提取与轨迹重现实验

热门文章

  1. [Linux]----守护进程
  2. ​三态总线与双向三态总线
  3. 分享一个远程控制软件源代码
  4. 微型计算机的硬件组成中ssd硬盘通常是指,2013计算机一级B考试模拟试题及答案(18)...
  5. 我如何看待软件测试的前景?
  6. 出现Joi.validate is a not function解决办法
  7. BAT瓜分中国云计算版图
  8. OsgEarth —— 笔记3 - 为地球增加国界省界线
  9. 悬浮窗播放器html,Chrome扩展插件悬浮画中画播放器推荐
  10. 32f4怎样同时采集两个adc_一个单片机ADC的挖坑填坑之旅