使用变量实现资源清单复用
kubeadm join 超时报错
1error execution phase kubelet-start: error uploading crisocket: timed out waiting for the condition
解决方法:
12345swapoff -akubeadm resetsystemctl daemon-reloadsystemctl restart kubeletiptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
更改默认存储类
列出你的集群中的 StorageClasses1kubectl get storageclass
输出类似这样:
123NAME PROVISIONER AGEstandard (default) kubernetes.io/gce-pd 1dgold kubernetes.io/gce-pd 1d
默认 StorageClass 以 (default) 标记。
标记默认 StorageClass 非默认默认 StorageClass 的注解 storageclass.kubernetes.io/is-default-class 设置为 true。 注解的其它任意值或者缺省值将被解释为 false。
要标记一个 StorageClass 为非默认的,你需要改变它的值为 false:
1kubectl patch storageclass standard -p '{"metadata": {"annotati ...
使用JsonPath获取资源信息
1234567# 使用jsonPath查看某个pod的信息root@k8s-master01:~# kubectl get pods replicaset-demo-5fmvs -o jsonpath={.metadata.ownerReferences}[{"apiVersion":"apps/v1","blockOwnerDeletion":true,"controller":true,"kind":"ReplicaSet","name":"replicaset-demo","uid":"d16ab83c-c9a6-486f-b202-72e93f982750"}]# 引用该项上的第0项的name信息root@k8s-master01:~# kubectl get pods replicaset-demo-5fmvs -o jsonpath= ...
使用Go模板输出字段
若知道pod名称,想要获取pod的ip地址可以使用go-template来获取。
12root@k8s-master01:~/yaml/chapter06# kubectl get pods configmaps-volume-demo -o go-template={{.status.podIP}}10.244.2.13
要知道其字段的名称,需要层级的查看,查看完整的字段可以使用-o json来输出
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 ...
URL获取资源完整格式
命名资源和核心群组资源的路径不同,其格式如下。
1234# 命名群组/apis/GROUP/VERSION/namespaces/NAMESPACE/pods/POD_NAME# 核心群组/api/v1/namespaces/NAMESPACE/pods/POD_NAME
命令资源获取资源完整格式使用url来获取pod的资源清单
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 ...
kubeadm多主master添加
kubeadm在第一个主节点部署成功后会提示添加节点的信息
123456789101112131415161718192021222324252627Your Kubernetes control-plane has initialized successfully!To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/configAlternatively, if you are the root user, you can run: export KUBECONFIG=/etc/kubernetes/admin.confYou should now deploy a pod network to the cluster.Run " ...
kubeadm重置节点
在需要reset的节点上执行以下命令
1kubeadm reset
如果重置的为master节点,需要将config文件删除
1rm -rf $HOME/.kube/config
如果重置的worker节点,则需要在master上删除相对应的node资源。
12kubectl delete node $NODENAME# NODENAME:为被重置的NODENAME
token过期新增节点
新增节点时,如果token过期则需要重新创建一个token
12root@k8s-master01:~/yaml/chapter05# kubeadm token create --print-join-commandkubeadm join kube-api:6443 --token y8j1og.5zhw05eys35l6tqv --discovery-token-ca-cert-hash sha256:ad0b9c735d6a55dd1f04b2ba137bfaa82b19068c2391e39478513fc7b8c23c81
使用以上命令的结果在新的节点上使用。
需要注意新的节点能解析到kube-api。
Helm
helm简介helm的整体工作逻辑就类似于yum,而对应yum的rpm,helm提供的为chart。
但是与yum的rpm所不同的是,chart仅提供的是描述性文件,chart还需要依赖于image才能工作。
chart中只提供了各应用的部署清单,还需要连入到docker hub上去获取镜像。
helm相关术语Chart:即一个Helm程序包,它包含了运行一个Kubernetes应用所需要的镜像、依赖关系和资源定义等,它类似于APT的dpkg文件或者yum的rpm文件。
Repository:集中存储和分发Chart的仓库,类似于Perl的CPAN,或者Python的PyPI等。
Config:Chart实例化安装运行时使用的配置信息。
Release:Chart实例化配置后运行于Kubernetes集群中的一个应用实例;在同一个集群上,一个Chart可以使用不同的Config重复安装多次,每次安装都会创建一个新的“发布(Release)”。
helm版本helm到目前位置有两个维护的版本:
helm v2: v2版本在部署时需要先在k8s之上部署出一个工作组件tiller。helm ...
应用程序部署管理
Kustomize的核心目标在于为管理的应用生成资源配置,而这些资源配置中定义了资源的期望状态,在具体实现上,它通过kustomization.yaml文件组合和(或)叠加多种不同的来源的资源配置来生成。
Kustomize将一个特定应用的配置保存于专用的目录中,且该目录中必须有一个名为kustomization.yaml的文件作为该应用的核心控制文件。由以下kustomization.yaml文件的格式说明可以大体看出,Kustomize可以直接组合由resources字段中指定资源文件作为最终配置,也可在它们的基础上进行额外的修订,例如添加通用标签和通用注解、为各个资源添加统一的名称前缀或名称后缀、改动Pod模板中的镜像文件及向容器传递变量等。
Kustomize资源定义清单1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253apiVersion: kustomize.config.k8s.io/v1beta1kind: Kustomizat ...