Kubernetes

k8s删除Terminating状态的namespace

在k8s中,namespace只有两种状态,Active和Terminating,后者一般比较少见,只有当命名空间被删除,而命名空间下还存在运行的资源时,才会出现terminating状态。当命名空间下资源回收后,命名空间会被自动删除。当也存在一些意外情况,导致已经没有相关资源了,而namespace依然在terminating状态下无法删除,这里介绍一种删除方法。 先执行以下命令,获取namespace信息 kubectl get namespace <terminating-namespace> -o yaml 得到以下信息: apiVersion: v1 kind: Namespace……

使用rook在k8s管理ceph集群

ceph是一种高度扩展的分布式存储方案,能够提供对象、文件和块存储,也可以为k8s提供持久化存储能力。然而,ceph的集群搭建相对还是计较复杂的,而且既然引入了k8s,何不让k8s为我们管理ceph集群呢? Rook的出现为上面的问题提供了解决方案。Rook是一个自管理的分布式存储编排系统,可以为k8s提供便利的存储解决方案。Rook本身不提供春初,而是在k8s和存储系统之间提供了适配层,简化了存储系统的部署与维护。接下来我们就来使用Rook在k8s上搭建一套ceph集群。 环境准备 这里我准备了4台机器作为存储的设备。 配置信息: 系统类型 IP Hostname 磁盘 centos-7……

K8S配置StoregeClass(nfs,ceph-rdb,cephfs,阿里云NAS)

k8s支持多种存储类,本文介绍几种常用的存储类:nfs、ceph rdb、cephfs、阿里云文件存储(NAS) 各存储类的区别详见:存储类 NFS 首先,你需要准备一台nfs服务器,我这里的服务器是:10.0.30.15, path: /data 注意:所有的worker节点需要安装nfs-utils,否则将无法挂载 配置rbac nfs-rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: name: nfs-client-provisioner namespace: nfs --- kind: ClusterRole ……

二进制方式搭建Kubernetes 1.19.3高可用集群(五)——部署dashboard

本文将介绍在二进制部署的k8s集群中部署dashboar 2.0.4,并解决部署过程中metrics-server无法启动的问题 部署dashboard 首先,根据官方文档来,下载配置文件(官方文档地址:https://github.com/kubernetes/dashboard) wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml -O dashboard-deploy.yaml 由于镜像在国外,下载可能会比较慢,所有我把镜像放到了阿里云上,可以按需替……

二进制方式搭建Kubernetes 1.19.3高可用集群(四)——部署worker节点和网络插件

本文将介绍通过二进制方式部署kubelet、kube-proxy组件以及网络组件calico的安装 部署kubelet(worker节点) 创建bootstrap配置文件 将kubeadm放到bin目录下,方便执行命令 cp master/kubeadm /usr/local/bin #进入我们原先制作admin证书的目录 cd target/admin #创建token export BOOTSTRAP_TOKEN=$(kubeadm token create --description kubelet-bootstrap-token --groups system:bootstra……

二进制方式搭建Kubernetes 1.19.3高可用集群(三)——部署controller-manager和scheduler

本文将介绍通过二进制方式部署controller-manager和scheduler组件 部署kubectl(master节点) kubectl是kubernetes集群的命令行管理工具,它默认从 ~/.kube/config 文件读取 kube-apiserver 地址、证书、用户名等信息。 生成admin证书和私钥 kubectl 与 apiserver https 安全端口通信,apiserver 对提供的证书进行认证和授权。 kubectl 作为集群的管理工具,需要被授予最高权限。这里创建具有最高权限的 admin 证书。 #新建一个目录存放admin的证书 cd target &……

二进制方式搭建Kubernetes 1.19.3高可用集群(二)——部署ETCD集群和api-server

本文将介绍通过二进制方式部署etcd集群和api-server 部署etcd集群 生成etcd证书和私钥 #新建一个目录存放etcd的证书 cd target && mkdir etcd && cd etcd #生成证书配置文件 cat > etcd-csr.json<<EOF { "CN": "etcd", "hosts": [ "127.0.0.1", "10.0.40.101", "10.0.40.102", "10.0.40.103" ], "key": { "algo": "rsa", "size": 2048 }……

二进制方式搭建Kubernetes 1.19.3高可用集群(一)——环境准备

本文将通过二进制来搭建Kubernetes v1.19.3高可用集群,网络插件选择calico,kube-proxy使用ipvs模式 环境准备 centos7虚拟机11台,配置如下 系统类型 IP 角色 Hostname centos-7.7 10.0.40.101 etcd etcd-40-101.jieee.xyz centos-7.7 10.0.40.102 etcd etcd-40-102.jieee.xyz centos-7.7 10.0.40.103 etcd etcd-40-103.jieee.xyz centos-7.7 10.0.50.101 master kube-m-5……

Kubernetes dashboard v2.0.0安装

安装完k8s 1.16集群后,再安装dashboard v1.* 发现不兼容,于是折腾了这个v2.0.0的教程 k8s dashboard v2.0.0效果展示 a V2.0.0对比V1.*的优势 监控信息不需要通过Heapster来提供,而是通过Metrics Server来提供,Metrics Scraper服务来采集,不需要单独维护Heapster 支持暗黑主题 监控图显示更细节化 编辑支持yaml和json 下载官方配置并执行,目前最新版本为2.0.0-rc1 $ wget -O dashboard.yaml https://raw.githubusercontent.com/kub……

Kubernetes使用Ingress nginx暴露服务并配置证书

部署配置Ingress 从官网获取配置文件并执行 $ wget -O ingress.yaml https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml $ kubectl apply -f ingress.yaml ingress默认配置没有service-ip,重启之后ingress pod就会改变,因此我们需要通过NodePort或者service将ingress的ip固定下来,我这里使用service实现 $ cat ingress-svc.yaml <<……
  • 共11篇
  • 1
  • 2