kubectl apply -f kubernetes-dashboard.yaml
kubectl get nodes
kubectl get pods
kubectl logs nginx-65f88748fd-76slj
kubectl get rc
kubectl run my-nginx --image=nginx --replicas=2 --port=80
#重要命令
kubectl get pods -n kube-system
kubectl get pods,svc -n kube-system
kubeadm join 172.16.3.63:6443 --token qatqob.9ciblzv3ll1vwd1t --discovery-token-ca-cert-hash sha256:ba94e8e04c8352f0a5536645df2d4fc149d60c0165672e8d68cb492f3ae3c84a
- 创建和获取token和sha256编码的hash的值
- 当创建k8s主节点初始化的时候有提示输出的,如果忘记了没有的话或者过时了可以重新创建和获取。
kubeadm token create
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
yaml文件修改
kubernetes-dashboard.yaml文件
-
修改镜像源为:image: lizhenliang/kubernetes-dashboard-amd64:v1.10.1
-
并拉取镜像:docker pull lizhenliang/kubernetes-dashboard-amd64:v1.10.1
# ------------------- Dashboard Deployment -------------------
kind: Deployment
apiVersion: apps/v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
k8s-app: kubernetes-dashboard
template:
metadata:
labels:
k8s-app: kubernetes-dashboard
spec:
containers:
- name: kubernetes-dashboard
#原镜像源文件拉取不下来,去开源镜像网站找镜像源更换即可。
#image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
image: lizhenliang/kubernetes-dashboard-amd64:v1.10.1
ports:
- containerPort: 8443
protocol: TCP
args:
- --auto-generate-certificates
# Uncomment the following line to manually specify Kubernetes API server Host
# If not specified, Dashboard will attempt to auto discover the API server and connect
# to it. Uncomment only if the default does not work.
# - --apiserver-host=http://my-address:port
volumeMounts:
- name: kubernetes-dashboard-certs
mountPath: /certs
# Create on-disk volume to store exec logs
- mountPath: /tmp
name: tmp-volume
livenessProbe:
httpGet:
scheme: HTTPS
path: /
port: 8443
initialDelaySeconds: 30
timeoutSeconds: 30
volumes:
- name: kubernetes-dashboard-certs
secret:
secretName: kubernetes-dashboard-certs
- name: tmp-volume
emptyDir: {}
serviceAccountName: kubernetes-dashboard
# Comment the following tolerations if Dashboard must not be deployed on master
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
- 默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部:
- 注意修改文件:后面要有空格,不然会报错。error: error parsing kubernetes-dashboard.yaml: error converting YAML to JSON: yaml: line 12: mappin。
# ------------------- Dashboard Service ------------------- #
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
ports:
- port: 443
targetPort: 8443
type: NodePort
selector:
k8s-app: kubernetes-dashboard
最后附上webui:
image.png
网友评论