云计算_kind部署看K8s集群

k8s集群搭建

kind配置集群的位置 ~/.kind/
文件名 kind-3nodes.yaml  单master集群
   kind: Cluster
   apiVersion: kind.x-k8s.io/v1alpha4
   nodes:
     - role: control-plane
     - role: worker
     - role: worker
查看安装情况   
 kind create cluster --config=kind-3nodes.yaml
 kubectl get po -n kube-system
 kubectl get nodes

k8s集群查看

 kubectl get cs 
 kubectl cluster-info
 kind load docker-image my-custom-image-0 my-custom-image-1 --name kind-2
 kubectl apply -f my-manifest-using-my-image:unique-tag
 docker exec -it kind-control-plane crictl images

运行

kubectl get cs
   Warning: v1 ComponentStatus is deprecated in v1.19+
   NAME                 STATUS      MESSAGE                                                                                       ERROR
   controller-manager   Unhealthy   Get "http://127.0.0.1:10252/healthz": dial tcp 127.0.0.1:10252: connect: connection refused
   scheduler            Unhealthy   Get "http://127.0.0.1:10251/healthz": dial tcp 127.0.0.1:10251: connect: connection refused
   etcd-0               Healthy     {"health":"true"}
解决方式 改master节点配置文件
   docker exec -it kind-control-plane /bin/bash
     cd /etc/kubernetes/manifests
	  cat kube-scheduler.yaml | grep -n port=0 
	  sed  -i '19s/^/#/' kube-scheduler.yaml 
      sed -n '19p' kube-scheduler.yaml  	  
	  systemctl restart  kubelet
      exit

kubectl get cs
 Warning: v1 ComponentStatus is deprecated in v1.19+
 NAME                 STATUS    MESSAGE             ERROR
 scheduler            Healthy   ok
 controller-manager   Healthy   ok
 etcd-0               Healthy   {"health":"true"}

使用helm

Helm 是 Deis 开发的一个用于 Kubernetes 应用的包管理工具,
主要用来管理 Charts。有点类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM。
 Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件
 Helm  Chart  Release  Repository
      Helm CLI 
	  Tiller 是服务器端组件,在 Kubernetes 群集上运行,并管理 Kubernetes 应用程序的生命周期
	  Repository 是 Chart 仓库
 下载好Chart包以及harbor镜像
   Helm官方开源的Chart
      https://github.com/helm/charts/tree/master/stable
	  helm repo add stable https://charts.helm.sh/stable
	  
   三方开源的Chart包
      helm repo add bitnami https://charts.bitnami.com/bitnami
      https://artifacthub.io/packages/helm/bitnami/spark 
  在线安装
    helm repo add bitnami https://charts.bitnami.com/bitnami
    helm install my-spark bitnami/spark --version 5.9.3  
  离线安装 
    Chart 目录结构
     examples/
       Chart.yaml          # Yaml文件,用于描述Chart的基本信息,包括名称版本等
       values.yaml         # Chart的默认配置文件
       requirements.yaml   # [可选] 用于存放当前Chart依赖的其它Chart的说明文件
       charts/             # [可选]: 该目录中放置当前Chart依赖的其它Chart
       templates/          # [可选]: 部署文件模版目录,模版使用的值来自values.yaml和由Tiller提供的值
       templates/NOTES.txt # [可选]: 放置Chart的使用指南

 $ helm repo add bitnami https://charts.bitnami.com/bitnami
 $ helm dependency update .
 $ helm install dolphinscheduler . --set image.tag=2.0.3
 $ helm install dolphinscheduler . -n test

 Helm的任务是在仓库(Repository)中查找需要的Chart,然后将Chart以Release的形式安装到K8S集群中
 $ helm repo add bitnami https://charts.bitnami.com/bitnami
 $ helm dependency update .
 $ helm install dolphinscheduler . --set image.tag=2.0.3

附录

 Sed和AWK是*nix命令行里面文本处理的神器,
  它们都是面向行的即处理文本的方式都是一行接着一行的处理
  删除命令:d(delete)  新增数据:a (append)	  前面插入:i (insert)  字符串的替换:s
  新增 删除 和修改替换  查找;
  sed [-nefri] ‘command’ 输入文本
  awk  具有编程语言的特性 变量,和循环,分支等逻辑
  #查询包括关键字port=0所在所有行 
   sed -n '/port=0/p' kube-scheduler.yaml
  获取字符串所在的行数	  
  cat kube-scheduler.yaml | grep -n port=0	
  #显示第一行 
   sed -n '19p' kube-scheduler.yaml  
    #
    cat kube-scheduler.yaml | grep -n port=0 
  # kube-scheduler.yaml 文件的,19,行首添加注释符#
   sed  -i '19s/^/#/' kube-scheduler.yaml  
   将kube-scheduler.yaml  文件的,35行到77行,行首添加注释符#
    sed -i "35,77s/^/#/g" kube-scheduler.yaml  
  1."^"代表行首,"$"代表行尾   
    cat kube-scheduler.yaml | grep -n port=0 
    cat kube-controller-manager.yaml |grep -n port=0 | awk -F ':' '{print $1}'
    cat kube-controller-manager.yaml |grep -n port=0 
    sed  -i '27s/^/#/' kube-controller-manager.yaml
	sed -n '27p' kube-controller-manager.yaml 

参考

k8s1.19.3 cs接口 报错 https://blog.csdn.net/weixin_42562106/article/details/109581023
 Helm 3.8.0 https://github.com/helm/helm/releases
上一篇:mysql 报错 1366 Incorrect string value 原因与解决方法


下一篇:Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT