一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在K8s上部署MySQL

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 2023-12-05 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡(jiǎn)介

JumpServer是一款免費(fèi)開(kāi)源的堡壘機(jī),可以幫助企業(yè)以更安全的方式管控和登錄各種類(lèi)型的資產(chǎn)。

JumpServer 堡壘機(jī)支持事前授權(quán)、事中監(jiān)察、事后審計(jì),滿足等保合規(guī)要求。

使用Helm安裝JumpServer

在K8s上部署MySQL

由于JumpServer需要使用外部MySQL,因此需要自己配置

添加Helm源
helm repo add bitnami https://charts.bitnami.com/bitnami

下載MySQL Helm Chart

helm fetch bitnami/mysql

tar -xf mysql-9.12.3.tgz

[root@node1 jumpserver]
[root@node1 mysql]
Chart.lock  charts  Chart.yaml  README.md  templates  values.schema.json  values.yaml

修改其中的values.yaml文件,內(nèi)容如下


global:
  imageRegistry: ""
   
  imagePullSecrets: []
  storageClass: "csi-rbd-sc"  
auth:
  
  
  
  rootPassword: "mysql_password"  
  
  
  
  createDatabase: true  
  
  
  
  database: "jumpserver"  
  
  
  
  username: "jms"        
  
  
  password: "jms_password"  
  
  
    livenessProbe:
        enabled: true
        initialDelaySeconds: 60  
        periodSeconds: 60  
        timeoutSeconds: 10 
        failureThreshold: 3
        successThreshold: 1
    readinessProbe:
        enabled: true
        initialDelaySeconds: 60
        periodSeconds: 60
        timeoutSeconds: 10
        failureThreshold: 3
        successThreshold: 1 
    startupProbe:
        enabled: true
        initialDelaySeconds: 60
        periodSeconds: 60
        timeoutSeconds: 10
        failureThreshold: 10
        successThreshold: 1

創(chuàng)建名稱(chēng)空間

創(chuàng)建名稱(chēng)空間kms,后面的服務(wù)都部署在該名稱(chēng)空間下

kubectl create ns jms


部署MySQL


helm install jms-mysql . -f values.yaml -n jms

在k8s上部署redis

由于JumpServer需要使用外部redis,因此也需要自己配置

下載Redis Helm Chart

helm fetch bitnami/redis

tar -xf redis-18.0.4.tgz


[root@node1 jumpserver]
[root@node1 redis]
Chart.lock  charts  Chart.yaml  img  README.md  templates  values.schema.json  values.yaml

修改values.yaml文件內(nèi)容如下


global:
  imageRegistry: ""
  
  
   imagePullSecrets: []
  storageClass: "csi-rbd-sc"  
  redis:
    password: "redis_password"

應(yīng)用Chart
helm install jms-redis . -f values.yaml  -n jms

查看Pod


[root@node1 redis]
NAME                   READY   STATUS    RESTARTS   AGE
jms-mysql-0            1/1     Running   0          14m
jms-redis-master-0     1/1     Running   0          3m5s
jms-redis-replicas-0   1/1     Running   0          3m5s
jms-redis-replicas-1   1/1     Running   0          119s
jms-redis-replicas-2   1/1     Running   0          77s

部署JumpServer

添加Helm源

helm repo add jumpserver https://jumpserver.github.io/helm-charts


搜索JumpServer Helm Chart


[root@node1 jumpserver]
NAME                    CHART VERSION   APP VERSION     DESCRIPTION                                       
jumpserver/jumpserver   3.8.1           v3.8.1          A Helm chart for Deploying Jumpserver on K
ubern...

下載Helm Chart 以便修改其中的values.yml

helm fetch jumpserver/jumpserver


如果上一步下載網(wǎng)速慢無(wú)法下載的話可以克隆github項(xiàng)目

git clone https://github.com/jumpserver/helm-charts.git


修改values.yaml


[root@node1 jumpserver]
/root/jumpserver/helm-charts/charts/jumpserver
[root@node1 jumpserver]
Chart.yaml  configs  README.md  templates  values.yaml

修改values.yaml內(nèi)容如下


[root@node1 ~]
2c8jbQPosNKb2pC1iGkFwMHwYwg0XYaykCPiAeO8PccHAixbih


[root@node1 ~]
wF3NSIDTGGtO22cUNwBRV808


