环境中域名配置改成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