Vagrant

Jenkins超入門(Vagrant・CentOS7)〜(3)Job作成・前編〜

Jenkins超入門(Vagrant・CentOS7)〜(2)Jenkinsサーバ初期設定〜 の続き Job作成1〜gitからコード取得(Checkout)〜 サーバができたのでJobを動かしてみる 前回に引き続き、 こちら を参考に進める Jenkinsを使った自動テスト環境を作る(前編) 今回のJobは (1) Gitからコードを取得して(Checkout) (2) rpmにまとめて(Build-prep、Build) (3) 任意のサーバにSCP転送(upload) という一連のJob この記事では(1)(2)まで作成する 「create new jobs」からjobを作成 (もしこの画面が分からなければ「New Item」 から作成する) item nameは任意の値を入れて、「Pipeline」を選択 「Description」など適宜入力しつつ、下にスクロール 「Pipeline」のセクションにScriptを入れるのだが 今回は自動生成ツールを利用する 「Pipeline Scripts」をクリック 各項目を入力する * Sample Step:checkout: Check out from version control * SCM:Git * Repository URL:https://github.com/hylom/grrreader * Branches to build:*/release Gitに繋がらないというエラーが出る場合は、そもそもgitがjenkinsサーバにインストールされていないのかもしれないのでインストールしてみる 「Failed to connect to repository : …

Jenkins超入門(Vagrant・CentOS7)〜(3)Job作成・前編〜 Read More »

Jenkins超入門(Vagrant・CentOS7)〜(2)Jenkinsサーバ初期設定〜

Jenkins超入門(Vagrant・CentOS7)〜(1)Jenkinsサーバを作成〜 の続き Jenkinsの初期設定 先ほど作成したJenkinsサーバの初期設定をする 「Vagrantfile」で指定したIPアドレスのポート8080番にブラウザからアクセスする 「http://【jenkinsサーバのIP】:8080」 最初に出てくるのは「Unlock Jenkins」の画面 「AdminPassword」はJenkinsサーバの「/var/lib/jenkins/secrets/initialAdminPassword」に記載されているものをコピペする その後は画面のナビ通りに設定 「Customize Jenkins」>『Install suggested plugins』 「Gettin Started」 「Create First Admin User」 「Instance Configuration」 「Jenkins is ready!」 これでセットアップは完了

Jenkins超入門(Vagrant・CentOS7)〜(1)Jenkinsサーバを作成〜

さくらさんのブログを参考にJenkinsをいじってみる Jenkinsを使った自動テスト環境を作る(前編) この記事では、 VagrantでJenkinsサーバonCentOS7を作成するところまで (ホストはMacOS) VagrantでJenkinsサーバonCentOS7を作成する まずはワークディレクトリを作成 VagrantでJenkinsサーバを作成する 「Vagrantfile」を作成 「Vagrantfile」の中身を編集 ※ ご自身の環境に合わせて編集ください 使うbox:centos/7 名前:jenkinsserver ネットワーク:192.168.33.100 ※ 「centos/7」のboxをインストールしていない場合は、インストールの必要があります マシンを起動 起動したらsshでログインする Jenkinsをインストールする wgetとjavaが入っていないので合わせてインストールした javaが入っていないと、jenkinsの起動ができず、以下のようなエラーが発生する 必要バッケージがインストールできたので、jenkinsを起動する 続きは、Jenkins超入門(Vagrant・CentOS7)〜(2)Jenkinsサーバ初期設定〜

Kubernetes超入門(Vagrant・CentOS7)〜(4)Pod作成〜

Podを作る Kubernetes超入門(Vagrant・CentOS7)〜(3)ノード設定〜の続き 作成したkubernetesの環境でhttpサービスを提供するPodを作成してみる PodはvSphere的に言うとクラスタと理解 Podの中にコンテナたちがいるイメージ Podはyamlファイルで作成できる まずはyamlファイルを格納する適当なワークディレクトリ作成 yamlファイル作成 yamlファイルはpodを作るための設計図 今回は、「httpd」と言うイメージ(redhatのサイトから取得)を元にPodを作成する 先ほど作成したyamlファイルを元にPod作成 確認したところ、作成中(「ContainerCreating」)のまま進まない 状況確認 「/etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory」とのこと こちらを参考にエラー対処 http://hylom.net/centos-redhat-registry-certs-error 証明書を入れる必要がある ※「python-rhsm」を入れるという記事もあったがうまくいかなかった ※これをマスターサーバと全てのノードに対して実施しておく 証明書を全てのノードに入れたら、マスターサーバの作業に戻る 先ほど作成したPodを削除して再トライ しばらくすると「Running」のステータスとなった 先ほどのエラーも無くなっている 「Node: kubenodeb/192.168.33.12」からkubenodebで起動していることがわかる kubenodebにログインしてコンテナたちを確認 「kubectl get pod」コマンドでPod情報を拾ってこれる ※kubectlの設定をしている(今回はマスターサーバ)で確認する 「podIP: 172.17.41.2」からPodのIPがわかる Podにhttpアクセスをしてみる httpが無事に起動していることがわかる 以上。

