新项目替换:
sed -i 's/backend-finance/module-settlement/g' `grep "backend-finance" -rl /data/apps/module-settlement/`
新项目发布:
helm upgrade --install module-settlement --set image.tag=development-202002141923 /data/apps/module-settlement
docker 清理镜像
docker system prune -a
查看磁盘大小
docker ps -a --format "table {{.Size}}\t{{.Names}}"
“cni0” already has an IP address different from 10.244.2.1/24。
Error while adding to cni network: failed to allocate for range 0: no IP addresses available in range set: 10.244.2.1-10.244.2.254
解决:
干掉cni-flannel,停运集群.清理环境.
systemctl stop docker
systemctl stop kubelet
systemctl stop kube-proxy
\rm -rf /var/lib/cni/flannel/* && \rm -rf /var/lib/cni/networks/cbr0/* && ip link delete cni0
\rm -rf /var/lib/cni/networks/cni0/*
systemctl start docker
systemctl start kubelet
systemctl start kube-proxy
cd /data/application/kubernetes/ssl && \rm -rf kubelet-client* kubelet.crt kubelet.key kubelet-client-current.pem
删除namespace 长时间Terminating
第一步:
在node节点上执行
kubectl proxy
第二步
获取到Terminating到namespace,并将json文件写到本地
kubectl get ns
kubectl get namespace kubesphere-controls-system -o json > tmp.json
此时得到tmp.json内容如下
{
"apiVersion": "v1",
"kind": "Namespace",
"metadata": {
"annotations": {
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"name\":\"kubernetes-dashboard\"}}\n",
"kubesphere.io/creator": "admin"
},
"creationTimestamp": "2020-01-01T23:20:39Z",
"deletionGracePeriodSeconds": 0,
"deletionTimestamp": "2020-04-23T17:48:07Z",
"finalizers": [
"finalizers.kubesphere.io/namespaces"
],
"labels": {
"kubesphere.io/workspace": "system-workspace"
},
"name": "kubernetes-dashboard",
"ownerReferences": [
{
"apiVersion": "tenant.kubesphere.io/v1alpha1",
"blockOwnerDeletion": true,
"controller": true,
"kind": "Workspace",
"name": "system-workspace",
"uid": "e7d282ca-8ca4-4d34-9531-0b8964d2750b"
}
],
"resourceVersion": "26188881",
"selfLink": "/api/v1/namespaces/kubernetes-dashboard",
"uid": "8d8a6260-e3e9-4663-ac7a-c1ac3b7027e7"
},
"spec": {},
"status": {
"phase": "Terminating"
}
此时特别注意,我们需要删除tmp.json中的finalizers字段,修改后如下
{
"apiVersion": "v1",
"kind": "Namespace",
"metadata": {
"annotations": {
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"name\":\"kubernetes-dashboard\"}}\n",
"kubesphere.io/creator": "admin"
},
"creationTimestamp": "2020-01-01T23:20:39Z",
"deletionGracePeriodSeconds": 0,
"deletionTimestamp": "2020-04-23T17:48:07Z",
"labels": {
"kubesphere.io/workspace": "system-workspace"
},
"name": "kubernetes-dashboard",
"ownerReferences": [
{
"apiVersion": "tenant.kubesphere.io/v1alpha1",
"blockOwnerDeletion": true,
"controller": true,
"kind": "Workspace",
"name": "system-workspace",
"uid": "e7d282ca-8ca4-4d34-9531-0b8964d2750b"
}
],
"resourceVersion": "26188881",
"selfLink": "/api/v1/namespaces/kubernetes-dashboard",
"uid": "8d8a6260-e3e9-4663-ac7a-c1ac3b7027e7"
},
"spec": {},
"status": {
"phase": "Terminating"
}
}
第三步
curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json
http://127.0.0.1:8001/api/v1/namespaces/<terminating-namespace>/finalize