国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

docker+k8s+jenkins+harbor持續(xù)集成自動化部署

這篇具有很好參考價值的文章主要介紹了docker+k8s+jenkins+harbor持續(xù)集成自動化部署。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、安裝docker

另外一篇文章有講docker的安裝與相關配置,暫時就不講了

1、關閉防火墻并修改主機名

hostnamectl set-hostname k8s-master && bash #修改主機名
systemctl stop firewalld
systemctl disable firewalld

2、永久禁用swap

vi /etc/fstab
#驗證是否關閉,swap必須為0
free -g 

用#注釋掉swap一行(新版centos已經(jīng)默認禁用)
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
3、配置鏡像加速

到阿里云獲取自己鏡像加速地址
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

cat /etc/docker/daemon.json
        {
        "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"], ##修改為你的容器加速器地址   登錄阿里云點擊鏡像工具-鏡像加速器

4、安裝 docker-compose

  • 官網(wǎng)找到下載地址

https://github.com/docker/compose/releases 版本地址
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
我的下載地址

wget https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-linux-x86_64
  • 下載后移動至/usr/local/bin/文件夾下 (如果移動不了 就手動移動,記住重命名“docker-compose”)
 mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
 chmod a+x /usr/local/bin/docker-compose

注意 一定要配置掛載 不然磁盤容易滿
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

  • 啟動
./install.sh  #記住到harbor目錄中執(zhí)行install.sh  

我的harbor下載安裝的時候在home
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
進入到harbor命令 可以用 統(tǒng)一停止 和啟動所有harbor插件
docker-compose down 關閉
docker-compose up -d 啟動

  • 測試打包上傳到鏡像倉庫

現(xiàn)在下載一個鏡像nginx

docker pull nginx

給鏡像打tag

docker tag nginx:latest ip:端口/項目/nginx

上傳鏡像

docker push ip:端口/項目/nginx

#在linux 拉取gitlab的代碼 (尤其在jenkins一定要先通過ssh拉取一次代碼)

git clone sshxxxxxxxxxx地址

5、項目配置

  • 項目結構

docker+k8s+jenkins+harbor持續(xù)集成自動化部署
ums-app 為業(yè)務處理
ums-api 為api接口
因api包依賴到根項目的pom.xml 所以 打包時 需要將根項目打包,(但不打包ums-app)
排除ums-app 則在 ums-app的pom.xml

<maven.deploy.skip>true</maven.deploy.skip>
  • 創(chuàng)建Dockerfile
    創(chuàng)建的目錄為 app>src>main 因為只構建uniapp
FROM primetoninc/jdk:1.8

LABEL maintainer="wj"

VOLUME /tmp
VOLUME /file
ARG JAR_FILE
RUN echo $JAR_FILE
ADD $JAR_FILE app.jar
RUN sh -c 'touch /app.jar'

EXPOSE 8080
ENV SPRING_PROFILES_ACTIVE=dev
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  • 父項目加載打包插件
<properties>
        <docker.repository.releases>192.168.1.8:1180</docker.repository.releases>
        <revision>1.0.1-SNAPSHOT</revision>
</properties>

<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>1.2.2</version>
                    <configuration>
                        <serverId>docker-releases</serverId>
                        <registryUrl>http://${docker.repository.releases}</registryUrl>
                        <pushImage>true</pushImage>
                        <imageName>${docker.repository.releases}/ums/${project.artifactId}:${revision}</imageName>
                        <!--<dockerHost>http://172.25.6.11:2375</dockerHost>-->
                        <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                        <buildArgs>
                            <active>dev</active>
                            <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
                        </buildArgs>
                        <rm>true</rm>
                        <!-- 強制添加標簽-->
                        <forceTags>true</forceTags>
                        <imageTags>
                            <imageTag>${revision}</imageTag>
                        </imageTags>
                        <resources>
                            <resource>
                                <targetPath>/</targetPath>
                                <directory>${project.build.directory}</directory>
                                <include>${project.build.finalName}.jar</include>
                            </resource>
                        </resources>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>

    </build>
  • 子項目 ums-app引用
<plugin>
  <groupId>com.spotify</groupId>
  <artifactId>docker-maven-plugin</artifactId>
