kubesphere & K8S & Kubeedge 安装配置菜鸟级指导

kubesphere & K8S & Kubeedge

安装配置:一键安装

kubeKey安装 kubesphere&kubernertest:

curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.1 sh -
chmod +x kk
apt-get update 
apt install conntrack && apt install socat
./kk create cluster --with-kubernetes v1.22.0 --with-kubesphere v3.3.0

PS. 目前:用kk工具管理集群是最方便的;

K8S集群直接创建网络方面有问题,storageClass没有办法配置,最方便的方法还是kk管理集群

#从已有集群创建文件
./kk create config --from-cluster
./kk create config -f ~/cluster_sed.yam
#目前最优的方案是先创建集群 && add 节点
./kk create cluster --with-kubernetes v1.22.0 --with-kubesphere v3.3.0 && ./kk add nodes -f cluster_set.yaml
#检查集群初始化是否完成
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

#删除集群
./kk delete cluster
#!/bin/cluster_set.yaml
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: sample
spec:
  hosts:
  ##You should complete the ssh information of the hosts
  - {name: 4core-01, address: 158.39.74.172, internalAddress: 158.39.74.172}
  roleGroups:
    etcd:
    - 4core-01
    master:
    - 4core-01
    worker:
    - 4core-02
  controlPlaneEndpoint:
    ##Internal loadbalancer for apiservers
    #internalLoadbalancer: haproxy

    ##If the external loadbalancer was used, 'address' should be set to loadbalancer's ip.
    domain: lb.kubesphere.local
    address: ""
    port: 6443
  kubernetes:
    version: v1.22.0
    clusterName: cluster.local
    proxyMode: ipvs
    masqueradeAll: false
    maxPods: 110
    nodeCidrMaskSize: 24
  network:
    plugin: calico
    kubePodsCIDR: 10.233.64.0/18
    kubeServiceCIDR: 10.233.0.0/18
  registry:
    privateRegistry: ""

把公钥写入authoca文件中,集群会默认接通

ssh-keygen -t rsa
#生成密钥,私钥放在本地,公钥写进autho文件中

配置各种应用:

kubectl edit cc -n kubesphere-system
. opentrix
. kubeedge
. metrics-service
. dev

错误排查:(主要问题多是资源不足)

        "1. check the storage configuration and storage server",
        "2. make sure the DNS address in /etc/resolv.conf is available",
        "3. execute 'kubectl logs -n kubesphere-system -l job-name=minio-make-bucket-job' to watch logs",
        "4. execute 'helm -n kubesphere-system uninstall ks-minio && kubectl -n kubesphere-system delete job minio-make-bucket-job'",
        "5. Restart the installer pod in kubesphere-system namespace"

部署kubeedge

开启kubeedge选项 -> 加入节点

端口转发规则配置:

#iptable要设置在edge host上,将本地10002 port 转发到cloudport的 :30002port上
iptables -t nat -A OUTPUT -p tcp --dport 10000 -j DNAT --to $CLOUDCOREIPS:30000
iptables -t nat -A OUTPUT -p tcp --dport 10001 -j DNAT --to $CLOUDCOREIPS:30001
iptables -t nat -A OUTPUT -p tcp --dport 10002 -j DNAT --to $CLOUDCOREIPS:30002
iptables -t nat -A OUTPUT -p tcp --dport 10350 -j DNAT --to $CLOUDCOREIPS:10003
iptables -t nat -A OUTPUT -p tcp --dport 10004 -j DNAT --to $CLOUDCOREIPS:30004

arch=$(uname -m); if [[ $arch != x86_64 ]]; then arch='arm64'; fi;  curl -LO https://kubeedge.pek3b.qingstor.com/bin/v1.9.2/$arch/keadm-v1.9.2-linux-$arch.tar.gz  && tar xvf keadm-v1.9.2-linux-$arch.tar.gz && chmod +x keadm && ./keadm join --kubeedge-version=1.9.2 --region=zh --cloudcore-ipport=158.39.74.211:30000 --quicport 30001 --certport 30002 --tunnelport 30004 --edgenode-name 2core-00 --edgenode-ip 158.39.201.145 --token 8746be082ce99bbc8853f7f7c3f72e0caad20d6bc170a1de607f1e92e1bff682.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTk1MTU3MjR9.jhtxb6_42XhQztFgvhjudyRcWbSknAR1E2gswjDIaEI --with-edge-taint

踩坑:

  1. 要使得边缘节点能够被master节点监控,要修改edge节点的edgecore.service参数

注意! ipstable端口转发如果没开启规则,则要修改server端口号为30004否则监听不到

#vim /etc/kubeedge/config/edgecore.yaml
edgeStream:
enable: true #将“false”更改为“true”。
handshakeTimeout: 30
readDeadline: 15
server: xx.xxx.xxx.xxx:10004 #如果没有添加端口转发,将端口修改为30004。
tlsTunnelCAFile: /etc/kubeedge/ca/rootCA.crt
tlsTunnelCertFile: /etc/kubeedge/certs/server.crt
tlsTunnelPrivateKeyFile: /etc/kubeedge/certs/server.key
writeDeadline: 15

