oss报UnknownHost,k8s设置hostAliases参数
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
1、使用oss上传下载时将bucketName 传了进去导致上传文件失败
原本endpoint是 https://oss-cn-shanghai.aliyuncs.com
在上传时自动加上了{bucketName}.oss-cn-shanghai.aliyuncs.com 由于这个域名是没有配置的导致文件上传失败
我是使用的k8s部署在pod里面加一个host别名
注意这里的hostAliases 是和spec下面的容器是同一层
这里参考 (27条消息) kubernetes笔记_小辣鸡~的博客-CSDN博客
apiVersion: v1
kind: Pod
...
spec:
hostAliases:
- ip: "10.1.2.3"
hostnames:
- "foo.remote"
- "bar.remote"
containers:
- name:
...
{bucketName}.oss-cn-shanghai.aliyuncs.com 这个专有名词叫做cname
专有云的OSS实现时cname是推荐关闭的。
阿里云OSS的SDK地址初始化 (aliyun.com)
下面的是阿里云官方的案例
// yourEndpoint填写Bucket所在地域对应的Endpoint。
String endpoint = "yourEndpoint";
// 阿里云账号AccessKey拥有所有API的访问权限风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维请登录RAM控制台创建RAM用户。
String accessKeyId = "yourAccessKeyId";
String accessKeySecret = "yourAccessKeySecret";
// 创建ClientConfiguration实例您可以根据实际情况修改默认参数。
ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
// 关闭CNAME选项。
conf.setSupportCname(false);
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret, conf);
// 关闭OSSClient。
ossClient.shutdown();