</plugin>

二、安裝jenkins

1、拉取jenkins鏡像
docker pull docker.io/jenkins/jenkins
2、創(chuàng)建文件夾
mkdir -p /home/jenkins
3、權限
chmod 777 /home/jenkins
4、啟動

# 注意jdk8的版本   不然可能會
docker run -d -uroot -p 8080:8080 -p 50000:50000 --name jenkins -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -v /home/jenkins:/var/jenkins -v /home/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins

5、打開客戶端
http://serverIp:port
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
6、由于在docker容器 安裝的jenkins 所以需要進入容器查看密碼
進入容器
docker exec -it jenkins bash
查看密碼
cat /var/jenkins_home/secrets/initialAdminPassword
登錄后 安裝推薦插件
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
插件安裝完成,創(chuàng)建管理員用戶
至此,Jenkins安裝完成!??!

7、因jenkins會拉取gitlab的代碼進行構建,采用ssh的方式則需密鑰,然后jenkins在docker容器中 所以需要進入docker容器生成密鑰

docker exec -it jenkins bash   # 進入docker容器

生成密鑰

#注意這里的-m PEM參數(shù),如果沒有的話,會生成較新版本的證書,jsch無法識別,后面無法用于ssh登錄
ssh-keygen -m PEM -t rsa  # 輸入后 一直按回車鍵即可
cd ~/.ssh  #進入到jenkins里面的.ssh目錄  會看到2個文件 id_rsa  id_rsa.pub

id_rsa.pub 為公鑰(放到gitlab中的SSH 密鑰) id_rsa 為私鑰(放到Jenkins憑證)
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
8、安裝插件

所需的插件:
? Maven插件 Maven Integration plugin
? 發(fā)布插件 Deploy to container Plugin
? SSH連接 Publish Over SSH

安裝過程:
系統(tǒng)管理—>插件管理---->可選插件—>過濾Deploy to container---->勾選—>直接安裝
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

docker+k8s+jenkins+harbor持續(xù)集成自動化部署
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

已安裝好的插件
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
9、jenkins配置

  • Dashboard>系統(tǒng)管理>Configure System (如果沒有這個配置則需要添加 插件)
    同一頁面
    Jenkins Location 這列需要配置 公網(wǎng)地址docker+k8s+jenkins+harbor持續(xù)集成自動化部署
    全局屬性 這列配置環(huán)境變量
    docker+k8s+jenkins+harbor持續(xù)集成自動化部署
    配置變量的地址
    vi /usr/lib/systemd/system/docker.service
    –graph /home/docker docker 掛載目錄 不處理磁盤容器滿了
    docker+k8s+jenkins+harbor持續(xù)集成自動化部署
    配置hosts地址
    vi /etc/hosts
    docker+k8s+jenkins+harbor持續(xù)集成自動化部署

  • Dashboard>系統(tǒng)管理>全局工具配置 (如果沒有這個配置則需要添加 插件)
    拉到最下面 我已經(jīng)裝了 所以是應用,沒有裝的情況是 需要新增一個
    選擇
    maven的版本
    名字
    docker+k8s+jenkins+harbor持續(xù)集成自動化部署
    進入jenkins 容器配置settings.xml
    如執(zhí)行出現(xiàn) 沒有vi命令

#安裝命令
apt-get update
apt-get install vim 

cd /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.8.6/conf
修改settings.xml
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

  • 配置jenkins的密鑰
    密鑰為之前在jenkins生成的,id_rsa 為密鑰 docker+k8s+jenkins+harbor持續(xù)集成自動化部署docker+k8s+jenkins+harbor持續(xù)集成自動化部署

  • 創(chuàng)建maven項目
    docker+k8s+jenkins+harbor持續(xù)集成自動化部署

  • BRANCH_ENV 為變量

  • dev、master 對應的分支名,必須一致

docker+k8s+jenkins+harbor持續(xù)集成自動化部署

圖1:
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

clean install -DskipTests=true -U docker:build **-D branch_env=${BRANCH_ENV}**

${BRANCH_ENV}  jenkins中配置的分支變量 下列圖1:

-D branch_env branch_env  為項目中pom.xml變量   下列圖2:


