OpenShift 構築奮闘記 #0

OpenShift の構築に試行錯誤した記録を残すため「OpenShift構築奮闘記」というタイトルで連載を始めます。 手始めに OpenShift を構築することにした経緯と、インストールする構成を残しておきます。 どのような課題が発生している/していたかは #1 以降で記載します。 なお、執筆時点で構築完了していないため連載回数は未定です。 事の始まり 弊社(弊部署)には毎月hh時間は技術向上のために遊んでよい(業務外のことをしてよい)、という取り組みがあります。 その一環で、自分は Kubernetes や Ansible といった技術の検証(勉強)を進めていました。 検証のためのVMは用意してもらっていましたが、1台しかないため色々試したいことが試せず悶々とした日々を過ごしていました。 e.g. 1サーバに GitLab(omnibus) と Kubernetesクラスタ を同居させて、 GitLab から Kubernetes に連携しようとしても「同じサーバ上にあるからダメー」と怒られたり…。 そんな折の今年1月末に突如、「保守期限切れになったサーバ(正確にはワークステーションらしい)を廃棄する前に自由に使っていいよ」とボスから声を掛けていただきました。 ↓その日の定時後の様子 なんか知らんけど保守切れ物理サーバ5台を自由に使っていいことになった!なんのご褒美だ?何して遊ぼうかな、やっぱりKubernetesかなー — ののし (@nnstt1) January 31, 2020 5台も使えることになったのですが、前職を含めても物理サーバを直接触ったこともないド初心者です。 とりあえず1台分だけ VMware ESXi を導入してVMの作っては壊しをできるようにして、その VMware 上に当初から考えていた Kubernetes クラスタを構築を目指しました。 社内ネットワークということもありプロキシやら認証やらで手こずりながらも、なんとか kubeadm を使った Kubernetes クラスタを構築することができました。(この内容もいずれ記事に残したいです) そんなこんなして遊んでいたら、Red HatのウェビナーやSoftware Design 3月号で紹介されていた OpenShift の詳細を知る機会があり、興味が湧いてきました。 OpenShift、いいですよね(説明を見聞きしただけで触ったことはない)。 使うだけならARO(Azure Red Hat OpenShift)が楽だと思いますが、せっかくなので VMware 上に OpenShift を構築することを次の目標にしました。 構築にあたり以下の記事を参考にさせていただいてます、ありがとうございます。 OpenShift 4.1をIntelの超小型PC「NUC」にインストールする - Qiita はじめに 2019年6月に OpenShift Container Platform 4.1(以降、OCP4.1と表記する)がリリースされました。 評価用にOCP4.1をIntelの超小型PC「 NUC (NUC6i7KYK) 」にインストールした時の手順を投稿します。 ... qiita.com OpenShift 4.1をベアメタルへUPIインストールする - 赤帽エンジニアブログ Red Hatの福岡オフィスでソリューションアーキテクトをしている田中司恩です。OpenShift 4.1をUPIでベアメタル環境にインストールする方法について解説します。基本的にはインストールドキュメントの要約になりますが、初めてOpenShiftに触れる方にも分かりやすいように順を追って説明していきます。*1 なお、AWSへのUPIインストールについては、前の記事で林さんが書かれていますのでそちらを参考にしてください。 rheb.hatenablog.com 2019/10/30追記。 OpenShift 4.2がGAになりましたので、4.1からの変更点について下記の記事にまとめました。 … rheb.hatenablog.com 上記の記事を流し見して「なるほどよく分からん、まぁなんとかなるでしょ」と、これも勉強だと気軽に考えて手を動かし始めました。 ...

3月 3, 2020 · 1 分 · @nnstt1

2019年の振り返り&2020年の目標

