Giter Site home page Giter Site logo

ben1234560 / k8s_paas Goto Github PK

View Code? Open in Web Editor NEW
4.8K 203.0 984.0 124.79 MB

如何基于K8s(Kubernetes)部署成PaaS/DevOps(一套完整的软件研发和部署平台)--教程/学习(实战代码/架构设计/大量注释/操作配图),你将习得部署如:K8S(Kubernetes)、Dashboard、Harbor、Jenkins、本地Gitlab、Apollo框架、Promtheus、Grafana、Spinnaker等。

License: MIT License

Shell 100.00%
kubernetes paas ci cd cicd git jenkins spinnaker prometheus dubbo

k8s_paas's People

Contributors

aiisbetter avatar amazingandyyy avatar awadyoo avatar ben1234560 avatar blackcat308 avatar d00522 avatar haiya512 avatar mofish24h avatar nangongchengfeng avatar small-brilliant avatar sos111sos avatar wadestack avatar xzldb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

k8s_paas's Issues

HelloGitHub 徽章计划

🎉 恭喜!您的项目已被 HelloGitHub 社区收录和推荐,现邀请您加入 HelloGitHub 徽章计划。加入后,您将获得以下特权:

  • 社区认可: 徽章代表你的项目已通过 HelloGitHub 社区的严格筛选,并获得推荐。
  • 提高曝光: 佩戴徽章后,你的项目将获得更多推荐流量,吸引更多用户和贡献者。
  • 增强互动: 用户可通过徽章快速了解项目,并与之互动(点赞、评论、收藏)。
  • 收集反馈: 获取广大用户的真实反馈,持续优化你的项目。
  • 特殊标识: 认证后,你的评论将有显著标识,并获得置顶优先权。

📌 立即点击 完成徽章佩戴,加入 HelloGitHub 徽章计划,让你的开源项目绽放更耀眼的光彩。


HelloGitHub,一个专注于发现、分享、推广开源项目的社区。自 2016 年创立以来,从每月一更的月刊发展到今天,已经成为一个拥有超过 1 万 用户的充满活力的开源社区。我们的足迹遍布多个内容平台,并获得了全网 50 万 粉丝的信赖与支持。

第三章末尾的traefik-ingress没办法成功通过浏览器成功访问

进度:根据教程复现到第三章ingress部署章节,通过部署.yaml文件成功的建立了traefik-ingress服务

问题:traefik.od.com无法访问,且curl traefik.od.com拒绝访问
image

过程:尝试自己进行错误查找,但是并没有能够成功解决这个问题

集群信息:
image

配置的复现:
SCR-20240512-crgm

SCR-20240512-crce SCR-20240512-cseq SCR-20240512-csjk image image image

目前只能够通过CLUSTER-IP+8080端口号或者pod+8080端口号的方式成功curl。
image

请这部分成功配置的大大在这里能够指点一下

纠错

第七章——Promtheus监控k8s企业家应用 应该是 第七章——Promtheus监控k8s企业级应用

nginx 安装补充

yum install nginx nginx-mod-stream -y

安装nginx时,建议 安装上 nginx-mod-stream ,不然在添加
stream {
upstream kube-apiserver {
server 10.4.7.21:6443 max_fails=3 fail_timeout=30s;
server 10.4.7.22:6443 max_fails=3 fail_timeout=30s;
}
server {
listen 7443;
proxy_connect_timeout 2s;
proxy_timeout 900s;
proxy_pass kube-apiserver;
}
}
可能会报错,会显示没有这个stream模块。
感谢楼主分享

除了10.4.7.11,其他虚机无法联网

按照doc,包括ip段设置一样,在配置11机器上配置 DNS,然后将其他机器的dns换成11,是都可以访问网络的 (当然这也符合预期)。
后来,我关机睡觉 ,第二天,出现 只有10.4.7.11机器能上网,其他机器,只要DNS1设置为10.4.7.11都不能上网,需要将dns1换成 10.4.7.254 才能上网 。
这个跟博主的doc 预期不一致,目前我也不清楚,不知道博主能否解答下 。

第五章jenkins build项目的时候,提示不能链接10.4.7.200:443,请问如何解决

我的harbor只能http访问,没有配置https访问,jenkins构建项目的时候默认用https访问harbor,发生报错:failed to do request: Head "https://harbor.od.com/v2/base/jre8/manifests/8u112": dial tcp 10.4.7.200:443: connect: connection refused,请问如何解决

前提:http://harbor.od.com各个机器都能正常访问,各个机器和jenkins容器docker login harbor.od.com也能成功,不过访问443端口确实失败,因为harbor没有配置https访问

error

第二章最后执行kubectl get pods为空无法打标签

按照步骤在安装部署运算节点服务(kubelet)中,执行kubectl get pods后没有看到有内容,也就无法正常打标签。
使用第二章的检查工具也没提示有任何问题。
即便是走完了全部流程,即走完了最后一步安装部署运算节点服务(kube-proxy),还是一样kubectl get pods无内容

推荐:使用k8e快速部署Kubernetes集群服务

作为YAML工程师,经常需要使用Kubernetes集群来验证很多技术化场景,如何快速搭建一套完整标准化的集群至关重要。罗列当前能快速部署Kubernetes 集群的工具有很多种,例如官方首当其冲有kubeadm工具,云原生社区有sealos作为一键部署的最佳方案,熟悉起来后部署都非常快。但是你是否考虑过并不是每一个YAML工程师都需要非常了解集群组件的搭配。这里,我给大家推荐的工具是基于单个文件的免配置的部署方式,对比kubeadm和sealos方案,去掉了对 Kubernetes 官方组件镜像的依赖,并且把Kubernetes相关的核心扩展推荐组件也都集成到这个二进制包中,通过软链接暴露,让环境依赖更少,这个安装工具就是k8e(可以叫 ‘kuber easy’ 或 K8易) 。k8e是基于当前主流上游Kubernetes发行版 k3s做的优化封装和裁剪。去掉对IoT的依赖,目标就是做最好的服务器版本的发行版本。并且和上游保持一致,可以自由扩展。

  1. 下载一键安装工具k8e:
