查看原文
其他

如何在ORACLE CLOUD中创建和访问容器集群丨内附官方文档链接

墨天轮 数据和云 2024-03-03

墨墨导读:本文描述如何在Oracle Cloud中创建并访问容器服务。为了简单,所有的操作都是针对root隔离区。


创建允许容器运行的政策官方文档链接


这一步是必须的,否则可以增加容器容器。


官方文档链接:https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengpolicyconfig.htm#PolicyPrerequisitesService(复制链接至浏览器,即可查看)


左上角的产品菜单中:Governance and Administration -> Identity -> Policies。点击“Create Policy”之后,按照下图的样式创建Policy。



创建容器集群


官方文档链接:

https://docs.cloud.oracle.com/iaas/Content/ContEng/Tasks/contengcreatingclusterusingoke.htm (复制至浏览器,即可查看)


左上角的产品菜单中:Solutions and Platform -> Developer Services -> Container Cluster(OKE)



点击“Create Cluster”之后,页面中的元素较多,以下截图只是上半部分。



虽然元素较多,但是在测试阶段可以几乎完全使用默认值。因此直接点“Create”就好。


在容器集群中的Worker Node可以不用ssh登录(我们在后续只需要通过oci和kubectl命令来操作集群就可以),所以页面中的PUBLIC SSH KEY确实是不用输入的,而默认的Private网络类型也无需修改。


创建容器集群需要花数分钟时间,创建成功以后,在集群页面就可以看到新创建的集群的详细信息。在我的测试里,指定了Node Pool里只有2台Node,不是默认的3台,因此在列表中只显示了两台机器。



创建KUBECONFIG文件


官方文档链接:

https://docs.cloud.oracle.com/iaas/Content/ContEng/Tasks/contengdownloadkubeconfigfile.htm (复制至浏览器,即可查看)


这一步比较繁琐。分为5个小步骤,不过官方文档中的描述很详尽。



第一步:标准的生成访问密钥的过程

mkdir ~/.ociopenssl genrsa -out ~/.oci/oci_api_key.pem 2048chmod go-rwx ~/.oci/oci_api_key.pemopenssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pemcat ~/.oci/oci_api_key_public.pem | pbcopy


第二步:在管理界面右上角的用户logo那里选择User Settings



点击“Add Public Key”,直接将上一步生成的内容粘贴到输入框中,点“Add”。



第三步:安装配置Oracle Cloud Infrastructure CLIOCI CLI是一个命令行工具,就像Google Cloud也会提供gcloud命令行工具一样,这个工具用来在命令行里直接操纵Cloud中的各种资源。因为我们要用oci的create-kubeconfig命令来创建kubecongfig文件,所以需要这一步。

bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"


中间有一些需要输入的地方,也可以接受默认值一路回车。

运行完毕以后,显示successful。

-- Installation successful.-- Run the CLI with /usr/local/bin/oci --help


安装完毕以后,必须先进行配置,才可以使用。

oci setup config


这一步配置要在Oracle Cloud的后台各个地方找到需要的信息(Tenancy UCID,User UCID,Region name),并且将值填入才可以。这里不一一赘述,在 官方文档中都有相应描述。

Enter a location for your config [/Users/Kamus/.oci/config]:Enter a user OCID: "your user ocid here"Enter a tenancy OCID: "your tenancy ocid here"Enter a region (e.g. ap-mumbai-1, ap-seoul-1, ap-sydney-1, ap-tokyo-1, ca-toronto-1, eu-frankfurt-1, eu-zurich-1, sa-saopaulo-1, uk-london-1, us-ashburn-1, us-gov-ashburn-1, us-gov-chicago-1, us-gov-phoenix-1, us-langley-1, us-luke-1, us-phoenix-1): ap-tokyo-1Do you want to generate a new RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]: nEnter the location of your private key file: /Users/Kamus/.oci/oci_api_key.pemFingerprint: 5d:53:af:a8:d2:6b:4d:2f:20:24:b3:5b:c2:eb:89:86Config written to /Users/Kamus/.oci/config


在最后一步问是否需要生成新的RSA key pair时选择n,因为我们在上面已经生成过了,这里只需要将本地的私钥地址填入即可。


这一步完毕以后,我们已经可以使用oci操纵Oracle Cloud中的资源了,比如我们列出在上面创建容器集群时自动创建的两个计算资源。

$ oci compute instance list -c “your-compartment-id”|grep "display-name" "display-name": "oke-cqwkmbzgbrd-nztqytbgjst-sxqablc2qgq-0", "display-name": "oke-cqwkmbzgbrd-nztqytbgjst-sxqablc2qgq-1",


