阿里云部署k8s with kubesphere

这篇具有很好参考价值的文章主要介绍了阿里云部署k8s with kubesphere。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

阿里云ESC

创建实例

阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算
阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算
阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算
填入密码即可

云上的防火墙相关设置就是安全组

vpc 专有网络 划分私有ip 子网

vpc 隔离环境域 不同的vpc下 即使相同的子网也不互通
阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算

使用交换机继续划分子网

阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算

停止 释放 不收钱

k8s

服务器 4核8G*1 + 8核16G *2

git 创建凭证

阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算

pipeline 发邮箱 (p124)

k8s 想要发邮件 admin 账号 登录 平台管理 平台设置 通知管理 邮件

admin 工作负载 jenkinsfile 编辑配置文件 配置邮箱

两个地址都需要配置

pipeline 推送镜像

创建凭证
阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算
阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算

阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算
容器镜像服务 个人即可 创建仓库和命名空间 从一个仓库的基本信息中找到仓库地址
例如registry.cn-hangzhou.aliyuncs.com
找到命名空间 例如 jhj

deploy 部署

创建kubeconfig
阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算
拉取镜像 由于我们使用阿里云的 所以需要使用阿里云
阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算
同时在项目的配置中心 密钥处配置 阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算
密钥类型
阿里云的k8s仓库地址,Java SpringBoot SpringCloud,阿里云,kubernetes,云计算

k8s kubekey 部署

删除之前部署的kk

./kk delete cluster -f config-sample.yaml

下载配置文件

export KKZONE=cn 
curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.2 sh -

生成配置文件

./kk create config --name kk-k8s

使用内部负载均衡部署


apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: kk-k8s
spec:
  hosts:
  - {name: node1, address: 172.16.0.2, internalAddress: 172.16.0.2, user: ubuntu, password: "Qcloud@123"}
  - {name: node2, address: 172.16.0.3, internalAddress: 172.16.0.3, user: ubuntu, password: "Qcloud@123"}
  roleGroups:
    etcd:
    - node1
    control-plane: 
    - node1
    worker:
    - node1
    - node2
  controlPlaneEndpoint:
    ## Internal loadbalancer for apiservers 
    internalLoadbalancer: haproxy

    domain: lb.kubesphere.local
    address: ""
    port: 6443
  kubernetes:
    version: v1.23.8
    clusterName: cluster.local
    autoRenewCerts: true
    containerManager: docker
  etcd:
    type: kubekey
  network:
    plugin: calico
    kubePodsCIDR: 10.233.64.0/18
    kubeServiceCIDR: 10.233.0.0/18
    ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
    multusCNI:
      enabled: false
  registry:
    privateRegistry: ""
    namespaceOverride: ""
    registryMirrors: []
    insecureRegistries: []
  addons: []

部署

./kk create cluster -f kk-k8s.yaml --with-kubeshpere v3.2.0

如果想同时部署kubeshpere 加上 --with-kubeshpere v3.2.0 即可

查看集群状态

kubectl get node -o wide

kubeshpere 默认密码为admin

配置文件详解

apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: kk-k8s
spec:
  hosts:
  #address 公网地址 internalAddress 内网地址 账户名 密码
  - {name: node1, address: 172.16.0.2, internalAddress: 172.16.0.2, user: ubuntu, password: "Qcloud@123"}
  - {name: node2, address: 172.16.0.3, internalAddress: 172.16.0.3, user: ubuntu, password: "Qcloud@123"}
  roleGroups:
  	#为了部署高可用的 三台节点可以同时为etcd 生产环境一般不同于主节点与工作节点的额外节点 
    etcd:
    - node1
    control-plane: 
    - node1
    worker:
    - node1
    - node2
  controlPlaneEndpoint:
    ## Internal loadbalancer for apiservers 
    internalLoadbalancer: haproxy # 内部负载均衡器 代理woker节点

    domain: lb.kubesphere.local
    address: ""  #如果使用外部负载均衡 就在配置外部负载均衡的地址
    port: 6443
  kubernetes:
    version: v1.23.8 #版本
    clusterName: cluster.local # 集群名称
    autoRenewCerts: true
    containerManager: docker
  etcd:
    type: kubekey
  network:
    plugin: calico #网络
    kubePodsCIDR: 10.233.64.0/18 #子网划分
    kubeServiceCIDR: 10.233.0.0/18
    ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
    multusCNI:
      enabled: false
  registry:
    privateRegistry: "" #镜像仓库 默认部署 
    namespaceOverride: ""
    registryMirrors: []
    insecureRegistries: []
  addons: [] #插件

如果想直接创建一个带kubesphere 的配置文件

./kk create config --with-kubesphere v3.2.0 -f test.yaml
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: sample
spec:
  hosts:
  - {name: node1, address: 172.16.0.2, internalAddress: 172.16.0.2, user: ubuntu, password: "Qcloud@123"}
  - {name: node2, address: 172.16.0.3, internalAddress: 172.16.0.3, user: ubuntu, password: "Qcloud@123"}
  roleGroups:
    etcd:
    - node1
    control-plane: 
    - node1
    worker:
    - node1
    - node2
  controlPlaneEndpoint:
    ## Internal loadbalancer for apiservers 
    # internalLoadbalancer: haproxy

    domain: lb.kubesphere.local
    address: ""
    port: 6443
  kubernetes:
    version: v1.23.8
    clusterName: cluster.local
    autoRenewCerts: true
    containerManager: docker
  etcd:
    type: kubekey
  network:
    plugin: calico
    kubePodsCIDR: 10.233.64.0/18
    kubeServiceCIDR: 10.233.0.0/18
    ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
    multusCNI:
      enabled: false
  registry:
    privateRegistry: ""
    namespaceOverride: ""
    registryMirrors: []
    insecureRegistries: []
  addons: [] 



---
apiVersion: installer.kubesphere.io/v1alpha1
kind: ClusterConfiguration
metadata:
  name: ks-installer
  namespace: kubesphere-system
  labels:
    version: v3.2.0