圖2:
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
前端構建
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
記得
插件管理中 安裝nodejs插件 和全局工具配置這里選擇 NodeJs
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

執(zhí)行的shell命令
cd docker
version=$(date "+%Y%m%d%H%M%S")
npm install
npm run build:$BRANCH_ENV
sh build-$BRANCH_ENV.sh $version
echo  $PASSWORD docker login xxx:1180 --username $USERNAME --password-stdin  # harbor ip:端口
docker push xxx:1180/html/ums-html-$BRANCH_ENV:$version

三、安裝Harbor私有鏡像倉庫

1、下載harbor

wget https://github.com/goharbor/harbor/releases/download/v2.0.6/harbor-offline-installer-v2.0.6.tgz

2、解壓下載的harbor

tar -zxvf harbor-offline-installer-v2.0.6.tgz

3、配置harbor
修改harbor.yml文件,如果該文件不存在,則從harbor.yml.tmpl復制一下

hostname: 10.1.1.132    ###修改成自己的主機ip,如果在公網(wǎng),則添加能訪問到該主機的域名
http:
port: 1180                ###默認是80端口,可以修改成自己想設置的端口
harbor_admin_password: 123456		###修改為你要設置的密碼
###并把https注釋掉,不然在安裝的時候會報錯:ERROR:root:Error: The protocol is https but attribute ssl_cert is not set
#https:
#port: 443
#certificate: /your/certificate/path
#private_key: /your/private/key/path

4、配置harbor地址 用于上傳鏡像

[root@master~]# cat /etc/docker/daemon.json
        {
        "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"], ##修改為你的容器加速器地址   登錄阿里云點擊鏡像工具-鏡像加速器
        "insecure-registries":["10.1.1.132:1180"]   ##修改為你的harbor服務器地址和端口
        }

5、此時 可以將代碼打包成鏡像 推送到harbor中了
啟動鏡像的命令
docker run -d -p 實際訪問端口:項目端口 192.168.1.8:1180/project/ums-app

-------------------------------------- 到此 整個構建、上傳已經(jīng)完成 -----------------------------------------

四、K8S搭建

  1. 如果之前有裝過k8s 建議先清理一次
yum remove -y kubelet kubeadm kubectl
kubeadm reset -f
rm -rvf $HOME/.kube
rm -rvf ~/.kube/
rm -rvf /etc/kubernetes/
rm -rvf /etc/systemd/system/kubelet.service.d
rm -rvf /etc/systemd/system/kubelet.service
rm -rvf /usr/bin/kube*
rm -rvf /etc/cni
rm -rvf /opt/cni
rm -rvf /var/lib/etcd
rm -rvf /var/etcd
#殺死運行的容器:
docker kill
#刪除所有容器:
docker rm 
#強制刪除所有鏡像:
docker rmi -f 
#如果發(fā)現(xiàn)還是清除不掉
ps -ef|grep kubelet
#然后再kill -9 id
  1. 修改主機名稱 (之前有處理過 可不用管)
hostnamectl set-hostname k8s-master && bash
  1. 添加主機的ip (之前有處理過 可不用管)
[root@k8s-master /]# cat /etc/hosts
192.168.1.8 k8s-master

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

185.199.108.133 raw.githubusercontent.com
  1. 關閉防火墻 (之前有處理過 可不用管)
systemctl stop firewalld
systemctl disable firewalld
  1. 關閉selinux(之前有處理過 可不用管)
setenforce 0
$ sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
  1. 關閉swap交換區(qū)間(之前有處理過 可不用管)
swapoff -a # 臨時
sed -i 's/.*swap.*/#&/' /etc/fstab # 永久
free -g #驗證,swap必須為0
  1. 配置 iptables鏈路(之前有處理過 可不用管)
$ cat > /etc/sysctl.d/k8s.conf <<EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 10
EOF
# 即時生效
$ sysctl --system 

#同步時間
yum install ntpdate -y
ntpdate time.windows.com
  1. 添加k8s yum源(之前有處理過 可不用管)
$ cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
  1. 安裝kubeadm、kubelet、kubectl
