Onenote をOnenote for Windows10 から Windows11 対応の Onenote にアップグレードしたらバックアップできなかった時の解決方法

事象)

Onenote for Windows10 から Windows11 対応の Onenote にアップグレード

この時、今すぐ切り替える→開始クリック後に旧10Ver Noteのバックアップの作成が指示されたので実行。その後、新Onenoteでバックアップを開くと正常に移行できた。

しかしMicrosoftアカウントのクラウドストレージ上限を超過していたためクラウド上で同期はしていない状態だった。

このタイミングでPCが破損、ローカルに存在したバックアップも消失。クラウド上に新Onenote用のnoteファイルも存在していない状態。サブのWin10 PC があったのでもう一度旧noteの移行を試みようとするも同じステップを踏んでもバックアップの作成ダイアログが表示されず空の新Onenoteがインストールされた。旧 Onenote に手動でバックアップする方法を調べたが見つからない。

 

Solution)

  1. 旧Onenoteで移行させたいノートブックを開く
  2. Windows タスクバーの検索ボックスで Onenote を検索
  3. 新Onenote の最近使ったアイテムに移行させたいノートブックが表示されるのでそこから開く
  4. 新Onenote に無事移行される。

復旧できたのはクラウド上限に達する前に保存された旧Note部分(非同期分は壊れた旧PCのローカルにあるので当たり前)なので事故る前にクラウド上限は超えないようにしましょう。

OCI: クラウドシェル上で dockerfile をマルチプラットフォームビルドしようとしたらエラー ERROR: failed to solve: process "/bin/sh -c apt-get install -y zlib1g-dev mariadb-client vim libzip-dev && docker-php-ext-install zip pdo_mysql bcmath" did not complete successfully: exit code: 134

事象)

OCI のクラウドシェル上で dockerfile をマルチプラットフォームビルドしようとしたらエラー

 

docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t <username>/<image>:v1.0 --push .

ERROR: failed to solve: process "/bin/sh -c apt-get install -y zlib1g-dev mariadb-client vim libzip-dev     && docker-php-ext-install zip pdo_mysql bcmath" did not complete successfully: exit code: 134

環境)

コードシェルのアーキテクチャ>ARM64

ビルド中のログを見るとARMアーキテクチャはビルドできているが AMD64 でエラーが発生。

 

Solution)

コードシェルのアーキテクチャを x86 にすると正常にビルドできる。

OKEをリソースマネージャースタックから作成

クイック作成したOKEをリソースマネージャスタックから作成する方法

 

OKEのクラスタの作成から設定事項を選択後、クラスタの作成ボタンを実行せずにスタックとして保存を実行

 

このままの状態でリソースマネージャ⇒スタックの適用を実行すると

Error: can not omit nil fields for field: NodeConfigDetails, due to: can not omit nil fields for field: NodePoolPodNetworkOptionDetails, due to: can not omit nil fields for field: PodSubnetIds, due to: can not omit nil fields, data was expected to be a not-nil list
  with oci_containerengine_node_pool.create_node_pool_details0,
  on main.tf line 284, in resource "oci_containerengine_node_pool" "create_node_pool_details0" 
 284: resource "oci_containerengine_node_pool" "create_node_pool_details0" {

エラーが返る。

 

スタックのTrraform構成をコードエディタで編集

pod_subnet_ids = ["${oci_core_subnet.node_subnet.id}"] を追記

必ず左側のディレクトリのスタックを右クリックして変更を適用する。

 

これで適用を実行すると正常にスタックが構成される。

OCI terraform stack の template をカスタムして Kubernetes クラスタを基本クラスタでデプロイする

環境:

使用template >>> 下記リンク先 カナリアOKE

docs.oracle.com

 

編集なしで手順を進むとスタックの変数の構成にクラスタのタイプの選択がないので拡張クラスタでデプロイされる。拡張クラスタだと1か月稼働させると1万円~になる。

 

手順)

  • カナリアOKE の Deploy to Oracle Cloud ボタンをクリック
  • OCIコンソールに移るのでスタックの変数を入力(クラスタタイプの選択肢はここでは無い)
  • 作成されたスタックで適用を実行箇所で【適用の実行】をチェックしないで作成
  • 作成したスタックの編集ボタンからTerraform構成をコード・エディタで編集を選択
  • Cloud Shellが起動してterraform ファイルを編集する

変数の追加

  >>> oke-variables.tf に下記を追記

OKEモジュールに変数を追加

  >>> oke.tf に下記を追記

schemeに変数を追加

  >>> scheme.yaml に下記を追記

編集後にスタックのディレクトリを右クリックして変更の保存をクリック

 

スタックの編集画面でCluster Type を定義することができるようになっているのを確認。

スタックを適用すると無事基本クラスタでデプロイできるようになる。

 

****注意****

適用に失敗したリソースが残っているとエラーが出るのでスタックは完全にクリアーな状態で適用を実行する。

