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

电子商务网站建设的核心是什么网站规划的特点

电子商务网站建设的核心是什么,网站规划的特点,猫咪网页链接,东莞常平新楼盘基于K8S部署安装Jenkins 1.Jenkins Kubernetes 清单文件2.Kubernetes Jenkins 部署1:为 Jenkins 创建 Namespace。 最好将所有DevOps工具分类为与其他应用程序分开的命名空间。2:创建“serviceAccount.yaml”文件并复制以下管理员服务帐户清单。1. kubec…

基于K8S部署安装Jenkins

  • 1.Jenkins Kubernetes 清单文件
  • 2.Kubernetes Jenkins 部署
    • 1:为 Jenkins 创建 Namespace。 最好将所有DevOps工具分类为与其他应用程序分开的命名空间。
    • 2:创建“serviceAccount.yaml”文件并复制以下管理员服务帐户清单。
      • 1. kubectl 创建服务帐户。
    • 3: 创建“volume.yaml”并复制以下持久性卷清单。
      • 1. kubectl 获取工作节点主机名。
      • 2.使用 kubectl 创建卷
    • 4:创建名为“deployment.yaml”的部署文件,并复制以下部署清单。
      • 1.使用 kubectl 创建部署。
      • 2.检查部署状态。
      • 3.查看部署详细信息。
  • 3.使用 Kubernetes 服务访问 Jenkins
      • 1.创建“service.yaml”并复制以下服务清单:
      • 2.使用 kubectl 创建 Jenkins 服务。
      • 3.显示devops-tools所有 Deployme 中的命名空间
      • 4.显示devops-tools所有 Pod 中的命名空间
      • 5.运行 exec 命令直接从如下所示的位置获取密码。
  • 4.访问 Jenkins 仪表板和安装设置

1.Jenkins Kubernetes 清单文件

此处使用的所有 Jenkins Kubernetes 清单文件都托管在 GitHub 上。 克隆存储库。

[root@master test]# git clone https://github.com/scriptcamp/kubernetes-jenkins
正克隆到 'kubernetes-jenkins'...
remote: Enumerating objects: 16, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 16 (delta 1), reused 0 (delta 0), pack-reused 9
接收对象中: 100% (16/16), 完成.
处理 delta 中: 100% (1/1), 完成root@master test]# cd kubernetes-jenkins/
[root@master kubernetes-jenkins]# ls
deployment.yaml  namespace.yaml  README.md  serviceAccount.yaml  service.yaml  volume.yaml

2.Kubernetes Jenkins 部署

让我们开始在 Kubernetes 上部署 Jenkins。

1:为 Jenkins 创建 Namespace。 最好将所有DevOps工具分类为与其他应用程序分开的命名空间。

[root@master kubernetes-jenkins]# kubectl  create namespace devops-tools
namespace/devops-tools created
#查看空间名
[root@master jenkins]# kubectl get namespaces
NAME              STATUS   AGE
default           Active   6d
devops-tools      Active   58m
ingress-nginx     Active   4d23h
jenkins           Active   3d18h
kube-flannel      Active   6d
kube-node-lease   Active   6d
kube-public       Active   6d
kube-system       Active   6d
[root@master jenkins]

2:创建“serviceAccount.yaml”文件并复制以下管理员服务帐户清单。

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: jenkins-admin
rules:- apiGroups: [""]resources: ["*"]verbs: ["*"]
---
apiVersion: v1
kind: ServiceAccount
metadata:name: jenkins-adminnamespace: devops-tools
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: jenkins-admin
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: jenkins-admin
subjects:
- kind: ServiceAccountname: jenkins-adminnamespace: devops-tools

serviceAccount.yaml’ 创建一个 ‘jenkins-admin’ clusterRole, ‘jenkins-admin’ ServiceAccount,并将 ‘clusterRole’ 绑定到服务账户。

“jenkins-admin”集群角色具有管理集群组件的所有权限。 您还可以通过指定单个资源操作来限制访问。

1. kubectl 创建服务帐户。

[root@master kubernetes-jenkins]# kubectl apply -f serviceAccount.yaml
clusterrole.rbac.authorization.k8s.io/jenkins-admin created

3: 创建“volume.yaml”并复制以下持久性卷清单。

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
---
apiVersion: v1
kind: PersistentVolume
metadata:name: jenkins-pv-volumelabels:type: local
spec:storageClassName: local-storageclaimRef:name: jenkins-pv-claimnamespace: devops-toolscapacity:storage: 10GiaccessModes:- ReadWriteOncelocal:path: /mntnodeAffinity:required:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- node1 #替换为任何一个集群工作节点主机名
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: jenkins-pv-claimnamespace: devops-tools
spec:storageClassName: local-storageaccessModes:- ReadWriteOnceresources:requests:storage: 3Gi