oci命令行工具的完整文档参看这里:https://docs.cloud.oracle.com/iaas/tools/oci-cli/latest/oci_cli_docs/index.html

(复制至浏览器,即可查看)


第四步:生成kubeconfig

oci工具只是操作Oracle Cloud中的基础资源,想要管理容器,还是要使用kubectl。为了让kubectl可以知道操纵哪里的容器集群,需要生成kubeconfig。


mkdir -p $HOME/.kubeoci ce cluster create-kubeconfig --cluster-id “your-cluster-id” --file /Users/Kamus/.kube/config.oci --region ap-tokyo-1 --token-version 2.0.0 export KUBECONFIG=$HOME/.kube/config.oci


上述命令中的“your-cluster-id”可以在容器集群的信息页面中找到。



至此,我们已经可以使用kubectl管理Oracle Cloud中的容器集群了。比如显示默认运行的所有pods。(当前,前提是已经安装了kubectl,如果还未安装,请参阅Kubernetes的官方安装文档:https://kubernetes.io/docs/tasks/tools/install-kubectl/ 复制至浏览器即可查看)


$ kubectl get pods --all-namespacesNAMESPACE NAME READY STATUS RESTARTS AGEkube-system kube-dns-7bcbdbdbcb-bdfdx 3/3 Running 0 65mkube-system kube-dns-7bcbdbdbcb-w8jm7 3/3 Running 0 60mkube-system kube-dns-autoscaler-7c6dd95548-9r9wv 1/1 Running 0 65mkube-system kube-flannel-ds-f2s6x 1/1 Running 1 60mkube-system kube-flannel-ds-jzrjp 1/1 Running 0 61mkube-system kube-proxy-btccr 1/1 Running 0 60mkube-system kube-proxy-llh74 1/1 Running 0 61mkube-system kubernetes-dashboard-74f74898c9-q9zpw 1/1 Running 0 65mkube-system proxymux-client-10.0.10.2 1/1 Running 0 60mkube-system proxymux-client-10.0.10.3 1/1 Running 0 61mkube-system tiller-deploy-6f8654fd88-xc229 1/1 Running 0 65m


总结:虽然通过kubectl管理Oracle Cloud中的容器集群前续需要的步骤较多,但是整体上而言还是比较顺畅的体验。


读完本文,觉得不够?2019 数据技术嘉年华来啦!现场大咖云集,与你共畅数据的魅力。现在加入,尽享超低票价优惠:




出处:墨天轮(https://www.modb.pro/db/7450,复制到网页中打开或者点击“阅读原文”)



扩展阅读



  1. 叮咚!您有一份Oracle专家通关法宝,请查收!

  2. 替换Oracle,从阿里巴巴到亚马逊-他们在逃离什么?

  3. 2019,国产数据库元年开启新纪元

  4. 南漂DBA——除了996,还可以收获这些...

  5. Oracle 20c 新特性详解:SQL Macro 宏 SCALAR / TABLE 模式带来的敏捷和便利

  6. Oracle在HPUX IA64平台登陆缓慢问题分析

  7. 开发中常见的Oracle三大故障与调优方法

  8. 记一次详细的的SQL查询经历,group by慢查询优化

  9. 1.3万亿条数据查询如何做到毫秒级响应?

  10. 经验:Library Cache Lock之异常分析-云和恩墨技术通讯精选



数据和云

ID:OraNews

如有收获,请划至底部,点击“在看”,谢谢!


资源下载

关注公众号:数据和云(OraNews)回复关键字获取

help,30万+下载的完整菜单栏

2019DTCC,数据库大会PPT

2018DTCC , 数据库大会PPT

2018DTC,2018 DTC 大会 PPT

ENMOBK《Oracle性能优化与诊断案例》

DBALIFE,“DBA 的一天”海报

DBA04,DBA 手记4 电子书

122ARCH,Oracle 12.2体系结构图

2018OOW,Oracle OpenWorld 资料

产品推荐

云和恩墨BethuneX  企业版,集监控、巡检、安全于一身,你的专属数据库实时监控和智能巡检平台,漂亮的不像实力派,你值得拥有!



云和恩墨zData一体机现已发布超融合版本和精简版,支持各种简化场景部署,零数据丢失备份一体机ZDBM也已发布,欢迎关注。


云和恩墨大讲堂 | 一个分享交流的地方

长按,识别二维码,加入万人交流社群


请备注:云和恩墨大讲堂


继续滑动看下一个

如何在ORACLE CLOUD中创建和访问容器集群丨内附官方文档链接

墨天轮 数据和云
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存