spec:
  persistence:
    storageClass: ""
  authentication:
    jwtSecret: ""
  zone: ""
  local_registry: ""
  # dev_tag: ""
  etcd:
    monitoring: false
    endpointIps: localhost
    port: 2379
    tlsEnable: true
  common:
    core:
      console:
        enableMultiLogin: true
        port: 30880
        type: NodePort
    # apiserver:
    #  resources: {}
    # controllerManager:
    #  resources: {}
    redis:
      enabled: false
      volumeSize: 2Gi
    openldap:
      enabled: false
      volumeSize: 2Gi
    minio:
      volumeSize: 20Gi
    monitoring:
      # type: external
      endpoint: http://prometheus-operated.kubesphere-monitoring-system.svc:9090
      GPUMonitoring:
        enabled: false
    gpu:
      kinds:         
      - resourceName: "nvidia.com/gpu"
        resourceType: "GPU"
        default: true
    es:
      # master:
      #   volumeSize: 4Gi
      #   replicas: 1
      #   resources: {}
      # data:
      #   volumeSize: 20Gi
      #   replicas: 1
      #   resources: {}
      logMaxAge: 7
      elkPrefix: logstash
      basicAuth:
        enabled: false
        username: ""
        password: ""
      externalElasticsearchUrl: ""
      externalElasticsearchPort: ""
  alerting:
    enabled: false
    # thanosruler:
    #   replicas: 1
    #   resources: {}
  auditing:
    enabled: false
    # operator:
    #   resources: {}
    # webhook:
    #   resources: {}
  devops:
    enabled: false #想用devops 就选择true
    jenkinsMemoryLim: 2Gi
    jenkinsMemoryReq: 1500Mi
    jenkinsVolumeSize: 8Gi
    jenkinsJavaOpts_Xms: 512m
    jenkinsJavaOpts_Xmx: 512m
    jenkinsJavaOpts_MaxRAM: 2g
  events:
    enabled: false
    # operator:
    #   resources: {}
    # exporter:
    #   resources: {}
    # ruler:
    #   enabled: true
    #   replicas: 2
    #   resources: {}
  logging:
    enabled: false
    containerruntime: docker
    logsidecar:
      enabled: true
      replicas: 2
      # resources: {}
  metrics_server:
    enabled: false
  monitoring:
    storageClass: ""
    # kube_rbac_proxy:
    #   resources: {}
    # kube_state_metrics:
    #   resources: {}
    # prometheus:
    #   replicas: 1
    #   volumeSize: 20Gi
    #   resources: {}
    #   operator:
    #     resources: {}
    #   adapter:
    #     resources: {}
    # node_exporter:
    #   resources: {}
    # alertmanager:
    #   replicas: 1
    #   resources: {}
    # notification_manager:
    #   resources: {}
    #   operator:
    #     resources: {}
    #   proxy:
    #     resources: {}
    gpu:
      nvidia_dcgm_exporter:
        enabled: false
        # resources: {}
  multicluster:
    clusterRole: none 
  network:
    networkpolicy:
      enabled: false
    ippool:
      type: none
    topology:
      type: none
  openpitrix:
    store:
      enabled: false
  servicemesh:
    enabled: false
  kubeedge:
    enabled: false   
    cloudCore:
      nodeSelector: {"node-role.kubernetes.io/worker": ""}
      tolerations: []
      cloudhubPort: "10000"
      cloudhubQuicPort: "10001"
      cloudhubHttpsPort: "10002"
      cloudstreamPort: "10003"
      tunnelPort: "10004"
      cloudHub:
        advertiseAddress:
          - ""
        nodeLimit: "100"
      service:
        cloudhubNodePort: "30000"
        cloudhubQuicNodePort: "30001"
        cloudhubHttpsNodePort: "30002"
        cloudstreamNodePort: "30003"
        tunnelNodePort: "30004"
    edgeWatcher:
      nodeSelector: {"node-role.kubernetes.io/worker": ""}
      tolerations: []
      edgeWatcherAgent:
        nodeSelector: {"node-role.kubernetes.io/worker": ""}
        tolerations: []

kubekey官网详细的参考

https://github.com/kubesphere/kubekey/blob/master/docs/config-example.md

kubesphere 其实就是ks-installer

https://github.com/kubesphere/ks-installer/blob/master/deploy/cluster-configuration.yaml

如果想开启其他配置可以去查看api 开启配置

https://github.com/kubesphere/kubekey/tree/master/cmd/kk/apis/kubekey/v1alpha2

kk 增加节点

修改config.yaml

执行

./kk add nodes -f config.yaml

kk删除节点

执行

./kk delete node node3 -f config.yaml

集群证书管理

查看到期时间

./kk certs check-expiration -f config.yaml

更新集群证书

默认在 /etc/kubernetes/pki

执行命令更新证书

./kk certs renew -f config.yaml

1.2 2.0 插件自动安装 自动更新

应用商店

在安装后 开启一些组件 crud 中 配置项改为true

https://kubesphere.io/zh/docs/v3.4/pluggable-components/app-store/文章来源地址https://www.toymoban.com/news/detail-764129.html