重要提示:将“node1”替换为任何一个集群工作节点主机名。

1. kubectl 获取工作节点主机名。

[root@master jenkins]# kubectl get nodes
NAME     STATUS   ROLES                  AGE   VERSION
master   Ready    control-plane,master   6d    v1.23.12
node1    Ready    <none>                 6d    v1.23.12
node2    Ready    <none>                 6d    v1.23.12

对于卷,我们使用“本地”存储类进行演示。 这意味着,它在“/mnt”位置下的特定节点中创建一个“PersistentVolume”卷。

由于“本地”存储类需要节点选择器,因此您需要正确指定工作节点名称,以便 Jenkins pod 在特定节点中进行调度。

如果 pod 被删除或重新启动,数据将保留在节点卷中。 但是,如果节点被删除,您将丢失所有数据。

理想情况下,您应使用云提供商提供的可用存储类的持久卷,或者使用集群管理员提供的持久性卷,以在节点故障时持久化数据。

2.使用 kubectl 创建卷

[root@master kubernetes-jenkins]# kubectl  create  -f volume.yaml 
storageclass.storage.k8s.io/local-storage created

4:创建名为“deployment.yaml”的部署文件,并复制以下部署清单。

apiVersion: apps/v1
kind: Deployment
metadata:name: jenkinsnamespace: devops-tools
spec:replicas: 1selector:matchLabels:app: jenkins-servertemplate:metadata:labels:app: jenkins-serverspec:securityContext:fsGroup: 1000runAsUser: 1000serviceAccountName: jenkins-admincontainers:- name: jenkinsimage: jenkins/jenkins:ltsresources:limits:memory: "2Gi"cpu: "1000m"requests:memory: "500Mi"cpu: "500m"ports:- name: httpportcontainerPort: 8080- name: jnlpportcontainerPort: 50000livenessProbe:httpGet:path: "/login"port: 8080initialDelaySeconds: 90periodSeconds: 10timeoutSeconds: 5failureThreshold: 5readinessProbe:httpGet:path: "/login"port: 8080initialDelaySeconds: 60periodSeconds: 10timeoutSeconds: 5failureThreshold: 3volumeMounts:- name: jenkins-datamountPath: /var/jenkins_homevolumes:- name: jenkins-datapersistentVolumeClaim:claimName: jenkins-pv-claim

在这个 Jenkins Kubernetes 部署中,我们使用了以下内容:

1.ecurityContext’,以便 Jenkins pod 能够写入本地持久卷。

2.活动和就绪情况探测,用于监视 Jenkins pod 的运行状况。

3.基于保存 Jenkins 数据路径“/var/jenkins_home”的本地持久性卷。

如果不需要本地存储持久卷,可以将部署中的卷定义替换为主机目录,如下所示。

volumes:
- name: jenkins-dataemptyDir: \{}

1.使用 kubectl 创建部署。

[root@master kubernetes-jenkins]# kubectl apply -f deployment.yaml
deployment.apps/jenkins created

2.检查部署状态。

[root@master kubernetes-jenkins]# kubectl get deployments -n devops-tools
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
jenkins   0/1     1            0           9s

3.查看部署详细信息。

[root@master kubernetes-jenkins]# kubectl describe deployments --namespace=devops-tools
Name:                   jenkins
Namespace:              devops-tools
CreationTimestamp:      Sun, 04 Aug 2024 22:15:18 -0400
Labels:                 <none>
Annotations:            deployment.kubernetes.io/revision: 1
Selector:               app=jenkins-server
Replicas:               1 desired | 1 updated | 1 total | 0 available | 1 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:Labels:           app=jenkins-serverService Account:  jenkins-adminContainers:jenkins:Image:       jenkins/jenkins:ltsPorts:       8080/TCP, 50000/TCPHost Ports:  0/TCP, 0/TCPLimits:cpu:     1memory:  2GiRequests:cpu:        500mmemory:     500MiLiveness:     http-get http://:8080/login delay=90s timeout=5s period=10s #success=1 #failure=5Readiness:    http-get http://:8080/login delay=60s timeout=5s period=10s #success=1 #failure=3Environment:  <none>Mounts:/var/jenkins_home from jenkins-data (rw)Volumes:jenkins-data:Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)ClaimName:  jenkins-pv-claimReadOnly:   false
Conditions:Type           Status  Reason----           ------  ------Available      False   MinimumReplicasUnavailableProgressing    True    ReplicaSetUpdated
OldReplicaSets:  <none>
NewReplicaSet:   jenkins-b96f7764f (1/1 replicas created)
Events:Type    Reason             Age   From                   Message----    ------             ----  ----                   -------Normal  ScalingReplicaSet  14s   deployment-controller  Scaled up replica set jenkins-b96f7764f to 1

3.使用 Kubernetes 服务访问 Jenkins