global:
  imageRegistry: "docker.io"  
  imageTag: v3.8.1
  
  
   imagePullSecrets: []
  storageClass: "csi-rbd-sc"  


externalDatabase:
  engine: mysql
  host: jms-mysql  
  port: 3306
  user: jms       
  password: "jms_password"
  database: jumpserver


externalRedis:
  host: localhost
  port: 6379
  password: "redis_password"
core:
  enabled: true


  labels:
    app.jumpserver.org/name: jms-core


  config:
    
    secretKey: "2c8jbQPosNKb2pC1iGkFwMHwYwg0XYaykCPiAeO8PccHAixbih"  
    
    bootstrapToken: "wF3NSIDTGGtO22cUNwBRV808" 
    
accessModes:
  - ReadWriteOnce

應(yīng)用Chart

該步驟時(shí)間可能會(huì)較長(zhǎng)

helm install jumpserver . -f values.yaml -n jms


查看Pod


[root@node1 ~]
NAME                    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                         AGE
jms-mysql               ClusterIP   10.96.211.71            3306/TCP                        146m
jms-mysql-headless      ClusterIP   None                    3306/TCP                        146m
jms-redis-headless      ClusterIP   None                    6379/TCP                        135m
jms-redis-master        ClusterIP   10.96.40.37             6379/TCP                        135m
jms-redis-replicas      ClusterIP   10.96.237.101           6379/TCP                        135m
jumpserver-jms-chen     ClusterIP   10.96.66.253            8082/TCP                        31m
jumpserver-jms-core     ClusterIP   10.96.204.210           8080/TCP                        31m
jumpserver-jms-kael     ClusterIP   10.96.236.163           8083/TCP                        31m
jumpserver-jms-koko     ClusterIP   10.96.68.28             5000/TCP,2222/TCP               31m
jumpserver-jms-lion     ClusterIP   10.96.26.169            8081/TCP                        31m
jumpserver-jms-magnus   ClusterIP   10.96.238.16            33061/TCP,33062/TCP,63790/TCP   31m
jumpserver-jms-web      ClusterIP   10.96.209.160           80/TCP    
                      31m

查看service


[root@node1 ~]
NAME                    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                         AGE
jms-mysql               ClusterIP   10.96.211.71            3306/TCP                        131m
jms-mysql-headless      ClusterIP   None                    3306/TCP                        131m
jms-redis-headless      ClusterIP   None                    6379/TCP                        120m
jms-redis-master        ClusterIP   10.96.40.37             6379/TCP                        120m
jms-redis-replicas      ClusterIP   10.96.237.101           6379/TCP                        120m
jumpserver-jms-chen     ClusterIP   10.96.66.253            8082/TCP                        16m
jumpserver-jms-core     ClusterIP   10.96.204.210           8080/TCP                        16m
jumpserver-jms-kael     ClusterIP   10.96.236.163           8083/TCP                        16m
jumpserver-jms-koko     ClusterIP   10.96.68.28             5000/TCP,2222/TCP               16m
jumpserver-jms-lion     ClusterIP   10.96.26.169            8081/TCP                        16m
jumpserver-jms-magnus   ClusterIP   10.96.238.16            33061/TCP,33062/TCP,63790/TCP   16m
jumpserver-jms-web      ClusterIP   10.96.209.160           80/TCP       
                   16m

使用Istio暴露jumpserver web服務(wù)

創(chuàng)建gateway


apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: jumpserver-gateway
  namespace: istio-system
spec:
  selector:
    app: istio-ingressgateway
  servers:
  - port:
     number: 80
     name: http
     protocol: HTTP
    hosts:
    - "jumpserver.myk8s.cn"


應(yīng)用yaml文件
kubectl apply -f jumpserver-gateway.yaml


創(chuàng)建VirtualService


apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: jumpserver-virtualservice
  namespace: jms
spec:
  hosts:
  - "jumpserver.myk8s.cn"
  gateways:
  - istio-system/jumpserver-gateway
  http:
  - match:
     - uri:
         prefix: /
    route:
    - destination:
        host: jumpserver-jms-web
        port:
          number: 80


應(yīng)用yaml文件
[root@node1 jumpserver]
virtualservice.networking.istio.io/jumpserver-virtualservice created

測(cè)試

查看istio ingressgateway的external-ip


