五、DashboardとCoreDNSの配置
4489 ワード
文書ディレクトリ
1、corednsの配備
1.1 Dashboardのyamlファイルのダウンロード
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
デフォルトのDashboardでは、クラスタ内でしかアクセスできません.サービスをNodePortタイプに変更し、外部に露出します.
vim recommended.yaml
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
ports:
- port: 443
targetPort: 8443
nodePort: 30001
type: NodePort
selector:
k8s-app: kubernetes-dashboard
1.2 Dashboardサービスの導入
# kubectl apply -f recommended.yaml
# kubectl get pods,svc -n kubernetes-dashboard
NAME READY STATUS RESTARTS AGE
pod/dashboard-metrics-scraper-694557449d-pzjvv 1/1 Running 0 20s
pod/kubernetes-dashboard-9774cc786-8mprh 1/1 Running 0 20s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/dashboard-metrics-scraper ClusterIP 10.0.0.230 <none> 8000/TCP 20s
service/kubernetes-dashboard NodePort 10.0.0.24 <none> 443:30001/TCP 20s
アクセス先:https://NodeIP:30001
1.3サービスaccountを作成し、デフォルトのcluster-admin管理者クラスタロールをバインドする
# kubectl create serviceaccount dashboard-admin -n kube-system
# kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
出力のtokenを使用してDashboardにログインします.
2、CoreDNSの配備
2.1 CoreDNSはクラスタ内のサービス名解析に使用されます.
2.1 CoreDNSのyamlファイルの生成
mkdir /opt/tools/coredns && cd /opt/tools/coredns/
wget https://raw.githubusercontent.com/coredns/deployment/master/kubernetes/coredns.yaml.sed
wget https://raw.githubusercontent.com/coredns/deployment/master/kubernetes/deploy.sh
chmod +x deploy.sh
./deploy.sh -i 10.0.0.2 > coredns.yml
:10.0.0.2 k8s pod IP
注意:CoreDNSのyamlファイルを生成するにはjqコマンドが必要です
CentOS7 jq
# EPEL :
yum install epel-release
# jq:
yum install jq
2.2 corednsサービスの導入
kubectl apply -f coredns.yml
corednsサービスが正常に作成されたかどうかを確認します
# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-6fdfb45d56-qv8hl 1/1 Running 0 2m7s
kube-flannel-ds-amd64-bnbrf 1/1 Running 3 43h
kube-flannel-ds-amd64-mtn2f 1/1 Running 2 44h
2.3 DNS解析テスト
# kubectl run -it --rm dns-test --image=busybox:1.28.4 sh
If you don't see a command prompt, try pressing enter.
/ # nslookup kubernetes
Server: 10.0.0.2
Address 1: 10.0.0.2 kube-dns.kube-system.svc.cluster.local
Name: kubernetes
Address 1: 10.0.0.1 kubernetes.default.svc.cluster.local
解析は大丈夫です.