当前位置: 首页 > news >正文

全屏网站宽度免费做图素材网站有哪些

全屏网站宽度,免费做图素材网站有哪些,网站系统功能流程图,网站建设百度云资源十、 Jenkins集成k8s Jenkins在集成K8s之前,需要搭建k8s集群,具体搭建步骤,完整笔记 https://github.com/ITenderL/ITenderL.github.io/tree/main/docs/DevOps, 包括完整的DevOps的笔记。 1. 准备部署的yml文件 pipeline.yml …

十、 Jenkins集成k8s

Jenkins在集成K8s之前,需要搭建k8s集群,具体搭建步骤,完整笔记
https://github.com/ITenderL/ITenderL.github.io/tree/main/docs/DevOps,
包括完整的DevOps的笔记。

1. 准备部署的yml文件

pipeline.yml

apiVersion: apps/v1
kind: Deployment
metadata:namespace: testname: pipelinelabels:app: pipeline
spec:replicas: 2selector:matchLabels:app: pipelinetemplate:metadata:labels:app: pipelinespec:containers:- name: pipelineimage: harbor.com/sswang/pipeline:v4.0.0imagePullPolicy: Alwaysports:- containerPort: 8080---
apiVersion: v1
kind: Service
metadata:namespace: testname: pipelinelabels:app: pipeline
spec:selector:app: pipelineports:- port: 8082targetPort: 8080type: NodePort---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:namespace: testname: pipeline
spec:ingressClassName: nginxrules:- host: pipeline.test.comhttp:paths:- path: /pathType: Prefixbackend:service:name: pipelineport:number: 8082
2. 配置Docker私服

在尝试用kubernetes的yml文件启动pipeline服务时,会出现Kubernetes无法拉取镜像的问题,这里需要在kubernetes所在的Linux中配置Harbor服务信息,并且保证Kubernetes可以拉取Harbor上的镜像。
在这里插入图片描述
填写你的harbor地址信息,填写完成后下面会生成一行命令,复制命令到你的kube服务器运行,看是否可以登录成功,登陆成功就ok了
在这里插入图片描述
如果不成功,要检查一下你的daemon.json的配置

{"exec-opts": ["native.cgroupdriver=systemd"],# docker私服地址,把你的harbor地址加到这里"insecure-registries": ["kubernetes-register.sswang.com", "harbor.com"],"registry-mirrors": ["https://docker.m.daocloud.io","https://dockerhub.icu","https://registry.aliyuncs.com","https://docker.nju.edu.cn"]
}

配置完成后,再次启动你的pipeline.yml

# 删除
kubectl delete -f pipeline.yml
# 启动
kubectl apply -f pipeline.yml

部署成功后,查看状态

[root@master ~]# kubectl get all -n test
NAME                            READY   STATUS    RESTARTS   AGE
pod/pipeline-647d4585fb-qh292   1/1     Running   0          48mNAME               TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
service/pipeline   NodePort   10.96.126.239   <none>        8082:32562/TCP   48mNAME                       READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/pipeline   1/1     1            1           48mNAME                                  DESIRED   CURRENT   READY   AGE
replicaset.apps/pipeline-647d4585fb   1         1         1       48m

然后访问192.168.201.111:32562
在这里插入图片描述

3. Jenkins配置k8s
  • 在系统配置下面添加publish over ssh 配置,配置完成后,应用保存
    在这里插入图片描述
    • 修改pipeline任务配置

修改项目中Jenkinsfile中publish over ssh步骤的配置命令,到pipeline语法中生成
在这里插入图片描述

sshPublisher(publishers: [sshPublisherDesc(configName: 'k8s', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'pipeline.yml')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])

然后修改项目中的Jenkinsfile的配置,用下面的配置,替换原来publish over ssh的配置

		stage('将部署的yml文件传送到k8s-master节点') {steps {sshPublisher(publishers: [sshPublisherDesc(configName: 'k8s', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'pipeline.yml')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])}}

修改代码返回5.0.0,然后打标签v5.0.0,,然后构建看是否可以将pipeline文件传送到k8s服务器