现在,我们已经创建了一个部署。 但是,它无法向外界开放。 为了从外部世界访问 Jenkins 部署,我们需要创建一个服务并将其映射到部署。

1.创建“service.yaml”并复制以下服务清单:

apiVersion: v1
kind: Service
metadata:name: jenkins-servicenamespace: devops-toolsannotations:prometheus.io/scrape: 'true'prometheus.io/path:   /prometheus.io/port:   '8080'
spec:selector:app: jenkins-servertype: NodePortports:- port: 8080targetPort: 8080nodePort: 32000

在这里,我们使用类型为“NodePort”,它将在端口 32000 上的所有 kubernetes 节点 IP 上公开 Jenkins。 如果您有入口设置,则可以创建入口规则来访问 Jenkins。 此外,如果您在 AWS、Google 或 Azure 云上运行集群,则可以将 Jenkins 服务公开为 Loadbalancer。

2.使用 kubectl 创建 Jenkins 服务。

[root@master kubernetes-jenkins]# kubectl apply -f service.yaml
service/jenkins-service created

3.显示devops-tools所有 Deployme 中的命名空间

[root@master kubernetes-jenkins]# kubectl get deployments -n devops-tools
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
jenkins   0/1     1            0           31s

4.显示devops-tools所有 Pod 中的命名空间

[root@master kubernetes-jenkins]# kubectl get pods --namespace=devops-tools
NAME                      READY   STATUS    RESTARTS   AGE
jenkins-b96f7764f-7zzbn   1/1     Running   0          3m5s

5.运行 exec 命令直接从如下所示的位置获取密码。

kubectl exec -it jenkins-b96f7764f-7zzbn cat /var/jenkins_home/secrets/initialAdminPassword -n devops-tools

4.访问 Jenkins 仪表板和安装设置

浏览器输入:http://<node-ip>:32000

将 管理员账户密码 复制到对应的地方,点击 继续
将 管理员账户密码 复制到对应的地方,点击 继续
这里建议点击 选择插件来安装,在点击 无 ,不安装任何插件,再点击 安装,因为我们没有配置镜像,安装插件是从外网下载过来的,会比较慢,并且下载的插件可能会出现不兼容等状况,导致失败率很高
这里建议点击 选择插件来安装,在点击 无 ,不安装任何插件,再点击 安装,因为我们没有配置镜像,安装插件是从外网下载过来的,会比较慢,并且下载的插件可能会出现不兼容等状况,导致失败率很高
在这里插入图片描述
[进入到创建管理员页面,填写账户信息后 保存并完成

进入到创建管理员页面,填写账户信息后 保存并完成
进入以下页面配置 jenkins 的 url ,一般使用默认的就行了,保存并完成
进入以下页面配置 jenkins 的 url ,一般使用默认的就行了,保存并完成
可以点击 开始使用 Jenkins 直接登录进入 Jenkins
可以点击 开始使用 Jenkins 直接登录进入 Jenkins

http://www.hyszgw.com/news/46776.html

相关文章:

  • 郑州优化网站公司有哪些网站个人备案容易过吗
  • 中国最大网站建设商alexa排名全球前50网站
  • 蓝色手机网站模板永久免费建站网站
  • 安装多个wordpress站点网站开发任务书模板
  • 如何判断网站是不是自适应c 网站开发构想
  • 广州公司网站建设推广设计良好的网站一般需要怎么做
  • 网站源码 下载德州市建设街小学官方网站
  • emlog做企业网站制作企业网站的代码
  • 企业门户网站设计团队做网站分工
  • 珠海网站搜索引擎优化龙岗教育网官网
  • 湖北城乡住房建设厅网站怎查证件网站建设2017主流代码语言
  • 怎样查网站的注册地点网站代码需要注意什么问题吗
  • 网站开发程序都有什么购物网站建设怎么样
  • 婚礼案例网站wordpress评论优化
  • 搭建一个网站要多久网站推广方法和策略
  • 视频网站怎么做的食品包装设计ppt
  • 上海大型网站制作公司wordpress侧边栏广告代码
  • wordpress 目录 导航站深圳外贸公司集中在哪些地方
  • 网站前台登录模板网站定制哪家比较好
  • 搭建网站知识机械加工工时计算软件
  • 网站管理 设置开启网站开发人员 把网站注销
  • 农业公司网站建设连连电商网站开发公司
  • 做网站时量宽度的尺子工具网站网站
  • dw做网站怎么跳转学计算机可以找什么工作
  • 大型大型网站制作简单的网站怎样做
  • 大型网站建设洛阳网站制作大连免费建站模板
  • 西安建站公司模板黄村专业网站建设公司
  • 网站接单做项目成都建站模板网站开发
  • 给网站添加百度地图安徽经工建设集团网站
  • 企业网站建设有几种形式网页设计图片地址怎么写