# 安裝版本是v1.21.5
yum -y install kubelet-1.21.5-0 kubectl-1.21.5-0 kubeadm-1.21.5-0
systemctl enable kubelet
  1. 初始化k8s
kubeadm init \
--apiserver-advertise-address 192.168.1.8 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.21.5 \
--service-cidr 10.96.0.0/12 \
--pod-network-cidr 10.244.0.0/16 \
--ignore-preflight-errors all \
--token-ttl 0

kubernetes-version :kubernetes 程序組件的版本號,盡量與安裝的 kubelet 版本號相同
image-repository :指定要使用的鏡像倉庫 默認: gar.io apiserver-advertise-address
:一般為 Master 節(jié)點用于集群內(nèi)通信的IP地址,填主機的網(wǎng)卡IP地址 10.0.4.16,也可以填 0.0.0.0
(這里我自己填的這個) service-cidr :Service 網(wǎng)絡的地址范圍,其值為 CIDR 格式的網(wǎng)絡地址。默認為
10.96.0.0/12 pod-network-cidr :Pod 網(wǎng)絡的地址范圍,其值為 CIDR 格式的網(wǎng)絡地址。通常 Flannel 的網(wǎng)絡插件默認值為 10.244.0.0/16 ;Calico 插件的默認值為 192.168.0.0/16

執(zhí)行kebeadm時 超時異常
error execution phase upload-config/kubelet: Error writing Crisocket information for the control-plane node: timed out waiting for the condition

執(zhí)行以下語句 然后再執(zhí)行 kubeadm init

swapoff -a && kubeadm reset  && systemctl daemon-reload && systemctl restart kubelet  && iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

執(zhí)行完成后保存以下信息 便于后續(xù)加入節(jié)點
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

  1. 配置kubectl工具
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
  1. 配置k8s網(wǎng)絡插件
#安裝calico網(wǎng)絡插件
yum install -y ca-certificates
# 獲取 calico.yaml
wget https://docs.projectcalico.org/manifests/calico.yaml 

sed -i "s#192\.168\.0\.0/16#10\.244\.0\.0/16#" calico.yaml

kubectl apply -f calico.yaml

#查看結果
kubectl get node
  1. k8s單機特殊處理
  • master節(jié)點污點處理

單集版的k8s安裝后, 無法部署服務。因為默認master不能部署pod,有污點, 需要去掉污點或者新增一個node,我這里是去除污點。

#執(zhí)行后看到有輸出說明有污點  k8s-master 主機名
kubectl describe nodes k8s-master |grep Taints 
#執(zhí)行這句就行,就是取消污點  gameble-  污點名帶減號表示刪除
kubectl taint node k8s-master gameble-  
  • 安裝補全命令包
yum -y install bash-completion
kubectl completion bash
source /usr/share/bash-completion/bash_completion
kubectl completion bash >/etc/profile.d/kubectl.sh
source /etc/profile.d/kubectl.sh

cat  >>  /root/.bashrc <<EOF
source /etc/profile.d/kubectl.sh
EOF
  • 基于k8s單機部署中間服務
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pods,svc

docker+k8s+jenkins+harbor持續(xù)集成自動化部署

訪問192.168.1.8:32662 nginx是否可以訪問 可訪問 代表正常

五、K8S可視化

1、k8s-dashboard 下載
官網(wǎng)地址
https://github.com/kubernetes/dashboard/releases
注意要下載對應的版本
目前我的k8s版本為v1.21.5
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

所以需要找到官網(wǎng)地址 支持1.21.5的版本
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

2、下載并應用文件

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml

如果下載yaml時 出現(xiàn)
The connection to the server raw.githubusercontent.com was refused - did you specify the right host or port?
配置/etc/hosts 解析地址
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

#編輯并應用這個配置
kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

# 搜索/type 修改為type: NodePort

docker+k8s+jenkins+harbor持續(xù)集成自動化部署
修改完成之后 就有端口了
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
可以開始訪問 k8s 可視化界面了
https://ip:30029

3、創(chuàng)建dashboard-svc-account.yaml 認證文件
我的認證文件存放在 home/k8s 目錄下

apiVersion: v1
kind: ServiceAccount
metadata:
  name: dashboard-admin
  namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: dashboard-admin