Kubernetes超入門(Vagrant・CentOS7)〜(3)ノード設定〜

ノードの設定 Kubernetes超入門(Vagrant・CentOS7)〜(2)マスターサーバ設定〜の続き ここからはコンテナが稼働するノードの設定 「flannel」と「kubernetes」の設定をして、マスターサーバからノードが見えてくればOK 今回は、コンテナ稼働ノードを2台用意しているので2台それぞれに設定が必要 まずはログイン。kubenodeaの方に入る まずは、hostsの設定をしておく これを設定しておかないと、マスターサーバが、ノードを見つけられない 必要なものをインストール funnel設定 マスターサーバー上のetcdを参照するよう「/etc/sysconfig/flanneld」の「FLANNEL_ETCD_ENDPOINTS」を設定する 「flanneld」と「docker」を起動 kubernetes関連設定 「/etc/kubernetes/config」の「KUBE_MASTER」を設定 「/etc/kubernetes/kubelet」の「KUBELET_ADDRESS」「KUBELET_HOSTNAME」「KUBELET_API_SERVER」を設定 「kube-proxy」と「kubelet」を起動 ログアウト ※「kubenodea」と同様にもう一つのコンテナ稼働ノードの「kubenodeb」にも設定しておく (手順省略) マスターサーバからノードが見えるか確認 マスターサーバからノードが見えるか確認する マスターノードにログイン 2ノードとも見えた これでkubernetesの環境は完成! 続きはKubernetes超入門(Vagrant・CentOS7)〜(4)Pod作成〜

Kubernetes超入門(Vagrant・CentOS7)〜(2)マスターサーバ設定〜

マスターサーバの設定 Kubernetes超入門(Vagrant・CentOS7)〜(1)環境づくり〜の続き 先ほど作成したマスターサーバ「kubemaster」の設定をしていく マスターサーバにログイン 必要なものをインストール ざっくりしか理解していないが etcdは設定情報を複数サーバで共有するもの flannelはサーバ間のネットワーク通信を可能にするもの インストールできているか確認 etcdの設定 etcdの設定をする 設定ファイルは「/etc/etcd/etcd.conf」 「ETCD_LISTEN_CLIENT_URLS」の値を変更する 設定できたので、etcdサービスを起動する flannelの設定 flannelの設定をしていく ノード間のネットワーク設定をするということ 「/etc/sysconfig/flanneld」の「FLANNEL_ETCD_PREFIX」の値を確認しておく 先ほど確認した「/atomic.io/network」のkeyを設定しにいく 設定されたか確認 設定できたのでflannelを起動 kubernetesの設定 一旦「/etc/kubernetes/」配下の設定ファイルを確認する 「apiserver」は、文字通りapiを提供しているサービス。Kubernetesを操作するために必要なサービス 「controller-manager」は、コントローラたちを管理するサービス。コントローラはリソースがうまいこと使われるように管理するもの、とざっくり理解 「kubelet」はpodの状態を管理するサービス。マスターサーバでは使わないので今回は起動しない 「proxy」はノードのルーティングを管理するサービス 「scheduler」は、podをどのノードで起動するかなどを決めるサービス ここでやることは 鍵を作成して「apiserver」「controller-manager」「config」に鍵の場所に付いて設定を追加すること まずは鍵の作成 「/etc/kubernetes/apiserver」の設定変更 「KUBE_API_ADDRESS」「KUBE_API_ARGS」に設定追加 「/etc/kubernetes/controller-manager」の設定変更 「KUBE_CONTROLLER_MANAGER_ARGS」に設定追加 「/etc/kubernetes/config」の設定変更 「KUBE_MASTER」に設定追加 設定ができたので起動していく kubectlの設定 「kubectl」はkubernetesを操作するためのコマンドツール これが先ほど起動した「kube-apiserver」経由でapiを叩きにいく コマンドを打つユーザーや場所で設定をする 必ずしもマスターサーバでなくても良いが、今回はマスターサーバで設定する ユーザーはvagrantユーザーで設定してみる ※環境に合わせて設定ください まずはvagrantユーザーに移動 設定していく kubectlコマンドが打てるか確認 うまくいった SSL/TLS証明書の設定 いまいちなぜ必要か理解していないが、 ここでSSL/TLS証明書の設定が必要らしいので淡々と設定していく 独自証明書作成(「ca.key」「ca.crt」) サーバー鍵作成(「server.key」) KubernetesサービスIPアドレス確認 …

Kubernetes超入門(Vagrant・CentOS7)〜(2)マスターサーバ設定〜 Read More »

Kubernetes超入門(Vagrant・CentOS7)〜(1)環境づくり〜

