首页 > 其他分享 >istio: 取消注入sidecar

istio: 取消注入sidecar

时间:2023-04-19 18:24:51浏览次数:36  
标签:name 取消 consul istio server cluster error containerPort sidecar

1. 问题

Consul注入istio以后,功能异常了,后台管理页面都打不开,无法选择leader

2023-04-19T09:33:27.886Z [ERROR] agent: Coordinate update error: error="No cluster leader"

2023-04-19T09:33:46.598Z [ERROR] agent.anti_entropy: failed to sync remote state: error="No cluster leader"

2023-04-19T09:33:57.469Z [ERROR] agent: Coordinate update error: error="No cluster leader"

2023-04-19T09:34:16.298Z [ERROR] agent.anti_entropy: failed to sync remote state: error="No cluster leader"

2023-04-19T09:34:27.653Z [ERROR] agent: Coordinate update error: error="No cluster leader"

2023-04-19T09:34:39.173Z [ERROR] agent.anti_entropy: failed to sync remote state: error="No cluster leader"

2023-04-19T09:34:59.006Z [ERROR] agent: Coordinate update error: error="No cluster leader"

2023-04-19T09:35:03.442Z [ERROR] agent.anti_entropy: failed to sync remote state: error="No cluster leader”

先不研究如何让consul兼容istio的问题,先考虑如何让consul不注入istio,

2. 取消注入sidecar

看了下官网,取消sidecar注入的配置很简单,只要在对应的deployment/daemonset/statefulset配置sidecar.istio.io/inject:"false"即可

apiVersion: apps/v1
spec:
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: “false"

 

3. consul取消注入sidecar实例

3.1. 注入以后的部署情况:

qiteck@server:~/program/docker_service/consul/cicd/deploy/k8s/nodeport$ sudo kubectl get pods --all-namespaces -o wide |grep consul
default         consul-client-hrlxb                          2/2     Running            0                84s     10.244.1.42    server               <none>           <none>
default         consul-server-0                              2/2     Running            0                85s     10.244.1.41    server               <none>           <none>
default         consul-server-1                              2/2     Running            0                66s     10.244.1.43    server               <none>           <none>
default         consul-server-2                              2/2     Running            0                52s     10.244.1.44    server               <none>           <none>

可以看到每个pod部署2个container

3.2. 取消注入配置

consul-client
 apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: consul-client
  labels:
    name: consul-client
spec:
  selector:
    matchLabels:
      name: consul-client
  template:
    metadata:
      labels:
        name: consul-client
      annotations:
        sidecar.istio.io/inject: "false"
    spec:
      containers:
        - name: consul
          image: consul:1.10.3
          imagePullPolicy: IfNotPresent
          args:
            - "agent"
            - "-ui"
            - "-data-dir=/consul/data"
            - "-bind=0.0.0.0"
            - "-client=0.0.0.0"
            - "-advertise=$(POD_IP)"
            - "-retry-join=consul-server-0.consul-server.$(NAMESPACE).svc.cluster.local"
            - "-retry-join=consul-server-1.consul-server.$(NAMESPACE).svc.cluster.local"
            - "-retry-join=consul-server-2.consul-server.$(NAMESPACE).svc.cluster.local"
            - "-domain=consul"          ## 默认情况下,Consul响应“consul”中的DNS查询。域。该标志可用于更改该域。该域中的所有查询都假定由Consul处理,不会递归解决。
            - "-disable-host-node-id"
          env:
            - name: POD_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          lifecycle:
            postStart:
              exec:
                command:
                  - /bin/sh
                  - -c
                  - consul reload
            preStop:
              exec:
                command:
                  - /bin/sh
                  - -c
                  - consul leave
          volumeMounts:
            - name: consul-data-dir
              mountPath: /consul/data
          ports:
            - containerPort: 8500
              name: http
            - containerPort: 8400
              name: rpc
            - containerPort: 8443
              name: https
            - containerPort: 8301
              name: serf-lan
            - containerPort: 8301
              name: serf-lan-8301
              protocol: UDP
            - containerPort: 8302
              name: serf-wan
            - containerPort: 8302
              name: serf-wan-udp
              protocol: UDP
            - name: dns-tcp
              containerPort: 8600
            - name: dns-udp
              containerPort: 8600
              protocol: UDP
            - containerPort: 8300
              name: server
      volumes:
        - name: consul-data-dir
          hostPath:
            path: /Users/xuan/desktop/consul/data
            type: DirectoryOrCreate
consul-server
 apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: consul-server
  labels:
    name: consul-server
