ラボ用Kubernetes クラスタ作成後にすること

自宅のラボでKubernetesクラスタを建てたら実施することを備忘録として残しておく。

CNI(Cilium)のインストール

公式を参考に

Ciliumのv1.9をインストール

kubectl apply -f https://raw.githubusercontent.com/cilium/cilium/v1.9/install/kubernetes/quick-hubble-install.yaml

Hubbleもインストール

kubectl apply -f https://raw.githubusercontent.com/cilium/cilium/v1.9/install/kubernetes/quick-hubble-install.yaml

StorageClassの作成

DatastoreのURLを取得

DSURL=$(govc datastore.info -json nuc2-ssd | jq -r '.Datastores[0].Summary.Url')

デフォルトのストレージクラスを作成

cat <<EOF | kubectl apply -f -
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nuc-storage-csi
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: csi.vsphere.vmware.com
parameters:
  datastoreurl: "$DSURL"
EOF

MetalLBのインストール

公式を参考に。

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.6/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.6/manifests/metallb.yaml
kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"

MetalLB用のアドレスプールを設定。

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 192.168.11.71-192.168.11.80
EOF

Istioのインストール

Istioをオペレータを使ってインストール

istioctl operator init

demoプロファイルでインストール

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Namespace
metadata:
  name:  istio-system
---
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
  name: demo-istio-install
spec:
  profile: demo
EOF

関連ツールをインストール

kubectl apply -f samples/addons
kubectl apply -f samples/addons/extras/zipkin.yaml

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA