13: 2021-09-10 (金) 23:45:13 iseki |
現: 2021-09-15 (水) 13:03:38 iseki |
| #br | | #br |
| - https://qiita.com/ishida0503/items/f3b62b02dec4f6fef42f | | - https://qiita.com/ishida0503/items/f3b62b02dec4f6fef42f |
| + | #br |
| + | **** ''Check !!!! 後でチェックする.'' [#f5a64eb5] |
| + | - kubectl config set-context $(kubectl config current-context) --namespace k8sns |
| #br | | #br |
| | | |
| *** 本体のインストール [#sabae243] | | *** 本体のインストール [#sabae243] |
| | | |
- | **** K8sリポジトリ(EL7) [#o2437fdb] | + | **** K8sリポジトリ(RHEL7) [#o2437fdb] |
| - /etc/yum.repos.d/kubernetes.repo | | - /etc/yum.repos.d/kubernetes.repo |
| [kubernetes] | | [kubernetes] |
| #br | | #br |
| | | |
- | **** EL7 ではなくて,最新版を手動で入れる. [#dae1dbdf] | + | **** RHEL7 ではなくて,最新版を手動で入れる. [#dae1dbdf] |
| - yum install -y socat iproute-tc ipvsadm conntrack-tools | | - yum install -y socat iproute-tc ipvsadm conntrack-tools |
| - バイナリのダウンロード | | - バイナリのダウンロード |
| Wants=network-online.target | | Wants=network-online.target |
| After=network-online.target | | After=network-online.target |
| + | |
| [Service] | | [Service] |
| ExecStart=/usr/bin/kubelet | | ExecStart=/usr/bin/kubelet |
| StartLimitInterval=0 | | StartLimitInterval=0 |
| RestartSec=10 | | RestartSec=10 |
| + | |
| [Install] | | [Install] |
| WantedBy=multi-user.target | | WantedBy=multi-user.target |
| | | |
| **** kubeadm [#e750df5b] | | **** kubeadm [#e750df5b] |
- | - kubeadm init --pod-network-cidr=10.128.0.0/16 --service-cidr 10.128.0.0/16 --control-plane-endpoint=172.22.1.75 | + | - kubeadm init --pod-network-cidr=10.128.0.0/16 --service-cidr 10.128.0.0/16 --control-plane-endpoint=172.22.1.75:6443 |
- | -- --control-plane-endpoint は内部 DNSのIP:Port を指定する? (ポートは 4663?) | + | -- --control-plane-endpoint は内部 DNSのIP:Port を指定する? |
| - 作られるファイル | | - 作られるファイル |
| -- /var/lib/etcd/ | | -- /var/lib/etcd/ |
| -- 何かリセットできない.... 関連ファイル削除,関連プロセス皆殺し... | | -- 何かリセットできない.... 関連ファイル削除,関連プロセス皆殺し... |
| #br | | #br |
| + | |
| **** minikube [#g2baeece] | | **** minikube [#g2baeece] |
| - 別のクラスター構築ツール. | | - 別のクラスター構築ツール. |
| vi custom-resources.yaml (correct IP) | | vi custom-resources.yaml (correct IP) |
| kubectl create -f custom-resources.yaml | | kubectl create -f custom-resources.yaml |
| + | |
| watch kubectl get pods -n calico-system | | watch kubectl get pods -n calico-system |
| kubectl taint nodes --all node-role.kubernetes.io/master- (マスタノードでも Podを実行できるようになる) | | kubectl taint nodes --all node-role.kubernetes.io/master- (マスタノードでも Podを実行できるようになる) |
| kubectl get nodes -o wide | | kubectl get nodes -o wide |
| + | |
| + | - /etc/NetworkManager/conf.d/calico.conf で以下の設定が必要になるかもしれない |
| + | [keyfile] |
| + | unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico |
| | | |
| **** calicoctl [#t3e4c13e] | | **** calicoctl [#t3e4c13e] |
| #br | | #br |
| | | |
- | ***** Alt 1 [#a2d229df] | + | ***** 他の方法 [#dba04328] |
| + | - その1 |
| curl -L https://docs.projectcalico.org/manifests/calico.yaml | \ | | curl -L https://docs.projectcalico.org/manifests/calico.yaml | \ |
| sed '/ - name: CALICO_DISABLE_FILE_LOGGING/i\ # ADD' | \ | | sed '/ - name: CALICO_DISABLE_FILE_LOGGING/i\ # ADD' | \ |
| cat - > calico.yaml | | cat - > calico.yaml |
| kubectl apply -f calico.yaml | | kubectl apply -f calico.yaml |
| + | |
| watch kubectl get pods -n calico-system | | watch kubectl get pods -n calico-system |
| kubectl taint nodes --all node-role.kubernetes.io/master- | | kubectl taint nodes --all node-role.kubernetes.io/master- |
| kubectl get nodes -o wide | | kubectl get nodes -o wide |
| | | |
- | ***** Alt 2 [#i1978737] | + | - その2 |
| cat <<EOF > /etc/NetworkManager/conf.d/calico.conf | | cat <<EOF > /etc/NetworkManager/conf.d/calico.conf |
| [keyfile] | | [keyfile] |
| vi calico.yaml (correct IP) | | vi calico.yaml (correct IP) |
| kubectl apply -f calico.yaml | | kubectl apply -f calico.yaml |
| + | |
| watch kubectl get pods -n calico-system | | watch kubectl get pods -n calico-system |
| kubectl taint nodes --all node-role.kubernetes.io/master- | | kubectl taint nodes --all node-role.kubernetes.io/master- |
| kubectl apply -f l2-configuration.yaml | | kubectl apply -f l2-configuration.yaml |
| kubectl get service | | kubectl get service |
| + | |
| + | - [[l2-configuration.yaml>./l2-configuration.yaml]] |
| + | #br |
| | | |
| ** Getting first [#o1bbd83d] | | ** Getting first [#o1bbd83d] |
| - https://qiita.com/suzukihi724/items/241f7241d297a2d4a55c | | - https://qiita.com/suzukihi724/items/241f7241d297a2d4a55c |
| #br | | #br |
| + | |
| + | **** MetalLB を使用した場合 [#l6b076d5] |
| + | kubectl run nginx --image=nginx:1.11.3 |
| + | kubectl get pod |
| + | kubectl expose pod nginx --port=80 --type=LoadBalancer --name=nginx |
| + | kubectl get service |
| + | |
| + | NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE |
| + | kubernetes ClusterIP 10.128.0.1 <none> 443/TCP 17m |
| + | nginx LoadBalancer 10.128.44.222 172.22.1.70 80:32606/TCP 3m42s |
| + | |
| + | - 172.22.1.70:80 へのアクセスで Webに接続可 |
| + | #br |
| + | |
| + | *** OLD: nginx [#fe881da9] |
| | | |
| **** Start [#x082d3f7] | | **** Start [#x082d3f7] |
| kubectl run nginx --image=nginx:1.11.3 | | kubectl run nginx --image=nginx:1.11.3 |
| kubectl get pod | | kubectl get pod |
- | kubectl expose pod nginx--external-ip=172.22.1.75 --port=80 | + | kubectl expose pod nginx --external-ip=172.22.1.75 --port=80 |
| kubectl get service | | kubectl get service |
| | | |
| nginx ClusterIP 10.128.175.104 192.168.27.43 80/TCP 51m | | nginx ClusterIP 10.128.175.104 192.168.27.43 80/TCP 51m |
| nginx2 ClusterIP 10.128.175.124 192.168.27.44 80/TCP 4m53s | | nginx2 ClusterIP 10.128.175.124 192.168.27.44 80/TCP 4m53s |
| + | #br |
| + | *** JupyterHub [#t5f59cf9] |
| + | - [[JupyterHub>./JupyterHub]] |
| #br | | #br |