とうとうvSphereでKubernetesが管理できる時代になるということで、 重い腰を上げてKubernetesを触ってみた 参考にしたのはこちらのページ(ありがとうございます) https://knowledge.sakura.ad.jp/3681/ Vagrant環境でKubernetesを動かしたためVagrantならではの設定も記載しています。 前提条件 Mac OS Vagrant Virtualbox 構成図 Vagrant環境づくり どこでも良いが、作業用のディレクトリを作る Vagrantfileを作成 Kubernetesを管理するマスターサーバとして「kubemaster」 コンテナを動かすノードとして「kubenodea」「kubenodeb」を作成する ※名前とIPは環境に合わせて調整ください ※「centos/7」のboxは入れておいてください VMを起動 VMが起動されているか確認 続きはKubernetes超入門(Vagrant・CentOS7)〜(2)マスターサーバ設定〜

Virtualbox上のCentos6のGUIをいい感じに操作するためにVBoxLinuxAdditionsを入れる

CentOS6でGUI操作ができるようにするの続き Virtualbox上のCentos6のGUIをいい感じに操作するために VBoxLinuxAdditionsを入れる この辺りの記事を参考にさせていただきました macでVirtualBoxのguest additionsを有効にする LinuxにVirtualBox Guest Additionsを入れる方法まとめ【Ubuntu・Mint・Debian・CentOS・Fedora】 問題おさらい 問題がこちら とてもわかりずらいが、小さくてGUI操作がしづらい、、 事前準備 まずは必要なものを入れておく VBoxLinuxAdditions入手 そして肝心のVBoxLinuxAdditionsを入手する これがどこにあるのかなかなか調べられなかったが、Virtualboxのダウンロードページにあった https://www.virtualbox.org/wiki/Download_Old_Builds_6_0 該当VurtualBox Versionの「Extension Pack」と言うものをダウンロードする VBoxLinuxAdditionsをVirtualboxで使えるようにする ダウンロードしたVBoxLinuxAdditionsを Virtualboxで使えるようにする Virtualboxを開いて 「Preferences」>「Extensions」>『+』の順にクリック 先ほどダウンロードしたVBoxLinuxAdditionsを選んで追加 VBoxGuestAdditions.isoをマウント VBoxGuestAdditions.isoが使えるようになったので 問題のVMにマウントする Virtualboxの設定から 「Devices」>「Insert Guest Additions CD Image…」の順にクリック エラーにぶち当たる 一回電源切って、optical drivesを追加する ※理由は不明ですが、前の「Devices」>「Insert Guest Additions CD Image…」>エラーを踏まずに、いきなり追加をしようとすると何もディスクが表示されませんでした 電源が落ちたらVM選択し「Settihngs」をクリック 「Storage」>「+」>「Add Optical Drive」  の順でクリック VBoxGuestAdditions.isoを選択 追加できたら、「Live CD/DVD」にチェックを入れておく ここまでできたらVMを起動 まだコマンドラインが立ち上がってきたら「startx」を打ってGUIを立ち上げる なんかいる! …

Virtualbox上のCentos6のGUIをいい感じに操作するためにVBoxLinuxAdditionsを入れる Read More »

突然Vagrantが使えなくなった

MacOSを10.14.5にアップデートしたらVagrantが使えなくなった なので Vagrantを新しいVersionに入れ直したら 変なメッセージが出てきた Virtualbox入っているのに、、、 Virtualboxを最新の6.0.10にしてもうまくいかず、、 色々試行錯誤した結果、以下の組み合わせでうまく行った ヨカッタヨカッタ

オフライン環境にpyenv環境を作る(yum・pip・wget)

やりたいこと まずは、オンラインのマシンで準備 オフラインのターゲットマシンとなるべく同じOSで準備する 今回はVagrantで作成したCentOS6.5を使う 参考まで使ったVagrant boxは”centos6.5″ 最終的にこのような必要モジュール集を用意して 固めてオフライン環境に持っていき、pyenv環境を構築していく コマンドピックアップ まず大事なコマンドをメモしておく yumでインストールせずにダウンロードだけするコマンドと インストールしたローカルファイルからyumインストールする pipでインストールせずにダウンロードだけするコマンドと インストールしたローカルファイルからpipインストールする オンライン環境での準備 pyenvはgit cloneで取ってくる 中身はこれ 万が一これが出たら これを打っておく 次はpyenvvirtualenv これもgitから持ってくる 中身はこのようになる 次はPython本体 今回はとりあえず3.6.0だけ wgetでとってくる 中身はこうなる 次はpyenvに必要なモジュールたち reinstallとすることで、すでにインストールされていてもダウンロードできるようになる 中身はこれ 必要なモジュールも一つだけ持って行く これはpipでインストール 中身はこれ あとは固めて、SCPとかでオフライン環境に持って行く 参考 ファイルやりとり方法整理整頓 オフライン環境でのインストール ここからは、オフライン環境でやる作業 持ってきたものを解凍する pyenvに必要なモジュールをダウンロード pyenvをしかるべき場所に移動 pyenv-virtualenvをしかるべき場所に移動 パスを通す 今回はローカルのPythonソースからインストールするので PYTHON_BUILD_CACHEにてPythonがある場所を指定しておく 設定反映 Pythonソースの配置 先ほど定義した場所に配置する 追加Pythonのインストール 必要モジュールをインストール これでpyenvもpyenv virtualenvも使えるようになっている!