[root@master k8s]# ls /usr/local/k8s/
pipeline.yml
# 文件已经传到目标服务器了,然后执行文件
  • 运行pipeline.yml

如何运行pipeline.yml,使用shell命令的方式会需要输入密码

[root@master ~]# ssh root@192.168.201.120 kubectl ap -f /usr/local/k8s/pipeline.yml
root@192.168.201.120's password:

因此只能使用ssh的无密码登录方式,让Jenkins容器内部以无密码的方式连接到k8s的master节点,绝体步骤如下

  1. 进入Jenkins容器内部
[root@clear jenkins_docker]# docker exec -it jenkins bash
jenkins@e96108b4b77b:/$ cd ~
# 找到隐藏的文件.ssh
jenkins@e96108b4b77b:~$ ls -a
.sshjenkins@e96108b4b77b:~$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC86IaWBtwJkhlAEH4WYoMUAg8acBZGiM13BZPTsHeqM541lKp02qcgvk8RBd9Zg2ykmeCH6qkPNLTVPzqfR75bnOFD7ZZ3q/A0Yl6h06NzoxFAIAepuXdy+hF+IK3ORScl1pOsFq8TQAWtQWN2UTPYJ7xORW8w/2hgwXKffwzTj1uuA2PZDpoQanSyx1N0qV+/t2omFRFscV1BkhiZvNKa7Pifesd3m24y/uFykZTE8/YCn8Bjbvlj1AH77vdgkkrCXjFJZeqWVLYcpLEGVqUt9tklDI9XkEf6gE/ut+QWtB5HHN+pfW95MFkFY/78i4KXNDUT7+Ogix0AqvUKyhriMOUx8KaAfLCUAWNtrmC+mLQwPFyyJN1EEiCNYWb6OJ5G9geH1YvrzoRfcpLk/k6pmsbkrpJdxh2ZSQqwdvTnxWNDMjnJLRw4OE6rRMp57qWecFnqJuaJN1z43Cdk2wo9J/Ve6f02vXAN0iTFK6t6xAF9E5+lBbKps9FRoLz/3njqWcrMlFQ3jKO2IvL/JJKe+fNbc6VHGT0BPc2TQ4nay24I7KAqfLhLqkrpuhOHbPoj7dO3yr5zzu0I9Z78gPsRpM2BOmaEE+Q2WXKyGUZmsr3IWdy9V/l4IwxYRlNUxjvUxbetkbvRRP8rT48JhsJYeZfHAekgpsVnHKJMsTYnAQ== your_email@example.com# 如果没有则自己生成,生成方式如下

在设置SSH服务时,生成SSH密钥(公钥和私钥)是一个常见的任务。这些密钥用于安全地进行身份验证,无需输入密码。以下是如何生成SSH密钥的步骤:

  1. 生成SSH密钥对
    首先,您需要在客户端机器上生成一个SSH密钥对。使用ssh-keygen命令来生成密钥对。

ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
-t rsa:指定密钥类型为RSA。
-b 4096:指定密钥长度为4096位。
-C “your_email@example.com”:添加注释(通常是您的电子邮件地址),这有助于识别密钥。
执行上述命令后,系统会提示您输入文件名以保存密钥(默认情况下保存在~/.ssh/id_rsa中),以及是否设置密码短语。设置密码短语可以增加额外的安全层,但也可以留空以便免密码连接。

  1. 查看生成的密钥文件
    生成密钥对后,您的SSH目录(通常是~/.ssh)中将包含以下两个文件:

id_rsa:私钥文件。
id_rsa.pub:公钥文件。

  1. 将公钥复制到远程服务器
    要使用SSH密钥登录到远程服务器,需要将生成的公钥添加到远程服务器上的~/.ssh/authorized_keys文件中。可以使用ssh-copy-id命令来完成此操作:
ssh-copy-id user@remote_host

