集群初始化
kubeadm init \
--kubernetes-version=v1.18.0 \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.1.0.0/16 \
--control-plane-endpoint=192.168.76.19:8443 \
--image-repository=registry.aliyuncs.com/google_containers \
--upload-certs
添加master节点
kubeadm join 192.168.76.19:8443 --token xd7vo7.dijnbfbpmik5ghtu \
--discovery-token-ca-cert-hash sha256:ff952e595e43ab4a0777bb3ef6ca67250c8dd4fc1a688a5c7a806266f5b72b3f \
--control-plane --certificate-key 88b8487cc4c9648f1865ad1b65033d0351b40b5a316f94da15f79a143a96e37b
添加node节点
kubeadm join 192.168.76.19:8443 --token xd7vo7.dijnbfbpmik5ghtu \
--discovery-token-ca-cert-hash sha256:ff952e595e43ab4a0777bb3ef6ca67250c8dd4fc1a688a5c7a806266f5b72b3f
重新添加节点
- 执行kubeadm token create --print-join-command,重新生成,重新生成基础的 join 命令(对于添加 master 节点还需要重新生成certificate-key,见下一步)
如果是添加 worker 节点,不需要执行这一步,直接使用上面返回的 join 命令加入集群。 - 使用 kubeadm init phase upload-certs --upload-certs 重新生成certificate-key
添加 master 节点:用上面第1步生成的 join 命令和第2步生成的–certificate-key 值拼接起来执行
基础命令
创建一个永久性的token
kubeadm token create --ttl 0
查看token
kubeadm token list
查看节点
kubectl get nodes
查看节点日志
journalctl -f -u kubelet
查看 metrics-server 或资源指标 API (metrics.k8s.io) 是否已经运行
kubectl get apiservices
创建一个命名空间
kubectl create namespace lyy
创建Pod ember-app-pod.yaml文件需要自己定义。具体请看 yaml文件解析kubernetes.yaml这个文件
kubectl apply -f ember-app-pod.yaml
查看节点pods状态
kubectl get pods -n kube-system -owide
然后观察 Pod 的启动情况:
kubectl get pods
查看Pod中的容器是否运行 memory-demo资源名称 mem-example容器命名空间
kubectl get pod memory-demo --namespace=mem-example
获取容器更详细的状态信息
kubectl get pod memory-demo-2 --output=yaml --namespace=mem-example
删除Pod
kubectl delete pod memory-demo --namespace=mem-example
pod 版本控制
1. 查看版本历史
[root@k8s-master1 kafka]# kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
center 1/1 1 1 28d
kubectl rollout history deployment center
更新pod的时候加上–record 记录版本信息 如:
kubectl apply -f /data/system-file/cephfs/examples/volumes/cephfs/lnmp/php-nginx/common.yaml --record
这是再次查看改pod版本信息,显示版本更改已记录
[root@k8s-master1 kafka]# kubectl rollout history deployment common
deployment.apps/common
REVISION CHANGE-CAUSE
8 kubectl apply --filename=/data/system-file/cephfs/examples/volumes/cephfs/lnmp/php-nginx/common.yaml --record=true
版本回退 以下有两种方法
- 回到前一个版本
kubectl rollout undo deployment/common
- 指定版本号
kubectl rollout undo deployment/common --to-revision=8