はじめまして、ののしと申します。 今更ですがブログ開設してみました。 アウトプットの場としてはQiitaという便利なサイトがありますが、チラシの裏にでも書くべきような内容を吐き出す場として、ブログという選択肢を作りました。 ブログ自体は今まで何度も作っては放置し、作っては放置し…と無駄に世の中のリソースを喰い潰していました。 しかし、今回は本気です。立派にチラシの裏として活用していきます。 取り急ぎ、新年を迎えたので「2019年の振り返り&2020年の目標」ネタで投稿してみようと思います。 その前に簡単な自己紹介。 自己紹介 〜2017年 会社: デー子 職種: (たぶん)SIer 居住地: 東京 寿退社しました。 2018年〜 会社: 製造業 職種: インフラエンジニア(社内SE) 居住地: 四国 2019年やったこと 2月 デブサミ2019参加、Kubernetesと出会う。 4月 IPAに寄付。 6月 コンテナ技術講座(Kubernetes基礎編) 参加。 デブサミ参加の報告をしていたため、上司から「こんな研修があるみたいだけど、ののし君どう?」と勧めてもらえました。内容を見てみたら Kubernetes完全ガイド著者の青山氏が直々に教鞭をとってくれる 神講座!2つ返事で参加申し込みしました。 感想:青山氏のターミナル操作めっちゃはえぇ… その後、費用や日程を把握していなかった上司と応用編を受けて良いか揉めたのは別のお話…。 7月 コンテナ技術講座(Kubernetes応用編) 参加。 感想:Ingressなんも分からん… 9月 Ansibleと出会う。 10月 Ansibleもくもく会に初参加(リモート)。 Ansibleユーザー会はリモート参加可能なイベントが多く、田舎民にとってはとてもありがたいコミュニティです。 感想:中村氏のキータイプ音めっちゃ気持ちいぃ… 12月 Ansibleアドベントカレンダー投稿×2。 拙筆ながらエントリーさせていただきました。エントリーしたものの技術的なネタを書けなかったため、自分の技術力不足を感じました。 2019年の振り返り 2019年のキーワードは Kubernetes と Ansible でした。 デブサミでKubernetesを知ったことが、2019年に色々取り組むことになったきっかけでした。 前職では業務が忙しくて新しい知識を入れる暇も無く、2018年は転職直後で新しい業務を覚えることで必死でした。(生活環境も変わったし) 2年目から余裕が出てきたところにKubernetesを知り、最近のIT界隈はこんなことになってるのか!と自分の知識とのギャップに驚き、とてもモチベーションが湧きました。 しかし、現職ではそもそもコンテナも使っていないWindows Serverメインの環境なので、いくらKubernetes周りを勉強しても業務に活かすビジョンが見えずモチベーションが下がり気味でした。 Ansibleは、今からでも業務で活用できそうな技術ということもありモチベーションも高く、意欲的に取り組むことができました。 2020年の目標、やりたいこと ここ数年、新しい資格をとっていないため、2020年は資格取得をメインの目標にしようと思います。IPAへのお布施はたくさんありました だんだん抽象的になっていってます。資格取得って、明確な目標を簡単に立てられてよいですね。 LPIC-1 取得 データベーススペシャリスト 取得(2020.4) ネットワークスペシャリスト 取得(2020.10) Ansible勉強する Kubernetes勉強する アウトプットがんばる 資格はどれか1つでも取れたら良いかな。 ...

1月 3, 2020 · 1 分 · @nnstt1

CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/master/stable.txt) CLI_ARCH=amd64 if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum} sha256sum --check cilium-linux-${CLI_ARCH}.tar.gz.sha256sum sudo tar xzvfC cilium-linux-${CLI_ARCH}.tar.gz /usr/local/bin rm cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum} $ cilium install ℹ️ Using Cilium version 1.12.2 🔮 Auto-detected cluster name: nuc-kubernetes 🔮 Auto-detected datapath mode: tunnel 🔮 Auto-detected kube-proxy has been installed ℹ️ helm template --namespace kube-system cilium cilium/cilium --version 1.12.2 --set cluster.id=0,cluster.name=nuc-kubernetes,encryption.nodeEncryption=false,kubeProxyReplacement=disabled,operator.replicas=1,serviceAccounts.cilium.name=cilium,serviceAccounts.operator.name=cilium-operator,tunnel=vxlan ℹ️ Storing helm values file in kube-system/cilium-cli-helm-values Secret 🔑 Created CA in secret cilium-ca 🔑 Generating certificates for Hubble... 🚀 Creating Service accounts... 🚀 Creating Cluster roles... 🚀 Creating ConfigMap for Cilium version 1.12.2... 🚀 Creating Agent DaemonSet... 🚀 Creating Operator Deployment... ⌛ Waiting for Cilium to be installed and ready... ♻️ Restarting unmanaged pods... ♻️ Restarted unmanaged pod argocd/argocd-application-controller-0 ♻️ Restarted unmanaged pod argocd/argocd-applicationset-controller-6ddcfb56c5-2twtr ♻️ Restarted unmanaged pod argocd/argocd-dex-server-6569f7db86-qlvht ♻️ Restarted unmanaged pod argocd/argocd-notifications-controller-7c777f9bbb-rbrgd ♻️ Restarted unmanaged pod argocd/argocd-redis-ha-haproxy-699bd9dc9c-2lsbz ♻️ Restarted unmanaged pod argocd/argocd-redis-ha-haproxy-699bd9dc9c-b6sb5 ♻️ Restarted unmanaged pod argocd/argocd-redis-ha-haproxy-699bd9dc9c-khwsz ♻️ Restarted unmanaged pod argocd/argocd-redis-ha-server-0 ♻️ Restarted unmanaged pod argocd/argocd-redis-ha-server-1 ♻️ Restarted unmanaged pod argocd/argocd-redis-ha-server-2 ♻️ Restarted unmanaged pod argocd/argocd-repo-server-686555df69-l7qqv ♻️ Restarted unmanaged pod argocd/argocd-repo-server-686555df69-xjl2x ♻️ Restarted unmanaged pod argocd/argocd-server-6f5565ff-6jhgx ♻️ Restarted unmanaged pod argocd/argocd-server-6f5565ff-bq55m ♻️ Restarted unmanaged pod calico-apiserver/calico-apiserver-5b68b6b54-6h5dv ♻️ Restarted unmanaged pod calico-apiserver/calico-apiserver-5b68b6b54-t782c ♻️ Restarted unmanaged pod calico-system/calico-kube-controllers-59c45ff85c-jf92d ♻️ Restarted unmanaged pod cert-manager/cert-manager-798f8bb594-p2tx4 ♻️ Restarted unmanaged pod cert-manager/cert-manager-cainjector-5bb9bfbb5c-qnncp ♻️ Restarted unmanaged pod cert-manager/cert-manager-webhook-69579b9ccd-s7b6v ♻️ Restarted unmanaged pod ingress-nginx/ingress-nginx-controller-568764d844-vpmgw ♻️ Restarted unmanaged pod kube-system/coredns-64897985d-zh9b9 ♻️ Restarted unmanaged pod kube-system/external-dns-645cdcdb57-84tkh ♻️ Restarted unmanaged pod kube-system/external-dns-645cdcdb57-hntlc ♻️ Restarted unmanaged pod kube-system/external-dns-645cdcdb57-wwnw8 ♻️ Restarted unmanaged pod kube-system/metrics-server-7b857dcf59-hchdt ♻️ Restarted unmanaged pod metallb-system/controller-7476b58756-gxrxt ♻️ Restarted unmanaged pod monitoring/alertmanager-main-0 ♻️ Restarted unmanaged pod monitoring/blackbox-exporter-559db48fd-9wn6w ♻️ Restarted unmanaged pod monitoring/curl ♻️ Restarted unmanaged pod monitoring/grafana-7b947f9c4f-6hklv ♻️ Restarted unmanaged pod monitoring/kube-state-metrics-576b75c6f7-xc5z2 ♻️ Restarted unmanaged pod monitoring/prometheus-adapter-5f68766c85-8lrst ♻️ Restarted unmanaged pod monitoring/prometheus-adapter-5f68766c85-qndsg ♻️ Restarted unmanaged pod monitoring/prometheus-k8s-0 ♻️ Restarted unmanaged pod monitoring/prometheus-operator-79c5847fd8-lx2qt ♻️ Restarted unmanaged pod rook-ceph/csi-cephfsplugin-2fcrp ♻️ Restarted unmanaged pod rook-ceph/csi-cephfsplugin-8bpjt ♻️ Restarted unmanaged pod rook-ceph/csi-cephfsplugin-holder-rook-ceph-89866 ♻️ Restarted unmanaged pod rook-ceph/csi-cephfsplugin-holder-rook-ceph-dvnsj ♻️ Restarted unmanaged pod rook-ceph/csi-cephfsplugin-holder-rook-ceph-f6lmb ♻️ Restarted unmanaged pod rook-ceph/csi-cephfsplugin-provisioner-756887cbc-qrb4n ♻️ Restarted unmanaged pod rook-ceph/csi-cephfsplugin-provisioner-756887cbc-zk2sc ♻️ Restarted unmanaged pod rook-ceph/csi-cephfsplugin-xnv7f ♻️ Restarted unmanaged pod rook-ceph/csi-rbdplugin-bbx7w ♻️ Restarted unmanaged pod rook-ceph/csi-rbdplugin-dhmlm ♻️ Restarted unmanaged pod rook-ceph/csi-rbdplugin-holder-rook-ceph-wlvwg ♻️ Restarted unmanaged pod rook-ceph/csi-rbdplugin-holder-rook-ceph-ws6dv ♻️ Restarted unmanaged pod rook-ceph/csi-rbdplugin-holder-rook-ceph-zbkqg ♻️ Restarted unmanaged pod rook-ceph/csi-rbdplugin-provisioner-59956fc65f-2t9l8 ♻️ Restarted unmanaged pod rook-ceph/csi-rbdplugin-provisioner-59956fc65f-qdk95 ♻️ Restarted unmanaged pod rook-ceph/csi-rbdplugin-w69qv ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-crashcollector-kube-work1.nnstt1.home-7b7dfbd4cchgldk ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-crashcollector-kube-work2.nnstt1.home-6cc79dc594lk4tr ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-crashcollector-kube-work4.nnstt1.home-5b867bcdb84zdbq ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-mgr-a-7df44488cc-sz892 ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-mgr-b-7dd594ddbf-8j7mt ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-mon-c-dfb56986f-85ld5 ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-mon-d-6b9896d578-dts4s ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-mon-e-66f88b5c74-9r2x2 ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-operator-5cf8876b44-qccj5 ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-osd-0-69d5d87bdb-8wrqm ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-osd-1-59bb64f7c4-ljp5v ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-osd-2-6fd4d8787-78qt5 ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-osd-3-7949c6bdbd-gg9vh ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-osd-4-b5455c9b5-khgc2 ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-osd-5-7569f547cd-fqgn9 ♻️ Restarted unmanaged pod rook-ceph/rook-ceph-tools-79bc54b8d8-8gcbv ♻️ Restarted unmanaged pod wordpress/wordpress-85558758cf-8x97v ♻️ Restarted unmanaged pod wordpress/wordpress-mysql-5f98ff5559-jnxj6 ✅ Cilium was successfully installed! Run 'cilium status' to view installation health $ cilium status /¯¯\ /¯¯\__/¯¯\ Cilium: OK \__/¯¯\__/ Operator: OK /¯¯\__/¯¯\ Hubble: disabled \__/¯¯\__/ ClusterMesh: disabled \__/ DaemonSet cilium Desired: 6, Ready: 6/6, Available: 6/6 Deployment cilium-operator Desired: 1, Ready: 1/1, Available: 1/1 Containers: cilium Running: 6 cilium-operator Running: 1 Cluster Pods: 69/74 managed by Cilium Image versions cilium quay.io/cilium/cilium:v1.12.2@sha256:986f8b04cfdb35cf714701e58e35da0ee63da2b8a048ab596ccb49de58d5ba36: 6 cilium-operator quay.io/cilium/operator-generic:v1.12.2@sha256:00508f78dae5412161fa40ee30069c2802aef20f7bdd20e91423103ba8c0df6e: 1 Hubble enable ...

5 分 · nnstt1