subjects:
  - kind: ServiceAccount
    name: dashboard-admin
    namespace: kube-system
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io

4、執(zhí)行認證文件

kubectl apply -f dashboard-svc-account.yaml
#獲取令牌
[root@i-wgt9mh3x ~]# kubectl get secret -n kube-system |grep admin|awk '{print $1}'
dashboard-admin-token-qt2n5

# 上一部的結果輸入到下面
[root@i-wgt9mh3x ~]# kubectl describe secret dashboard-admin-token-qt2n5 -n kube-system|grep '^token'|awk '{print $2}'

# 得到的token值
eyJhbGciOiJSUzI1NiIsImtpZCI6InVsemhnZWtOVFBy ?????????????????

通過token 去登錄

5、登錄進來后,創(chuàng)建命令空間
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
docker+k8s+jenkins+harbor持續(xù)集成自動化部署
注意創(chuàng)建的時候選擇創(chuàng)建的命名空間,這樣就會在命名空間里面了。
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

docker+k8s+jenkins+harbor持續(xù)集成自動化部署

生產(chǎn)環(huán)境運營的時候 拉取鏡像后 運行docker鏡像 指定環(huán)境變量即可
docker -e “SPRING_PROFILES_ACTIVE=pro”

6、可視化 安裝查看pods 內(nèi)存、CPU 插件

wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml

修改yaml配置文件的image為國內(nèi)源,否則拉取不到鏡像

image: k8s.gcr.io/metrics-server-amd64:v0.3.6 
#改成   
image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.6

加入
args:

- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP

應用

kubectl apply -f components.yaml

#查看cpu 內(nèi)存占用情況
docker+k8s+jenkins+harbor持續(xù)集成自動化部署

kubectl top po -n kube-system
kubectl top po -n default
kubectl -n kube-system top pod

crictl ps -a // 查看k8s信息
k8s 證書過期后

kubeadm certs check-expiration  // 查看證書有效期
kubeadm certs renew all  // 重新生成全部證書
kubeadm init phase kubeconfig all // 重新生成配置文件
systemctl restart kubelet // 重啟kubelet
cp /etc/kubernetes/admin.conf  ~/.kube/config //替換kubeconfig 

k8s 版本不更新 拉取最新的鏡像部署
在deployments 選擇對應的項目 編輯

spec:
      containers:
        - name: sas
          image: 鏡像地址
          env:
            - name: SPRING_PROFILES_ACTIVE
              value: test
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: Always

最后一個 imagePullPolicy: Always文章來源地址http://www.zghlxwxcb.cn/news/detail-479529.html

