环境中域名配置改成IP:port方式

1.部署的yaml文件中,harbor地址改成:192.168.80.77:80

2.image仍不能下载的原因分析:

 

 

 (1)把ip:port加入到docker insecurity列表中:配置docker加速与私仓认证

[root@host80-32 devops]# cat /etc/docker/daemon.json
{
"registry-mirrors": [
"https://qjzfwfvb.mirror.aliyuncs.com"
],
"insecure-registries": [
"harbor.dev.rdev.tech",
"192.168.80.77:80",
"192.168.80.78:80"
],
"default-address-pools":[
{"base":"10.10.0.0/16","size":24}
],
"debug": true,
"experimental": false
}

(2).写脚本将该配置同步到其他所有nodes:

# vi cp_daemon.sh
echo "===========copy daemon.json==================="
IPS=(192.168.80.32 192.168.80.33 192.168.80.34 192.168.80.41 192.168.80.42 192.168.80.43 192.168.80.44 192.168.80.45 192.168.80.46 192.168.80.47 192.168.80.92 192.168.80.93)
for ip in ${IPS[@]}
do
expect <<-EOF
set timeout 5
spawn scp -P 7122 daemon.json root@$ip:/etc/docker/daemon.json
expect {
"yes/no" { send "yes\n";exp_continue }
"password:" { send "Def@u1tpwd\n" }
}
interact
expect eof
EOF
done

 

(3).重启docker服务(此操作也要同步在所有node执行,可以通过配置ansible实现)

systemctl daemon-reload
systemctl restart docker.service

3.将keycloak的配置文件挂载出来:参考

---
apiVersion: v1
kind: Service
metadata:
  name: devops-frontend
spec:
  type: NodePort
  ports:
    - port: 80 
      targetPort: 5548
      nodePort: 30048
  selector:
    app: devops-frontend-pod
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: devops-frontend-deployment
spec:
  selector:
    matchLabels:
      app: devops-frontend-pod
  replicas: 1
  template:
    metadata:
      labels:
        app: devops-frontend-pod
    spec:
      containers:
        - name: devops-frontend-container
          image: 192.168.80.77:80/t_devops/devops-frontend:278
          ports:
          - containerPort: 5548
          volumeMounts:
          - name: config
            mountPath: /etc/nginx/conf.d/default.conf
            subPath: default.conf
            readOnly: true
          - name: config-json
            mountPath: /usr/share/nginx/html/config.json
            subPath: config.json
            readOnly: true
      volumes:
      - name: config
        configMap:
          name: frontend-config
      - name: config-json
        configMap:
          name: json-config
[root@host80-32 devops]# cat config.json
window.g = {
        "keycloak": {
                "url": "http://192.168.81.104/auth",
        "realm": "project",
        "clientId": "devops"
        },
        "platform":{
                "cbpt": "https://project.dev.rdev.tech/#/my",
        "develop": "http://micro-service.test.rdev.tech/catalog",
        "application": "https://devops.dev.rdev.tech/#/",
                "pass": "https://paas.dev.rdev.tech/ui/#",
        }
}
kubectl create configmap json-config --from-file=config.json -n devops-dev

4.其他问题:临时修改pod中的配置文件:

通过kubectl cp命令实现:

拷贝pod中的文件到host上:
kubectl cp devops-dev/devops-frontend-deployment-7b4dd8fd79-7bhnb:usr/share/nginx/html/config.json config.json

注意:上面的usr前面不加/

拷贝文件到pod中:
kubectl cp config.json devops-dev/devops-frontend-deployment-7b4dd8fd79-7bhnb:/usr/share/nginx/html/

 

修改后找到pod所在的node节点:

docker ps找到pod对应的docker

[root@node8 ~]# docker ps | grep devops-frontend
bf4e5e7f7859


docker restart bf4e5e7f7859

 

posted @ 2022-01-04 17:09  插上翅膀飞  阅读(253)  评论(0编辑  收藏  举报