[root@node1 jumpserver]
NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP                   PORT(S)                                                                                      AGE
grafana                ClusterIP      10.96.234.93                            3000/TCP                                                                                     13d
istio-egressgateway    ClusterIP      10.96.24.219                            80/TCP,443/TCP                                                                               14d
istio-ingressgateway   LoadBalancer   10.96.174.147   192.168.0.111,192.168.0.222   15021:31848/TCP,80:31657/TCP,20001:31775/TCP,443:30425/TCP,31400:31780/TCP,15443:30671/TCP   14d
istiod                 ClusterIP      10.96.49.69                             15010/TCP,15012/TCP,443/TCP,15014/TCP                                                        14d
jaeger-collector       ClusterIP      10.96.63.79                             14268/TCP,14250/TCP,9411/TCP,4317/TCP,4318/TCP                                               13d
kiali                  ClusterIP      10.96.202.30                            20001/TCP,9090/TCP                                                                           13d
loki-headless          ClusterIP      None                                    3100/TCP                                                                                     13d
prometheus             ClusterIP      10.96.109.177                           9090/TCP                                                                                     13d
tracing                ClusterIP      10.96.141.120                           80/TCP,16685/TCP                                                                             13d
zipkin                 ClusterIP      10.96.225.164                           9411/TCP                          
                                                           13d

在需要訪問(wèn)jumpserver服務(wù)的主機(jī)上修改hosts,將jumpserver.myk8s.cn解析為external-ip地址,這里解析為192.168.0.111

79a2eb14-903b-11ee-939d-92fbcf53809c.jpg

訪問(wèn)服務(wù)

79b8e8ce-903b-11ee-939d-92fbcf53809c.jpg

79ce0fb0-903b-11ee-939d-92fbcf53809c.jpg

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    860

    瀏覽量

    27954
  • Service
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    14097