到了這里,關于docker+k8s+jenkins+harbor持續(xù)集成自動化部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • K8S + GitLab + Jenkins自動化發(fā)布項目實踐(二)

    K8S + GitLab + Jenkins自動化發(fā)布項目實踐(二)

    前置工作:已部署5節(jié)點k8s集群,并搭建了代碼倉庫和鏡像倉庫(GitLab + Harbor)。 主機名 IP 角色 k8s-master1 192.168.124.a k8s控制平面 k8s-master2 192.168.124.b k8s控制平面 k8s-master3 192.168.124.c k8s控制平面 k8s-worker1 192.168.124.d k8s工作節(jié)點 k8s-worker2 192.168.124.e k8s工作節(jié)點 harborgit 192.168.124.f

    2024年02月03日
    瀏覽(28)
  • Vmware虛擬機搭建 K8S ingress Jenkins Gitlab Harbor Docker 一鍵部署SpringCloud微服務

    Vmware虛擬機搭建 K8S ingress Jenkins Gitlab Harbor Docker 一鍵部署SpringCloud微服務

    本文主要基于Kubernetes1.22.2和Linux操作系統(tǒng)Ubuntu 20.04.6。 操作系統(tǒng) 主機名 IP地址 進程 功能 Ubuntu 20.04.6 k8s-master 192.168.189.128 docker,kube-apiserver,etcd,kube-scheduler,kube-controller-manager,kubelet,kube-proxy,coredns,calico 主節(jié)點 Ubuntu 20.04.6 k8s-node1 192.168.189.129 docker,kubelet,kube-proxy,c

    2024年02月03日
    瀏覽(42)
  • jenkins+docker集成harbor實現(xiàn)可持續(xù)集成

    jenkins+docker集成harbor實現(xiàn)可持續(xù)集成

    目錄 一、前言 二、Harbor介紹 2.1 什么是Harbor 2.1.1 Harbor架構圖 2.2 Harbor 特征 2.3 Harbor 核心組件 2.4 Harbor使用場景 三、Harbor部署 3.1 安裝docker compose 3.1.1 安裝方式一 3.2 基于python3 pip安裝docker compose 3.2.1 安裝python3 3.2.2 安裝python-pip3并升級 3.2.3 執(zhí)行命令安裝 docker-compose 3.2.4 查看d

    2024年04月15日
    瀏覽(28)
  • DevOps搭建(十九)-Jenkins+K8s自動化CI搭建詳細步驟

    DevOps搭建(十九)-Jenkins+K8s自動化CI搭建詳細步驟

    完整的pipeline-auto.yml腳本如下 完整的Jenkinsfile腳本如下 在Jenkins插件管理中搜索GitLab插件進行安裝。 進入Jenkins項目配置里的 構建觸發(fā)器 ,勾選如下選項: 從系統(tǒng)管理-系統(tǒng)配置-Gitlab將驗證去掉,生產(chǎn)最好配置保證安全。 如果是GitLab和Jenkins在同一臺服務器,需要開啟允許請求

    2024年01月23日
    瀏覽(33)
  • Jenkins流水線整合k8s實現(xiàn)代碼自動集成和部署

    Jenkins流水線整合k8s實現(xiàn)代碼自動集成和部署

    1、安裝好k8s集群 這里先要搭建好一個K8s集群,筆者這邊就采用使用了一個一主一叢的k8s集群,k8s集群的版本使用1.19.5版本,服務器的配置:2核4G,操作系統(tǒng): CentOS Linux release 7.9.2009 (Core) 主機名???????? ip k8smaster 192.168.19.8 k8sworker???????? 192.168.19.9 具體的安裝步驟可以

    2024年02月05日
    瀏覽(52)
  • K8S:K8S自動化運維容器Docker集群

    K8S:K8S自動化運維容器Docker集群

    (1)K8S全程為Kubernetes,由于K到S直接有8個字母簡稱為K8S。 (2)版本:目前一般是1.18~1.2.0,后續(xù)可能會到1.24-1.26,1.24版本后丟棄了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 (3)官網(wǎng):https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container S

    2024年02月10日
    瀏覽(43)
  • k8s集成harbor

    2024年02月16日
    瀏覽(20)
  • K8S:K8S自動化運維容器化(Docker)集群程序

    K8S:K8S自動化運維容器化(Docker)集群程序

    目錄 一、K8S概述 1、什么是K8S 2、為什么要用K8S 3、作用及功能 二、K8S的特性 1、彈性伸縮 2、自我修復 3、服務發(fā)現(xiàn)和復制均衡 5、自動發(fā)布和回滾 6、集中化配置管理和秘鑰管理 7、存儲編排 8、任務批量處理運行 三、K8S的集群架構 四、K8S的核心組件 1、Master組件 ①Kube-apis

    2024年02月12日
    瀏覽(40)
  • 持續(xù)集成部署-k8s-資源調(diào)度:HPA - Pod 基于負載指標自動水平擴容縮容

    首先我們找一個 Deployment 配置文件: nginx-deploy.yaml

    2024年02月07日
    瀏覽(29)
  • golang/云原生/Docker/DevOps/K8S/持續(xù) 集成/分布式/etcd 教程

    golang/云原生/Docker/DevOps/K8S/持續(xù) 集成/分布式/etcd 教程

    3-6個月幫助學員掌握golang后端開發(fā)崗位必備技術點 教程時長: 150+小時 五大核心專欄,原理+源碼+案例分析+項目實戰(zhàn)直擊工作崗位 golang:解決go語言編程問題 工程組件:解決golang工程化問題 分布式中間件:解決技術棧單一及分布式開發(fā)問題 云原生:解決云原生分布式部署及監(jiān)

    2024年02月07日
    瀏覽(63)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包