従量課金状態だと基本クラスタは一つしか作成できないことに注意。基本クラスタを保有済みだとエラーが出る。

 

参照:

registry.terraform.io

docs.oracle.com

github.com

docs.oracle.com

OCI: OKE プライベートエンドポイントしか持たないKubernetes クラスタに クラウドシェルからアクセスする方法

Updated: 2024/08/20

環境)

Kubernetes クラスタを

プライベートエンドポイント、ノードタイプ>管理対象、プライベートワーカーノード、基本クラスタで作成

 

Solution)

オフィシャルドキュメントであまり触れられていないがプライベートエンドポイントでもクラウドシェルからアクセスることはできる。

  ref)

https://blogs.oracle.com/oracle4engineer/post/ja-securely-access-private-resources

docs.oracle.com

クラウドシェルをプライベートネットワークからアクセスする

まずクラウドシェルの画面を開いてネットワーク設定から

プライベートネットワーク定義リスト>プライベートネットワーク定義の作成を開き

コンパートメント>クラスタのあるコンパートメントを選択

サブネット>Kubernetesクラスタエンドポイントのあるサブネットを選択

 

ネットワークセキュリティグループは任意(作成したプライベートネットワークへのアクセスを制御)

 

次に

kubectl config show でアクセスしたい対象のクラスタがkubeconfigに登録されているか確認

endpointのIP情報などがあれば登録済み無ければ

OKEコンソールから対象クラスタのページを開いてクラスタへのアクセスダイアログを開き、

上記をそのままコピペで実行。

kubectl config view で対象クラスタが追加されたかを確認。

kubeconfig では複数のクラスタを管理できるので現在 kubectlがどのクラスタを管理しているかを確認

kubeclt config get-contexts

これでアクセスしたいクラスタにcontextが設定されているかを確認。

context が違ったら

kubectl config use-context <対象クラスタコンテクスト>

 

最後にクラスタのエンドポイントのあるサブネットにセキュリティリストを設定する。

ref)

Kubernetes API エンドポイントにアクセスするための要塞設定>VNC管理者ステップの項

docs.oracle.com

イングレスとエグレスで6443ポートを開ける

エグレス

宛先> エンドポイントのIP/32 宛先ポート6443

イングレス

ソース 0.0.0.0/0 (プライベートネットワークで設定したクラウドシェルのIPが不明なため。セキュリティに関して要検証) 宛先ポート6443

 

以上の設定で

クラウドシェルから

kubeclt get nodes を実行すると情報を取得できるようになる。

 

公式ドキュメントではプライベートエンドポイントへのメインの接続方法としてBastion越しの接続が紹介されているがBastion用のプライベートサブネットの作成というのがよくわからなかった。

ref)

docs.oracle.com

 

注意)

クラウドシェルのプライベート接続を作成するとサブネットの削除でエラーが出るのでサブネットを削除したくなった場合は先にプライベート接続を削除する。

Windows で OCI CLI のインストールに失敗する問題

環境:

windows11 Home Edition

 

事象:

公式Docの手順に従うと

Installing collected packages: wcwidth, pytz, circuitbreaker, types-python-dateutil, terminaltables, six, PyYAML, pycparser, prompt-toolkit, jmespath, colorama, certifi, python-dateutil, click, cffi, cryptography, arrow, pyOpenSSL, oci, oci_cli
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: 'c:\\users\\aaaa\\lib\\oracle-cli\\Lib\\site-packages\\oci_cli\\help_text_producer\\data_files\\text\\cmdref\\database-management\\managed-database\\enable-external-pluggable-database-management-feature-external-pluggable-database-diagnostics-and-management-feature-details.txt'
HINT: This error might have occurred since this system does not have Windows Long Path support enabled. You can find information on how to enable this at https://pip.pypa.io/warnings/enable-long-paths

とエラー

 

solution)

windowsのファイルパスの長さが制限されているためエラーが発生しているのでWindows Long Path Supportを有効にする。

設定変更後

./install.ps1

で無事インストールできた。

Ubuntu PHP8.2 zip extension がインストールできない

環境:

ubuntu@18.0.4

PHP@8.2

 

事象:

あるパッケージをインストールしようとしたら

require ext-zip * -> it is missing from your system. Install or enable PHP's zip extension.

とエラー

sudo apt-get install php-zip を実行してもインストール済みと返る。

別のバージョンのPHPにはインストールされているがPHP8.2用のがインストールできない。

sudo pecl zip で pecl でインストールを試みるも

checking libzip... yes
checking PHP version... 8.1/8.2/8.3
checking for pkg-config... /usr/bin/pkg-config
checking for libzip... not found
configure: error: Please reinstall the libzip distribution
ERROR: `/tmp/pear/temp/zip/configure --with-php-config=/usr/bin/php-config' failed

でエラーが返る。

 

solution)

chatGPT 曰く

sudo apt-get install libzip4=1.1.2-1.1 libzip-dev=1.1.2-1.1

sudo pecl zip

これで解決