spec:
  serviceName: consul-server
  selector:
    matchLabels:
      name: consul-server
  replicas: 3
  template:
    metadata:
      labels:
        name: consul-server
      annotations:
        sidecar.istio.io/inject: "false"
    spec:
      terminationGracePeriodSeconds: 10
      containers:
        - name: consul
          image: consul:1.10.3
          imagePullPolicy: IfNotPresent
          args:
            - "agent"
            - "-server"
            - "-bootstrap-expect=3"
            - "-ui"
            - "-data-dir=/consul/data"
            - "-bind=0.0.0.0"
            - "-client=0.0.0.0"
            - "-advertise=$(POD_IP)"
            - "-retry-join=consul-server-0.consul-server.$(NAMESPACE).svc.cluster.local"
            - "-retry-join=consul-server-1.consul-server.$(NAMESPACE).svc.cluster.local"
            - "-retry-join=consul-server-2.consul-server.$(NAMESPACE).svc.cluster.local"
            - "-domain=consul"    ## 默认情况下,Consul响应“consul”中的DNS查询。域。该标志可用于更改该域。该域中的所有查询都假定由Consul处理,不会递归解决。
            - "-disable-host-node-id"
          env:
            - name: POD_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          ports:
            - containerPort: 8500
              name: http
            - containerPort: 8400
              name: rpc
            - containerPort: 8443
              name: https-port
            - containerPort: 8301
              name: serf-lan
            - containerPort: 8301
              name: serf-lan-8301
              protocol: UDP
            - containerPort: 8302
              name: serf-wan
            - containerPort: 8302
              name: serf-wan-udp
              protocol: UDP
            - name: dns-tcp
              containerPort: 8600
              protocol: TCP
            - name: dns-udp
              containerPort: 8600
              protocol: UDP
            - containerPort: 8300
              name: server

3.3.取消注入以后的部署情况:

qiteck@server:~/program/docker_service/consul/cicd/deploy/k8s/nodeport$ sudo kubectl get pods --all-namespaces -o wide |grep consul
default         consul-client-44ksc                          1/1     Running            2 (60s ago)       2m     10.244.1.45    server               <none>           <none>
default         consul-server-0                              1/1     Running            0                 114s   10.244.1.46    server               <none>           <none>
default         consul-server-1                              1/1     Running            0                 110s   10.244.1.47    server               <none>           <none>
default         consul-server-2                              1/1     Running            0                 107s   10.244.1.48    server               <none>           <none>

可以看到每个pod部署1个container了。

然后功能也正常了。

标签:name,取消,consul,istio,server,cluster,error,containerPort,sidecar
From: https://www.cnblogs.com/zhanchenjin/p/17334225.html

相关文章

  • 使用Task的一些知识优化了一下同事的多线程协作取消的一串代码
    最近在看一个同事的代码,代码的本意是在main方法中开启10个线程,用这10个线程来处理一批业务逻辑,在某一时刻当你命令console退出的时候,这个时候不是立即让console退出,而是需要等待10个线程把检测状态之后的业务逻辑执行完之后再退出,这样做是有道理的,如果强......
  • Oracle create index 中途取消后应该如何处理
        有时会遇到这样的情况,在创建索引的过程中啪叽网断了,会话中断;或者创建索引时觉得执行太慢,直接按了crtl+c取消,直接把运行窗口关了...尝试重新建索引的时候会遇到报错ORA-00095索引名已存在,而dropindex时又报错ORA-08104 thisindex isbeingonlinebuiltorrebuilt......
  • win7 怎么取消c盘检查
    1、使用快捷键“Win+R”打开“运行”窗口,输入“regedit”并点击确定打开注册表2、进人注册表编辑器后,在左侧依次展开“HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/SessionManager/BootExecute”项3、双击打开右侧窗口的“BootExecute”值,在编辑多字符串窗口,把“数值......
  • pycahrm 设置和取消科学模式 Scientific Mode
     ......
  • Service Mesh框架选型对比分析:Linkerd、Envoy、Istio、Conduit
    当前,业界主要有以下主要几种ServiceMesh框架,下面进行详细的说明及对比。1、LinkerdLinkerd是Buoyant公司2016年率先开源的高性能网络代理,是业界的第一款ServiceMesh框架。其主要用于解决分布式环境中服务之间通信面临的一些问题,如网络不可靠、不安全、延迟丢包等问题。Linkerd使......
  • 取消加载项提升Office软件打开速度的方法
      本文介绍基于修改加载项,解决MicrosoftOffice系列软件开启速度较慢的办法。  最近,发现Excel软件的打开速度越来越慢,会在一定程度上影响工作效率。因此尝试对此加以解决。其中,本文所给方法对于Word/Excel/PPT文件均适用。但请注意,本文所给出的解决方法仅对由于加载项过多造成......
  • 取消git提交时precommit代码校验
    用git进行代码管理,当我执行gitcommit操作时,会出现一下代码来检测提交的代码Pro:hcf-vuehh$gitadd--allPro:hcf-vuehh$gitcommit-m'wq'husky>pre-commit(nodev8.11.2)❯Runningtasksforsrc/**/*.{js,jsx,vue}⠼eslint解决办法:1.进入项目所在文......
  • 监听 input type=file 文件上传取消事件
    在做项目的时候,需要根据是否上传图片,(前提是已经上传文件,再次上传取消时,监听取消事件)进而判断页面变化。通过查阅相关资料,发现change事件并不能监听取消,于是从另外一种角度:判断上传的文件是否有值,进而监听取消事件。代码如下:<inputtype="file"name="file"id="fileToUpload"a......
  • python3中Requests将verify设置为False后,取消警告的方式
    importrequestsresp=requests.get('https://www.***.com',verify=False)调用成功但是会有如下警告信息:InsecureRequestWarning:UnverifiedHTTPSrequestisbeingmadetohost'www.jhnews.com.cn'.Addingcertificateverificationisstronglyadvised.Se......
  • 【fastadmin】 取消双击编辑并改为其他操作
    在目录public\assets\js\require-table.js的js文件下可以看到表格设置默认为双击打开编辑页,如果不想要双击的话直接改为false即可若想双击打开其他页面则继续像下边看找到上图中的内容,直接讲上图中的内容注销掉,并且在自己自己需要双击的js页面重载(下图),并在方法内添加弹出页面......