原文標(biāo)題:K8s部署Jumpserver并使用Istio對(duì)外暴露服務(wù)

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么是 K8S,如何使用 K8S

    Kubernetes(簡(jiǎn)稱(chēng)K8S)是一個(gè)用于管理容器化應(yīng)用程序的開(kāi)源平臺(tái)。以下是關(guān)于K8S及其使用方法的介紹: 一、什么是 K8S 核心特點(diǎn) 自動(dòng)化容器編排:自動(dòng)處理容器的部署、擴(kuò)展
    發(fā)表于 06-25 06:45

    全面提升,阿里云Docker/Kubernetes(K8S) 日志解決方案與選型對(duì)比

    方案簡(jiǎn)介如上圖所示,我們只需要在Kubernetes集群中的每個(gè)節(jié)點(diǎn)上部署一個(gè)Logtail的容器,即可實(shí)現(xiàn)該節(jié)點(diǎn)上宿主機(jī)日志、容器日志、容器stdout等所有數(shù)據(jù)源的一站式采集。我們針對(duì)k8s提供了
    發(fā)表于 02-28 12:49

    OpenStack與K8s結(jié)合的兩種方案的詳細(xì)介紹和比較

    OpenStack與K8S結(jié)合主要有兩種方案。一是K8S部署在OpenStack平臺(tái)之上,二是K8S和OpenStack組件集成。
    的頭像 發(fā)表于 10-14 09:38 ?2.8w次閱讀

    Docker不香嗎為什么還要用K8s

    Docker 雖好用,但面對(duì)強(qiáng)大的集群,成千上萬(wàn)的容器,突然感覺(jué)不香了。 這時(shí)候就需要我們的主角 Kubernetes 上場(chǎng)了,先來(lái)了解一下 K8s 的基本概念,后面再介紹實(shí)踐,由淺入深步步為營(yíng)
    的頭像 發(fā)表于 06-02 11:56 ?3701次閱讀

    簡(jiǎn)單說(shuō)明k8s和Docker之間的關(guān)系

    這篇文章主要介紹了k8s和Docker關(guān)系簡(jiǎn)單說(shuō)明,本文利用圖文講解的很透徹,有需要的同學(xué)可以研究下 最近項(xiàng)目用到kubernetes(以下簡(jiǎn)稱(chēng)k8s,ks之間有
    的頭像 發(fā)表于 06-24 15:48 ?3748次閱讀

    K8S集群服務(wù)訪問(wèn)失敗怎么辦 K8S故障處理集錦

    問(wèn)題1:K8S集群服務(wù)訪問(wèn)失敗? ? ? 原因分析:證書(shū)不能被識(shí)別,其原因?yàn)椋鹤远x證書(shū),過(guò)期等。 解決方法:更新證書(shū)即可。 問(wèn)題2:K8S集群服務(wù)訪問(wèn)失敗? curl: (7) Failed
    的頭像 發(fā)表于 09-01 11:11 ?1.6w次閱讀
    <b class='flag-5'>K8S</b>集群服務(wù)訪問(wèn)失敗怎么辦 <b class='flag-5'>K8S</b>故障處理集錦

    K8S(kubernetes)學(xué)習(xí)指南

    K8S(kubernetes)學(xué)習(xí)指南
    發(fā)表于 06-29 14:14 ?0次下載

    mysql部署k8s上的實(shí)現(xiàn)方案

    的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一。這里主要講 mysql 部署k8s 上,mysql
    的頭像 發(fā)表于 09-26 10:39 ?2847次閱讀

    k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres

    k8s是什么意思? kubernetes簡(jiǎn)稱(chēng)K8s,是一個(gè)開(kāi)源的,用于管理云平臺(tái)中多個(gè)主機(jī)上的容器化的應(yīng)用,Kubernetes的目標(biāo)是讓部署容器化的應(yīng)用簡(jiǎn)單并且高效(powerful
    發(fā)表于 07-19 13:14 ?1326次閱讀

    什么是K3sK8s?K3sK8s有什么區(qū)別?

    Kubernetes,通??s寫(xiě)為 K8s,是領(lǐng)先的容器編排工具。該開(kāi)源項(xiàng)目最初由 Google 開(kāi)發(fā),幫助塑造了現(xiàn)代編排的定義。該系統(tǒng)包括了部署和運(yùn)行容器化系統(tǒng)所需的一切。
    的頭像 發(fā)表于 08-03 10:53 ?8498次閱讀

    k8s架構(gòu)篇:服務(wù)部署模式是如何變遷的

    kubernetes,簡(jiǎn)稱(chēng) K8s,是用 8 代替中間 8 個(gè)字符 “ubernete” 而成的縮寫(xiě),是一個(gè)開(kāi)源的,用于管理云平臺(tái)中多個(gè)主機(jī)上的容器化的應(yīng)用,Kubernetes 的目標(biāo)是讓
    的頭像 發(fā)表于 10-15 15:39 ?888次閱讀
    <b class='flag-5'>k8s</b>架構(gòu)篇:服務(wù)<b class='flag-5'>部署</b>模式是如何變遷的

    K8S落地實(shí)踐經(jīng)驗(yàn)分享

    k8s 即 Kubernetes,是一個(gè)開(kāi)源的容器編排引擎,用來(lái)對(duì)容器化應(yīng)用進(jìn)行自動(dòng)化部署、 擴(kuò)縮和管理。
    的頭像 發(fā)表于 01-02 11:45 ?1613次閱讀
    <b class='flag-5'>K8S</b>落地實(shí)踐經(jīng)驗(yàn)分享

    k8s可以部署私有云嗎?私有云部署全攻略

    Kubernetes(簡(jiǎn)稱(chēng)K8S)可以部署私有云。Kubernetes是一個(gè)開(kāi)源的容器編排引擎,能夠自動(dòng)化容器的部署、擴(kuò)展和管理,使得應(yīng)用可以在各種環(huán)境中高效運(yùn)行。通過(guò)使用Kubernetes,企業(yè)可以在自己的數(shù)據(jù)中心或私有云環(huán)
    的頭像 發(fā)表于 10-25 09:32 ?478次閱讀

    混合云部署k8s集群方法有哪些?

    混合云部署k8s集群方法是首先需在本地與公有云分別建立K8s集群,并確保網(wǎng)絡(luò)連接。接著,配置kubeconfig文件連接兩集群,并安裝云服務(wù)插件以實(shí)現(xiàn)資源互通。然后,編寫(xiě)Deployment文件
    的頭像 發(fā)表于 11-07 09:37 ?506次閱讀

    k8s和docker區(qū)別對(duì)比,哪個(gè)更強(qiáng)?

    部署、擴(kuò)展、管理和應(yīng)用生命周期管理能力,可實(shí)現(xiàn)高可用性和自動(dòng)伸縮,兩者常結(jié)合使用以優(yōu)化容器化和應(yīng)用管理。UU云小編將對(duì)k8s和docker區(qū)別進(jìn)行詳細(xì)對(duì)比:
    的頭像 發(fā)表于 12-11 13:55 ?677次閱讀