到了这里,关于阿里云部署k8s with kubesphere的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于kubesphere的k8s环境部署单点版本的rook-ceph

    基于kubesphere的k8s环境部署单点版本的rook-ceph,实验性质大于使用性质,不推荐在物理资源有限的情况下使用。 Rook is an open source cloud-native storage orchestrator, providing the platform, framework, and support for Ceph storage to natively integrate with cloud-native environments. Rook是一个开源的云原生存储编

    2024年02月07日
    浏览(40)
  • 基于kubesphere的k8s环境部署三节点的rook-ceph集群

    这次实验记录的是使用虚拟机搭建的使用了三个计算存储节点的rook-ceph集群,模拟真实的使用场景。补充之前发的只有单点的部署方式。 Rook is an open source cloud-native storage orchestrator, providing the platform, framework, and support for Ceph storage to natively integrate with cloud-native environments. Ro

    2024年02月11日
    浏览(49)
  • k8s集群部署harbor镜像仓库

    目录 一 安装部署           部署环境 二安装docker, docker-compose 三解压Harbor文件 四配置HTTPS证书 五配置Harbor YML文件 六运行安装程序脚本 七测试命令登陆仓库  https://192.168.100.13  1,登录harbor 2,然后重启docker.service 重启Harbor   3,登录私有仓库 4,创建k8s项目  5,推送命

    2024年02月11日
    浏览(35)
  • 【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用

    网址: openelb.io OpenELB 是一个开源的云原生负载均衡器实现,可以在基于裸金属服务器、边缘以及虚拟化的 Kubernetes 环境中使用 LoadBalancer 类型的 Service 对外暴露服务。OpenELB 项目最初由 KubeSphere 社区发起,目前已作为 CNCF 沙箱项目加入 CNCF 基金会,由 OpenELB 开源社区维护与支

    2024年02月03日
    浏览(86)
  • 阿里云K8S部署Go+Vue项目

            Kubernetes是一个可以移植、可扩展的开源平台,使用声明式的配置并依据配置信息自动地执行容器化应用程序的管理。在所有的容器编排工具中(类似的还有 docker swarm / mesos等),Kubernetes的生态系统更大、增长更快,有更多的支持、服务和工具可供用户选择。 优势

    2024年01月16日
    浏览(48)
  • K8s集群Harbor私有仓库部署+ssl证书申请

    首先打开ssl证书服务控制台 然后点击SSL证书—免费证书—立即购买 注意此证书只支持单域名,最多可免费申请20个,而且一个账号只有一次免费机会,证书有效期为一年 购买完免费证书后,然后创建自己域名的证书即可 下载(下载类型选择其他)我们申请的证书 上传到harbor所

    2024年01月15日
    浏览(29)
  • 应用打包部署k8s (包括dockerfile打包及仓库上传)

    小唐的项目主要是(mysql+jar+vue),然后所有项目都是打包好了的,然后现在我们用docker run 来测试一下 1.存储文件夹 并将我们的sql文件转移至init 在编写mysql文件之前,我们可以先使用docker镜像的方式去看看我们的sql文件是否可以正确导入至我们的容器 2.准备好对于位置 3.运

    2024年02月11日
    浏览(47)
  • 阿里云部署k8s及常见的错误解决方法

    目录 一、背景介绍 二、环境准备 2.1 ECS云服务资源清单 2.2 K8s软件列表 三、阿里云ECS服务器网络问题 3.1 问题阐述 3.2 解决方案 四、服务节点调整(master,node1,node2) 4.1 关闭firewalld防火墙,并安装设置Iptables规则为空 4.2 调整内核参数 4.3 关闭 swap  4.4 关闭 selinux 4.5 设置h

    2024年02月08日
    浏览(41)
  • k8s使用helm部署Harbor镜像仓库并启用SSL

    参照:https://zhaoll.blog.csdn.net/article/details/128155767 有多种安装方式,根据自己的k8s版本选择合适的helm版本 参考:https://blog.csdn.net/qq_30614345/article/details/131669319 我们这里使用helm安装harbor,项目地址:https://github.com/goharbor/harbor-helm (1)拉取项目文件 (2)解压并修改配置 tar -z

    2024年02月16日
    浏览(32)
  • k8s管理工具Kubesphere

    Kubesphere是一个开源的容器管理平台,它提供了一系列的工具和服务,帮助开发者更轻松地管理和部署容器化应用。在本文中,我们将介绍Kubesphere的主要功能和使用方法,并分享一些学习Kubesphere的经验和技巧。 Kubesphere的主要功能 Kubesphere提供了一系列的功能,包括: 容器编

    2024年02月13日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包