あけましておめでとうございます。
久しぶりにBlogを更新しています。
昨年最後の投稿はフランス語の勉強をはじめたという報告でした。
フランス語はDuolingoを毎日継続している状況ですが、なかなか上達しません。
その他IT関連も含めて今年も気長にやって行こうと思います。
本年もどうぞよろしくお願いいたします。
あけましておめでとうございます。
久しぶりにBlogを更新しています。
昨年最後の投稿はフランス語の勉強をはじめたという報告でした。
フランス語はDuolingoを毎日継続している状況ですが、なかなか上達しません。
その他IT関連も含めて今年も気長にやって行こうと思います。
本年もどうぞよろしくお願いいたします。
4月中旬あたりから少しずつフランス語の学習をはじめています。 3日坊主とならずに少しずつ前に進んでいる状況です。 英語をもっと深堀し流暢に話せた方が良いと思うのですが、少し気分を変えたいという気持ちもあり新しくフランス語にチャレンジしています。
英語と同様にフランス語もアルファベットがあり、そこから取り組み始めたのですが同じ文字でも英語と発音が異なるものがあり、未だに混乱することがあります。 特にJとGの発音がパッとできない…
そして綴り字というものもあり、これから発音やこれらが意味することをきちんと覚えたいと思っています。
É, é À,Ù, à, ù Â, Î, Ô, Û, â, î, ô, û Ç, ç Ä, Ë, Ï, Ö, Ü, Ÿ, ä, ë, ï, ö, ü, ÿ
使っている参考書はネットでも評判が良かった「フラ語入門、わかりやすいにもホドがある! [改訂新版]《CD付》」です。 図書館で何冊か参考書を借りてきて比較し、読みやすかったので購入しました。
また、「CDレッスン 驚くほど身につくフランス語」という参考書も使っています。これは以前フランス語をやろうと思ったものの3日坊主となった際の参考書です。 こちらもフラ語入門の方に書いていないことがあったりするので、比較しながら読み進めています。
学生時代とは異なり、Youtubeに様々なフランス語コンテンツがありアプリなども充実しているのでフランス語学習のハードルはかなり下がっていますね。
ということで、日常会話くらいまでできるようになってフランス旅行に行ってみたいと思う今日この頃です。
Minikubeを何のオプションも設定せずに起動するとシングルクラスターとして環境が構築されます。
tworks55@LAPTOP-A1R0H57F:~$ kubectl get node NAME STATUS ROLES AGE VERSION minikube Ready control-plane,master 10d v1.23.3
複数ノードを使って動作確認をしたい場合もあると思いますので、今回は複数ノードでminikubeを作り直します。
既にノードが作成されている場合は、起動オプションでノード数を設定しても無視されます。
The cluster minikube already exists which means the --nodes parameter will be ignored. Use "minikube node add" to add nodes to an existing cluster.
tworks55@LAPTOP-A1R0H57F:~$ minikube start --nodes 3 😄 minikube v1.25.2 on Ubuntu 20.04 ✨ Using the docker driver based on existing profile 👍 Starting control plane node minikube in cluster minikube 🚜 Pulling base image ... 🔄 Restarting existing docker container for "minikube" ... 🐳 Preparing Kubernetes v1.23.3 on Docker 20.10.12 ... ▪ kubelet.housekeeping-interval=5m 🔎 Verifying Kubernetes components... ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 ▪ Using image k8s.gcr.io/metrics-server/metrics-server:v0.4.2 ▪ Using image kubernetesui/dashboard:v2.3.1 ▪ Using image kubernetesui/metrics-scraper:v1.0.7 🌟 Enabled addons: storage-provisioner, default-storageclass, metrics-server, dashboard ❗ The cluster minikube already exists which means the --nodes parameter will be ignored. Use "minikube node add" to add nodes to an existing cluster. 💡 kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A' 🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default続きを読む
WSL2上のminikubeでいろいろ試していたところ、知らない間にpodがimage取得に失敗するようになっていました。発生していたエラーは以下になります。
Failed to pull image "nginx": rpc error: code = Unknown desc = Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 192.168.49.1:53: read udp 192.168.49.2:41517->192.168.49.1:53: i/o timeout
こちらを参考に/etc/resolv.confの情報を8.8.8.8に変更し、dockerとminikubeを再起動し解決しました。
しかし、WSLは/etc/resolv.confを自動で生成する仕組みになっているようで、WSL2を再起動すると8.8.8.8に設定したファイルが上書きされ別のIPアドレスに変わっています。
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf: # [network] # generateResolvConf = false nameserver 172.17.224.1
/etc/resolv.confを再生成しないようにするには /etc/wsl.confに以下2行を追加せよとのこと。
[network] generateResolvConf = false
WSLは便利ですが少し癖がありますね。
Kubernetesを触り始めるとkubectlコマンドを多用しますが、リソース名が長くてタイプが面倒になってきます。
その際にリソース名の略称を知っていると少し便利です。どのリソースが省略名を持っているかは以下のコマンドで確認できます。
kubectl api-resources
先日作成したminikube環境で確認すると以下のようになります。
tworks55@LAPTOP-A1R0H57F:~/k8s$ kubectl api-resources NAME SHORTNAMES APIVERSION NAMESPACED KIND bindings v1 true Binding componentstatuses cs v1 false ComponentStatus configmaps cm v1 true ConfigMap endpoints ep v1 true Endpoints events ev v1 true Event limitranges limits v1 true LimitRange namespaces ns v1 false Namespace nodes no v1 false Node persistentvolumeclaims pvc v1 true PersistentVolumeClaim persistentvolumes pv v1 false PersistentVolume pods po v1 true Pod podtemplates v1 true PodTemplate replicationcontrollers rc v1 true ReplicationController resourcequotas quota v1 true ResourceQuota secrets v1 true Secret serviceaccounts sa v1 true ServiceAccount services svc v1 true Service mutatingwebhookconfigurations admissionregistration.k8s.io/v1 false MutatingWebhookConfiguration validatingwebhookconfigurations admissionregistration.k8s.io/v1 false ValidatingWebhookConfiguration customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition apiservices apiregistration.k8s.io/v1 false APIService controllerrevisions apps/v1 true ControllerRevision daemonsets ds apps/v1 true DaemonSet deployments deploy apps/v1 true Deployment replicasets rs apps/v1 true ReplicaSet statefulsets sts apps/v1 true StatefulSet tokenreviews authentication.k8s.io/v1 false TokenReview localsubjectaccessreviews authorization.k8s.io/v1 true LocalSubjectAccessReview selfsubjectaccessreviews authorization.k8s.io/v1 false SelfSubjectAccessReview selfsubjectrulesreviews authorization.k8s.io/v1 false SelfSubjectRulesReview subjectaccessreviews authorization.k8s.io/v1 false SubjectAccessReview horizontalpodautoscalers hpa autoscaling/v2 true HorizontalPodAutoscaler cronjobs cj batch/v1 true CronJob jobs batch/v1 true Job certificatesigningrequests csr certificates.k8s.io/v1 false CertificateSigningRequest leases coordination.k8s.io/v1 true Lease endpointslices discovery.k8s.io/v1 true EndpointSlice events ev events.k8s.io/v1 true Event flowschemas flowcontrol.apiserver.k8s.io/v1beta2 false FlowSchema prioritylevelconfigurations flowcontrol.apiserver.k8s.io/v1beta2 false PriorityLevelConfiguration nodes metrics.k8s.io/v1beta1 false NodeMetrics pods metrics.k8s.io/v1beta1 true PodMetrics ingressclasses networking.k8s.io/v1 false IngressClass ingresses ing networking.k8s.io/v1 true Ingress networkpolicies netpol networking.k8s.io/v1 true NetworkPolicy runtimeclasses node.k8s.io/v1 false RuntimeClass poddisruptionbudgets pdb policy/v1 true PodDisruptionBudget podsecuritypolicies psp policy/v1beta1 false PodSecurityPolicy clusterrolebindings rbac.authorization.k8s.io/v1 false ClusterRoleBinding clusterroles rbac.authorization.k8s.io/v1 false ClusterRole rolebindings rbac.authorization.k8s.io/v1 true RoleBinding roles rbac.authorization.k8s.io/v1 true Role priorityclasses pc scheduling.k8s.io/v1 false PriorityClass csidrivers storage.k8s.io/v1 false CSIDriver csinodes storage.k8s.io/v1 false CSINode csistoragecapacities storage.k8s.io/v1beta1 true CSIStorageCapacity storageclasses sc storage.k8s.io/v1 false StorageClass volumeattachments storage.k8s.io/v1 false VolumeAttachment続きを読む