edged:
    cgroupDriver: cgroupfs
    cgroupRoot: ""
    cgroupsPerQOS: true
    clusterDNS: "169.254.96.16"
    clusterDomain: "cluster.local"
    cniBinDir: /opt/cni/bin
    cniCacheDirs: /var/lib/cni/cache
    cniConfDir: /etc/cni/net.d
    concurrentConsumers: 5
    devicePluginEnabled: false
    dockerAddress: unix:///var/run/docker.sock
    edgedMemoryCapacity: 7852396000
    enable: true
    enableMetrics: true
systemctl restart edgecore.service
  1. 尚不清楚 cfgroup是否会对系统构成影响
sudo tee /etc/docker/daemon.json <<EOF 
{
"exec-opts": ["native.cgroupdriver=cgroupfs"],
"registry-mirrors":["http://hub-mirror.c.163.com"]
}

EOF

systemctl daemon-reload

service docker restart 

docker info | grep -i cgroup
  1. Edgemesh 配置

    #edmesh 可以用商店部署,注意设置tolerations
    #agent
      tolerations: 
        - key: "node-role.kubernetes.io/edge"
          operator: "Exists"
          effect: "NoSchedule"
    

问题记录:

edgemesh网络链接有问题,adress找不到? woker节点上的agen倒是没问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iXGcKG9S-1660405035532)(https://s2.loli.net/2022/08/04/t3X2OKkq4melA9N.png)]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: k8s是一个容器编排工具,它可以帮助用户在集群中调度和管理容器化的应用。k8s可以运行在多种不同的硬件和云平台上,并提供了许多强大的特性,如自动扩展、服务发现、网络访问控制等。 kubeEdge是一个开源的物联网(IoT)平台,它可以帮助用户管理和运行在边缘计算节点上的容器化应用。kubeEdge提供了一系列的特性,如资源隔离、数据同步、边缘计算能力等,帮助用户在边缘计算环境下部署和管理应用。 openyurt是一个开源的边缘计算平台,它基于k8s开发,旨在为企业提供在边缘计算环境中部署和管理应用的能力。openyurt提供了许多强大的特性,如资源隔离、数据同步、服务发现等,可以帮助用户在边缘计算环境中部署和管理应用。 在架构方面,k8s是一个编排工具,它可以帮助用户在集群中调度和管理容器化的应用。kubeEdge和openyurt都是基于k8s开发的边缘计算平台,它们都提供 ### 回答2: Kubernetes(简称k8s)是一个用于自动化部署、扩展和管理容器化应用程序的开源平台。它采用主从节点的架构,其中主节点负责整体集群管理和调度,而从节点则承载容器应用。K8s适用于大规模的容器编排和管理,广泛应用于云原生技术领域。 KubeEdge是一个开源的边缘计算解决方案,扩展了Kubernetes到边缘设备。它在边缘节点上运行Kubernetes副本,将数据和计算任务迁移到靠近数据源的地方,以减少网络延迟。KubeEdge的应用场景主要集中在边缘计算和物联网领域,可以实现边缘设备的容器编排和管理,提供更低延迟和更高可靠性的计算能力。 OpenYurt是一个Kubernetes的边缘计算扩展项目,致力于为基于Kubernetes的边缘计算平台提供更好的扩展性和灵活性。OpenYurt通过引入边缘节点、虚拟机和裸金属节点扩展,提供边缘设备的容器编排和管理能力。它的目标是使边缘计算集群更易于部署、管理和维护,提供一致的开发和管理体验。 在市场表现方面,Kubernetes是最广泛使用的容器编排平台,得到了全球范围内众多企业和开发者的认可和应用。KubeEdge和OpenYurt相对较新,目前在市场上的应用相对较少,但它们都受到了开源社区的关注,并在边缘计算领域得到了越来越多的实际应用和试验。 综上所述,Kubernetes是一个用于云原生应用的容器编排平台,而KubeEdge和OpenYurt是基于Kubernetes的边缘计算扩展项目,它们在架构、应用场景和市场表现方面各有特点,提供了更适用于边缘计算和物联网领域的容器编排和管理解决方案。 ### 回答3: Kubernetes(简称K8s)是一个用于自动化部署、扩展和管理容器化应用程序的开源平台。其主要用于构建和管理云原生应用程序,具有高度可扩展性和弹性。 KubeEdge是一个轻量的边缘计算框架,是Kubernetes的扩展。它提供了将云计算与边缘计算相结合的能力,使得在边缘设备上可以运行和管理容器化的应用,从而实现本地计算和快速决策。 OpenYurt是一个开放源代码的边缘计算解决方案,用于将云原生能力扩展到边缘环境。它通过将云和边缘资源进行连接,提供了跨云和边缘云环境的部署和管理能力,同时支持Kubernetes API和生态系统的扩展。 在架构方面,K8s是一个集中式的容器编排平台,主要用于管理云环境中的容器化应用程序;而KubeEdge和OpenYurt则是针对边缘计算环境的扩展,提供了分布式边缘计算的能力,将云和边缘之间的计算资源进行连接。 在应用场景方面,K8s适用于云环境中大规模的容器化应用部署和管理;KubeEdge则适用于边缘计算场景,将云和边缘设备进行连接,支持边缘智能、离线计算等应用;而OpenYurt则提供了跨云和边缘云环境的连接和管理能力,适用于多云和边缘计算的场景。 在市场表现方面,K8s是目前最流行的容器编排平台之一,广泛应用于云计算和容器化应用领域;KubeEdge和OpenYurt相对较新,正在逐渐被业界认可和采用,尤其在边缘计算领域存在巨大的发展潜力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值