curl -sfL https://getk8e.com/install.sh | sh -
  1. 启动集群过程:
  • 注意主机系统必须满足:Linux kernel >= 4.9.17
  • 第一台,是引导服务(注意:第一台主机IP就是api-server的IP):
# sudo vi /etc/systemd/system/k8e.service.env 添加 K8E_TOKEN,K8E_NODE_NAME,K8E_CLUSTER_INIT
# K8E_TOKEN=ilovek8e
# K8E_NODE_NAME=k8e-test-1
# K8E_CLUSTER_INIT=true
# 启动服务
sudo systemctl start k8e

更方便企业级入门者学习。

开源项目k8e是我开发的,请尽情使用,反馈切磋

本地版本第二章:安装部署主控节点ETCD——健康检查:无法连接peer服务器

证书已经从200服务器进行了下载,并且对比过证书的密钥是一致的

22主机:
[root@hdss7-22 etcd]# ./etcdctl cluster-health
cluster may be unhealthy: failed to list members
Error: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp 127.0.0.1:4001: getsockopt: connection refused
; error #1: client: endpoint http://127.0.0.1:2379 exceeded header timeout

error #0: dial tcp 127.0.0.1:4001: getsockopt: connection refused
error #1: client: endpoint http://127.0.0.1:2379 exceeded header timeout

日志:
2024-04-20 19:38:15.556310 W | rafthttp: health check for peer 988139385f78284 could not connect: x509: certificate has expired or is not yet valid (prober "ROUND_TRIPPER_RAFT_MESSAGE")
2024-04-20 19:38:15.556741 W | rafthttp: health check for peer 988139385f78284 could not connect: x509: certificate has expired or is not yet valid (prober "ROUND_TRIPPER_SNAPSHOT")
2024-04-20 19:38:15.561983 W | rafthttp: health check for peer f4a0cb0a765574a8 could not connect: x509: certificate has expired or is not yet valid (prober "ROUND_TRIPPER_RAFT_MESSAGE")
2024-04-20 19:38:15.564622 W | rafthttp: health check for peer f4a0cb0a765574a8 could not connect: x509: certificate has expired or is not yet valid (prober "ROUND_TRIPPER_SNAPSHOT")

建议添加一下时间同步

如果etcd服务器时间不同步的话,etcd组成集群有问题,执行./etcdctl cluster-health 总是报错,后来date一下,发现时间不一致,在执行之后就OK了

具体命令

timedatectl set-timezone Asia/Shanghai

timedatectl set-ntp true

第二章nging启动失败报错

遇到nginx启动报错出现
Oct 02 00:51:40 hdss7-11.host.com nginx[121227]: nginx: [emerg] bind() to 0.0.0.0:7443 failed (13: Permission denied)
多次确认配置文件没问题的情况下

可以尝试使用
setsebool -P httpd_can_network_connect 1
执行这个命令后,SELinux将允许Nginx进行网络连接,通常可以解决Nginx绑定端口时的权限问题。
ausearch -c 'nginx' --raw | audit2allow -M my-nginx
semodule -X 300 -i my-nginx.pp
这将尝试生成并应用一个SELinux策略模块,以允许Nginx绑定到端口 7443。
进行这俩操作后,可以使nginx正常启动

第二章里面etcd安装,最新版etcd3.5.4

最新版etcd3.5.4的参数配置改成如下,可run
#!/bin/sh
./etcd --name etcd-server-7-21
--data-dir /data/etcd/etcd-server
--listen-peer-urls https://10.4.7.21:2380
--listen-client-urls https://10.4.7.21:2379,http://127.0.0.1:2379
--quota-backend-bytes 8000000000
--initial-advertise-peer-urls https://10.4.7.21:2380
--advertise-client-urls https://10.4.7.21:2379,http://127.0.0.1:2379
--initial-cluster etcd-server-7-12=https://10.4.7.12:2380,etcd-server-7-21=https://10.4.7.21:2380,etcd-server-7-22=https://10.4.7.22:2380
--trusted-ca-file ./certs/ca.pem
--cert-file ./certs/etcd-peer.pem
--key-file ./certs/etcd-peer-key.pem
--client-cert-auth
--trusted-ca-file ./certs/ca.pem
--peer-cert-file ./certs/etcd-peer.pem
--peer-key-file ./certs/etcd-peer-key.pem
--peer-client-cert-auth
--peer-trusted-ca-file ./certs/ca.pem
--log-outputs stdout

paas开放平台上的多租户怎么做呢?

如题,在寻找一个干净的paas平台架构,然后将一些nlp服务做成saas服务放进去,做个支持多租户的应用平台。也就是用户可以在平台上注册自己的应用然后得到独立的或者共享的nlp服务资源。

第五章里的dubbo-monitor安装注意事项

1、dubbo-monitor 启动报 read-only file system的错,修改bin/start.sh,注释第一行"cp xxxxx",手动cp dubbo_origin.properties dubbo.properties,在进行镜像的构建
2、pod起不来的问题,修改bin/start.sh, 将nohup java $JAVA_OPTS那一行最后的重定向和后台运行符& 去掉 ,即去掉“2>&1 &”

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.