user:远程服务器上的用户名。
remote_host:远程服务器的IP地址或域名。
此命令会提示您输入远程服务器用户的密码,并将公钥自动复制到远程服务器的~/.ssh/authorized_keys文件中。

  1. 手动复制公钥 (可选
    如果无法使用ssh-copy-id,也可以手动复制公钥。首先查看公钥内容:
cat ~/.ssh/id_rsa.pub

然后,将输出的内容复制并粘贴到远程服务器上的~/.ssh/authorized_keys文件中。确保文件权限正确:

在远程服务器上执行

mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "your_public_key" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
  1. 测试SSH连接
    完成上述步骤后,您应该能够使用SSH密钥进行无密码登录:
ssh user@remote_host

如果一切正常,您将直接登录到远程服务器,而不需要输入密码。

  1. 配置SSH客户端(可选)
    为了更方便地管理多个SSH连接,可以在本地机器的~/.ssh/config文件中配置SSH客户端:
Host remote_host_alias
HostName remote_host
User user
IdentityFile ~/.ssh/id_rsa

这样,您可以通过别名进行连接:

ssh remote_host_alias

通过以上步骤,您可以生成SSH密钥并配置SSH服务,以便实现更加安全和便捷的无密码登录

  • 来到k8s的master节点用户目录下.ssh文件夹,把jenkins的公钥放到.ssh文件夹下的authorized_keys文件中
[root@master ~]# cd ~
[root@master ~]# ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  .config  deploy-nginx.yml  ingress  kuboard-v3.yaml   pipeline.yml  .ssh     .viminfo
..  .bash_history    .bash_profile  .cache   .cshrc   .docker           .kube    nginx-tomcat.yml  .pki          .tcshrc
[root@master ~]# cd .ssh
[root@master .ssh]# ls
known_hosts
[root@master .ssh]#  touch authorized_keys
[root@master .ssh]# vim authorized_keys
# 复制密钥到文件中保存即可jenkins@e96108b4b77b:~$ ssh root@192.168.201.120 sfs
bash: sfs: command not found
jenkins@e96108b4b77b:~$

下面就可以在Jenkins中执行k8s的命令了,来到jenkins中添加配置,生成pipeline命令
在这里插入图片描述
修改项目中Jenkinsfile文件,在执行步骤中添加一个步骤,然后去Jenkins构建

stage('远程执行k8s-master节点的kubectl命令') {steps {sh 'ssh root@192.168.201.120 kubectl apply -f /usr/local/k8s/pipeline.yml'}}

最后成功部署了

http://www.yayakq.cn/news/97913/

相关文章:

  • 网站专题页做多大尺寸WaP网站模块
  • 全球互联网十大网站西安网站策划设计
  • 邢台设计公司东莞网站seo公司哪家大
  • 湖南建设厅网站证书查询莱芜金点子招聘网最新招聘
  • 济宁营销型网站建设南京制作网页公司
  • qq说说赞在线自助下单网站免费域名注册哪个网站好
  • 深圳营销型网站建设费用常州网站制作市场
  • 长春网站开发wordpress execl
  • 四川省和城乡建设厅网站首页云建站
  • 上谷网络网站建设wordpress留言页面
  • 网站做好后怎么更新内容用nas做网站
  • 互联网公司网站建设价格聊城网页设计公司
  • 企业网站html百度云网站关键词代码位置
  • 免费招收手游代理内服号网页优化公司
  • 医疗类网站建设网站怎样做优惠卷
  • 企业网站开发制作今天广西紧急通知最新
  • 做美食有哪些网站国外的网站模板类网站
  • 仕德伟做的网站图片怎么修甘肃网站建设推广
  • 济南网站建站wordpress怎么制作网站主页
  • 流量网站建设网站建设编辑教程
  • 江苏网站开发多少钱重庆涪陵网站建设
  • 古风自己做头像的网站长沙sem推广
  • 缙云县城乡建设局网站织梦怎么做双语网站
  • 网站推广软件wordpress网站500错误
  • 网站建设哪家质量好企业网站建设哪家服务好
  • 在哪里做公司网站网页制作公司接单
  • 网站建设推广有没有自媒体账号下载注册
  • 儿童教育网站源码淘宝买cdk自己做网站
  • 网站升级建设wordpress 水印 七牛
  • 正规品牌网站设计推荐1年网站