IT |
気になる、記になる… |
Amazon、「Kindle本ストア」の開設や「Kindle / Fire タブレット」シリーズの販売開始から10周年を迎える |
https://taisy0.com/2022/10/04/163134.html
|
amazon |
2022-10-04 00:57:05 |
IT |
ITmedia 総合記事一覧 |
[ITmedia エンタープライズ] AWSがキャッシュサービス「Amazon File Cache」を開始 オンプレミスでも利用可能 |
https://www.itmedia.co.jp/enterprise/articles/2210/04/news080.html
|
amazonfilecache |
2022-10-04 09:19:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia エグゼクティブ] バンダイナムコフィルムワークス・浅沼誠社長(59) 良いアニメのため、通貫体制でスピーディーに |
https://mag.executive.itmedia.co.jp/executive/articles/2210/04/news079.html
|
itmedia |
2022-10-04 09:16:00 |
デザイン |
コリス |
朗報! CSSの新しい単位(lvh, svh, dvh)がChromeに実装、100vhがビューポートの高さいっぱいにならない問題を解決 |
https://coliss.com/articles/build-websites/operation/css/large-small-dynamic-viewport-sizes.html
|
続きを読む |
2022-10-04 00:36:42 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
(初心者向け)BERTを用いたチャットボット(質疑応答) |
https://qiita.com/Mizuiro__sakura/items/326ee3e4ee58cf55e92c
|
質疑応答 |
2022-10-04 09:31:00 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
AWSのCDKに入門してみた |
https://qiita.com/matsunao722/items/f18114c37f1667d171c4
|
awscdk |
2022-10-04 09:52:05 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
k6/metricsを用いて出力値を操作する |
https://qiita.com/NNNiNiNNN/items/ddbd2b5dd118d271da9d
|
kmetrics |
2022-10-04 09:20:06 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWSのCDKに入門してみた |
https://qiita.com/matsunao722/items/f18114c37f1667d171c4
|
awscdk |
2022-10-04 09:52:05 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
さいきょうのクラウドストレージを Amazon FSx for NetApp ONTAP + Nextcloud で作る!(その1) |
https://qiita.com/takuo_yamazaki/items/0e8aff7549fc54a156bd
|
amazon |
2022-10-04 09:03:55 |
Azure |
Azureタグが付けられた新着投稿 - Qiita |
Azure Fundamentals(AZ-900):クラウドの概念について説明する「可用性と拡張性」 |
https://qiita.com/fsd-jume/items/3ff16444827addf2cfa2
|
azurefundamentalsaz |
2022-10-04 09:49:38 |
技術ブログ |
Developers.IO |
雑なAPIはtRPCで作り、ApiGateayでデプロイでいいかもしれない |
https://dev.classmethod.jp/articles/trpc-sample/
|
試行錯誤 |
2022-10-04 00:40:59 |
海外TECH |
DEV Community |
The TAKS Stack |
https://dev.to/tythos/the-taks-stack-4a2f
|
The TAKS StackThe cloud is a nuisance Someone else s computer is the common description but if it was really just someone else s computer it would be a lot simpler to learn and manage IntroductionThis is particularly the case if you come from what I call a constructive background when approaching orchestration You have a container here a container there and maybe a database amp front end but docker compose isn t hacking it anymore and you know you need to grow up amp join the big boys out there on the cloud But it s a lot Fortunately there are some great tools to help you out Unfortunately there are waaaaaaaaaaay too many of them and the population doubles every time you turn your back It s not even clear where the lines between one family of tools ends and another begins do you really need JFrog if you have GitLab What s the difference between Zarf and Rancher again And dear God is it even possible to get away with avoiding AWS Spoiler yes This headache makes it a very nice experience when you actually DO run into tools that complement each other in a way that makes cloud engineering and development a pleasant and relatively pain free experience One such stack I ve found to be very useful particularly for agnostic deployments is TAKS Terraform AKS the Azure Kubernetes Service Here s how you can get it running TerraformTerraform is the quintessential infrastructure as code tool It s theoretically agnostic more on that later and comes with a large library of support for different providers integration targets Architects define infrastructure in a static declarative format combining provider defined resources and integrating them with variables across reusable modules Note that commands in this section are presented for purposes of demonstrating the Terraform workflow we haven t written anything yet so they won t do anything Commands and file content in subsequent sections can and should be used WorkflowThe Terraform process itself nicely encapsulates how it helps you manage infrastructure abstractions First you define your infrastructure in declarative TF filesThen you initialize your Terraform environment to install and integrate the necessary provider and module dependencies gt terraform initYou can then tell Terraform to review your TF defined infrastructure this desired state is compared to the actual state and a plan is created to move from the former to the latter gt terraform planFinally you ask Terraform to apply the plan it gets to work and makes the appropriate changes to your infrastructure to realize the desired end state gt terraform apply AdvantagesThis is a really nice way to interact with cloud providers Otherwise you are typically left with wrestling in obscure CLIs random shell scripts or spinning up your own VMs directly within the provider s dashboard Not that those are bad ways to experiment but Terraform gives you the tools to do so formally in a way that even lets you check TF files into GitLab GitHub projects and change control your infrastructure as part of a CI CD pipeline Nooooice Terraform is pretty easy to install and is typically distributed as a single executable I drop it in my tools folder exposed on PATH and I m good to go AzureI don t know about you but I avoid AWS as much as I can They were first and they re still the biggest But as a result they have their own way of approaching provisioning and their own infrastructure abstractions not to mention cost models which pretty much guarantees once you go AWS or if you learn it first you are locked in As a result and as much as I love Google in general their work on individual cloud technologies has greatly outpaced the capabilities and maturity of their own cloud services Azure is my go to cloud provider There are other second tier providers of course like DigitalOcean or DreamHost which are largely OpenStack based but I won t dive into detailed comparisons here Suffice it to say you are more likely to hew to an agnostic infrastructure and more likely to leverage enterprise grade reliability amp maturity if you start with Azure If you don t have an Azure account there are plenty of free credit offers available What we re spinning up here needs a Kubernetes class VM to host the cluster which isn t free and doesn t use the absolute cheapest VMs but it is still pretty cost effective and until recently sort of is actually easier and more transparent to use for Ks with some nice built in tooling Azure CommandsOnce you are signed up you ll need to call the CLI for a couple of key account fields First look up your subscription information to reference later on when defining the service principal s scope From the resulting JSON structure you will want to find the entry for which isDefault is true and store the corresponding id field as the environmental variable SUBSCRIPTION ID gt az account list gt subscriptions jsonSecond create a service principal the Azure user acting on Terraform s behalf From the resulting JSON structure you will want to store the appId field as the environmental variable SP ID and the password field as the environmental variable SP SECRET gt az ad sp create for rbac skip assignment name my service principal gt ad sp jsonNext assign that service principal Contributor privileges to perform the actions it needs You should already have environmental variables SP ID and SUBSCRIPTION ID assigned from previous steps gt az role assignment create assignee SP ID scope subscriptions SUBSCRIPTION ID role Contributor gt role assignment json Key GenerationLastly we need to generate an SSH key pair with which we and any other actors such as Terraform can use to authenticate against the systems we create After this command has run assign the contents of the public key id rsa pub which should be a single line string beginning with ssh rsa to the environmental variable SSH KEY gt ssh keygen t rsa b f id rsa N Every subsequent Azure interaction can now take place through Terraform itself which greatly simplifies pretty much everything Kubernetes ClusterYour primary objective here is to define a Kubernetes cluster in Terraform that can then be provisioned on Azure Create a providers tf file in which you will define your Terraform version and the providers we will be using terraform required version gt required providers azurerm source hashicorp azurerm version gt kubernetes source hashicorp kubernetes version gt provider azurerm features provider kubernetes host azurerm kubernetes cluster my aks cluster kube config host client certificate basedecode azurerm kubernetes cluster my aks cluster kube config client certificate client key basedecode azurerm kubernetes cluster my aks cluster kube config client key cluster ca certificate basedecode azurerm kubernetes cluster my aks cluster kube config cluster ca certificate Some interesting notes here Both Azure and Kubernetes are treated by Terraform as just another set of providers These providers expose resources we can use to define our infrastructure The Kubernetes provider can be defined using properties defined in the Azure resources This is a really nice feature of Terraform outputs of one resource can be used as inputs to another effectively automating the stitching process that can make infrastructure management such a complicated nightmare You can run terraform init to install the appropriate dependencies providers but we haven t defined any infrastucture yet so terraform plan and terraform apply won t do anything useful Yet gt terraform init Resource GroupCreate a new file named cluster tf We will be adding to Azure based resources to this file A resource group which is how Azure groups shared resourcesAn AKS or Azure Kubernetes Service clusterThe first item goes into your cluster tf like so resource azurerm resource group my aks rg name my aks rg location var location The basic Terraform resource declaration goes something like resource resource type resource name This is followed by a block in which you can define specific key value pairs and additional property blocks Some of these properties can even be assigned procedurally from other references like variables preceded by var that we will define later So you might read this content like so I want to create a new resource of the type azurerm resource group It should have the name my aks rg It will have a name of my aks rg It will have a location whose value will come from the variable location Kubernetes ClusterThat s a simple case though Let s look at the AKS resource which is significantly more complicated resource azurerm kubernetes cluster my aks cluster name my aks cluster location azurerm resource group my aks rg location resource group name azurerm resource group my aks rg name dns prefix my aks cluster kubernetes version var kubernetes version default node pool name default node count vm size Standard Es v type VirtualMachineScaleSets os disk size gb service principal client id var serviceprincipal id client secret var serviceprincipal key linux profile admin username my admin username ssh key key data var ssh key network profile network plugin kubenet load balancer sku standard Add this resource to your cluster tf file too I ll point out some of the more interesting tidbits from this block Properties like location and resource group name reference properties of other resources in this case the resource group This means you can assert identical locations and associations within your infrastructure consistently We define node pool and service principal blocks to indicate respectively the template of VMs in our scale set to use for nodes and how the service principal credentials can be used to interact with Azure We can pass the SSH key for the VM systems directly to the provisioningWe let Azure know in the network profile block that Kubernetes will handle the network configuration including load balancing VariablesThere are several variables we have reference so far Common practice is to define these in a separate file or even a unique file for each module e g reusable folders of resource templates For purposes of simplification we ll consolidate these into the cluster tf file since few are reused across files Paste the following into the bottom of your cluster tf file variable location default centralus variable kubernetes version default variable serviceprincipal id variable serviceprincipal key variable ssh key You ll notice a few important things We reference these variables in other parts of the Terraform file by preceding their name with var Some of these variables have default values others must be specified when Terraform is asked to construct the plan terraform plan Variable values can be passed via environmental variable using the command line flags var For example terraform plan var ssh key SSH KEY will use the value of the environmental variable SSH KEY for the Terraform variable ssh key This last item is particularly important some variables you want to control because they may easily change like location for Azure provisioning others like keys you want to define at runtime to avoid storing sensitive information Plan and ApplyNow that we ve defines a cluster for provisioning we can ask Terraform to plan the transition gt terraform plan out tf plan var serviceprincipal id SP ID var serviceprincipal key SP SECRET var ssh key SSH KEY This command forwards environmental variable values and writes out the resulting plan to a tf plan file that subsequent steps can reference You should see something like the following if the command was successful Plan to add to change to destroy ーSaved the plan to tf planTo perform exactly these actions run the following command to apply terraform apply tf plan This tells you two important pieces of information There are two new resources that will be created in this case specifically the Azure resource group and the Azure Kubernetes service clusterThe plan for executing this transformation has been saved to the tf plan fileNow you can run terraform apply with that tf plan file as the primary argument gt terraform apply tf plan Apply complete Resources added changed destroyed With that done you ve provisioned a TAKS stack Give it a few minutes provisioning those VMs can be time consuming on Azure Congratulations KsWe re not done yet of course We have a Kubernetes cluster but there is nothing provisioned on it At this stage traditionally you d need to learn kubectl commands memorize a bunch of complicated new YML based specifications and maybe massage a Docker compose configuration through the kompose transformation which is a neat tool but far from ready for prime time But we re already working in Terraform And in Terraform s eyes the contents of the Kubernetes cluster are no different than any other configuration of infrastructure resources DeploymentCreate a new separate Terraform file ks tf This file will focus on defining the mesh we provision on our Kubernetes cluster Paste in the following contents resource kubernetes deployment my ks deployment metadata name my ks deployment labels test MyKsApp spec replicas selector match labels test MyKsApp template metadata labels test MyKsApp We ve started by defining a Kubernetes deployment that is the pattern with which the cluster will be populated This is a resource type defined by the Kubernetes provider note we don t even need to bother indicating anything related to Azure Now that we ve provisioned the cluster every subsequent step will be complete agnostic to our cloud provider Damn but Terraform is great ContainersWe ve defined a set of labels to map different specifications against each other This includes the set of pods deployed across our nodes including how many replicas are required as well as the template itself But there s nothing in the template yet Let s add a specification for a basic container Paste the following within the template block after the metadata block spec container image nginx name my nginx container resources limits cpu memory Mi requests cpu m memory Mi liveness probe http get path nginx status port http header name X Custom Header value Awesome initial delay seconds period seconds There s actually a lot going on here And you may have noticed by the point we re basically mapping the Kubernetes YML structure into a Terraform file Let s dive into this container declaration a little bit The container we are defining will be instantiated from a particular image In this case we re pulling a specific nginx image which will default to the one hosted on Docker Hub In production you will want to maintain your own registry of images using for example the conveniently defined Azure Container Registry resource in order to isolate and confine deployment artifacts and credential scopes We ve defined a specific set of resource constraints for this container instance This helps maintain manageable performance particularly on a constrained VM which is typically a primary cost driver more expensive VMs really add up fast If you need more performance you typically scale out adding more replicas rather than up throwing more cycles at the container We ve also defined a probe by which the container can be monitored This helps the cluster monitor our resources for health and performance purposes ServiceWe ve defined a minimal Kubernetes deployment but if you ve used Kubernetes before you know that we still need to expose these services to public requests The Kubernetes abstraction that manages external network interfacing including load balancing is called a service Ignore the fact that service is an incredibly overused term almost as overused as resource in fact that means different things in closely related contexts Paste the following block at the end of your ks tf file resource kubernetes service my ks service metadata name my ks service spec selector test MyKsApp port port target port type LoadBalancer Again we ve told Terraform that there is another resource that is part of our infrastructure this time it is of the type kubernetes service This resource has the following properties Specific internal ports are mapped to external ports It applies to a specific deployment identified by matching labels MyKsApp It performs load balancing at the network interface across our deploymentNow you are ready to step through the Terraform deployment steps gt terraform plan out tf plan var serviceprincipal id SP ID var serviceprincipal key SP SECRET var ssh key SSH KEY gt terraform apply tf plan ConclusionCongratulations You ve now deployed a Terraform managed Kubernetes stack on Azure In summary cloud tech can be overwhelming there s a lot of redundant technologies out there and it can be difficult to get started Hopefully the TAKS stack will help you out by automating and formalizing a lot of your infrastructure headaches and help you focus on the unique parts of your application mesh Piecing it together has been an invaluable exercise for me If you ve used Kubernetes before you ll appreciate how much of this process we ve managed to automate and defined in a reference specification If you haven t know that any future development including deployment of new services databases and network configurations is an easy delta Simply add a container specification to your ks tf template mount any stateful volumes if for example you need a Redis appendfile and expose the appropriate network configuration Then run a quick terraform plan and terraform apply to let the automation take care of the rest It s the power of Terraform baby NotesSome final notes Kubernetes doesn t move too fast You might need to give it a few minutes before all of your pods have successfully deployed beyond the point in time when the terraform apply command returns exist You can view the external IP assigned to your service by browsing to and looking for the my aks rg resource group You ll see the my aks cluster listed and when you select it you can click the Services and Ingresses option from the menu on the left The my ks service row should have an External IP column that you can click to jump directly to that URL Don t forget to tear down your infrastructure before Microsoft places too many charges against your Azure subscription Look up the terraform destroy command to see how this can be done against a specific plan Technically we aren t entirely agnostic to the cloud provider If you wanted to deploy this on AWS or Google Cloud you d need to swap out the contents of providers tf and cluster tf with the appropriate hooks the former will be much easier than the latter But ks tf will remain the same and that s where you ll be doing most of your custom architecting anyway ResourcesAdditional resources You bet This article has a permanent home on dev to at There s a GitHub repository with all of these contents ready to go including this README file Want to learn more about what other Azure resources you can add to your infrastructure The official docs are excellent Want to learn more about what other Kubernetes resources you can add to your infrastructure Follow the docs |
2022-10-04 00:08:30 |
海外TECH |
CodeProject Latest Articles |
EspMon: A simple PC hardware monitor using a T-Display S3 |
https://www.codeproject.com/Articles/5343526/EspMon-A-simple-PC-hardware-monitor-using-a-T-Disp
|
little |
2022-10-04 00:17:00 |
医療系 |
内科開業医のお勉強日記 |
低Na血症急性心不全への塩錠剤投与の影響はない→塩分制限への疑念と体液貯留への治療シフトへの期待 |
https://kaigyoi.blogspot.com/2022/10/na.html
|
通常、病院に入院している心不全の患者さんは、低塩分の食事日約グラムに制限されます。 |
2022-10-04 00:58:00 |
金融 |
ニュース - 保険市場TIMES |
東京海上日動、海外駐在員を支援するアプリを全国の中小企業に提供開始 |
https://www.hokende.com/news/blog/entry/2022/10/04/100000
|
東京海上日動、海外駐在員を支援するアプリを全国の中小企業に提供開始海外駐在員をデジタルでサポート東京海上日動は月日、中小企業の海外駐在員を赴任前から海外生活中、帰国までワンストップで支援する海外駐在員支援アプリ「カイトbyTokioMarineGroup」の提供を開始すると発表した。 |
2022-10-04 10:00:00 |
海外ニュース |
Japan Times latest articles |
Japan residents wake up to rare J-Alert missile warning |
https://www.japantimes.co.jp/news/2022/10/04/national/jalert-japan-north-korea-warning/
|
Japan residents wake up to rare J Alert missile warningUnder the J system developed in messages are sent in times of national emergencies such as earthquakes terrorist attacks and certain missile launches |
2022-10-04 09:47:41 |
海外ニュース |
Japan Times latest articles |
North Korea fires ballistic missile over Japan for first time since 2017 |
https://www.japantimes.co.jp/news/2022/10/04/national/north-korea-appears-launch-ballistic-missile-japan/
|
North Korea fires ballistic missile over Japan for first time since The launch of a longer range weapon that overflew the Japanese archipelago prompted Tokyo to issue a rare alert calling for residents to take cover |
2022-10-04 09:28:16 |
ニュース |
BBC News - Home |
Covid inquiry first preliminary hearing to begin |
https://www.bbc.co.uk/news/health-63080466?at_medium=RSS&at_campaign=KARANGA
|
pandemic |
2022-10-04 00:43:30 |
ニュース |
BBC News - Home |
Confidence Man: Key revelations from new book on Donald Trump |
https://www.bbc.co.uk/news/world-us-canada-63125238?at_medium=RSS&at_campaign=KARANGA
|
claims |
2022-10-04 00:08:17 |
ニュース |
BBC News - Home |
Edenfield Centre: Care watchdog praised bosses at abuse hospital |
https://www.bbc.co.uk/news/uk-63095331?at_medium=RSS&at_campaign=KARANGA
|
abuse |
2022-10-04 00:16:49 |
北海道 |
北海道新聞 |
北海、札日大高下す 立命館慶祥も準決勝へ 秋の全道高校野球 |
https://www.hokkaido-np.co.jp/article/740201/
|
準々決勝 |
2022-10-04 09:31:21 |
北海道 |
北海道新聞 |
<まちかど>ソウル 上家敬史 パリパリ文化に変化の兆し? |
https://www.hokkaido-np.co.jp/article/740319/
|
韓国人 |
2022-10-04 09:28:00 |
北海道 |
北海道新聞 |
ビートルズの写真、新たに発見 デビュー前、リバプールで演奏 |
https://www.hokkaido-np.co.jp/article/740310/
|
英国 |
2022-10-04 09:22:00 |
ビジネス |
東洋経済オンライン |
「副業がうまくいかない」と悩む人に伝えたい盲点 あなたは大丈夫!同僚の人事部へのタレコミ | ワークスタイル | 東洋経済オンライン |
https://toyokeizai.net/articles/-/621884?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
働き方改革 |
2022-10-04 09:30:00 |
マーケティング |
AdverTimes |
三菱マテリアル、チーフデジタルオフィサー(22年10月1日付) |
https://www.advertimes.com/20221004/article397082/
|
三菱マテリアル |
2022-10-04 00:52:48 |
マーケティング |
AdverTimes |
犬の演技は奥が深い!『南極物語』のトレーナーも登場(犬童一心・宮忠臣)【前編】 |
https://www.advertimes.com/20221004/article397076/
|
動物映画 |
2022-10-04 00:30:33 |
コメント
コメントを投稿