mac安装dockerdesktop优化

1、安装kubenetes时很慢,需要配置国内加速(后来发现没有配置加速也挺快的) 2014年6月镜像加速个人用户不能使用了需要翻墙或自建hub仓库

复制代码
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },

  "registry-mirrors": ["https://5b6y64zz.mirror.aliyuncs.com"]
}


{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://5b6y64zz.mirror.aliyuncs.com"
  ]
}

2、修改参数已解决centos7无法使用systemctl(修改前centos7镜像都无法使用systemctl,修改后只有官方镜像可以使用systemctl)

复制代码
deockerdesktop4.3以后为了安全把cgroupv1改成了cgroupv2,而导致centos7在dockerDesktop4.3之后无法使用systemctl,解决方法是要么使用centos8镜像,要么把cgroupv1开启,需要重启dockdesktop

具体操作如下:
编辑~/Library/Group\ Containers/group.com.docker/settings.json修改"deprecatedCgroupv1"参数为true,默认是false

deprecatedCgroupv1": true,

3、想要使用kubectl top 命令需要部署metrics-server容器

复制代码
(1) 先下载好metrics-server镜像
docker pull bitnami/metrics-server:latest

(2) 下载metrics-server yaml文件并修改镜像名称/增加权限/关闭证书认证
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
https://devpress.csdn.net/k8s/62f9a6d6c6770329307ff1e8.html
https://cloud.tencent.com/developer/article/2064852

(3) 然后启动pod
kubectl apply -f components.yaml
kubectl get pod -n kube-system

(4) 改完是这个样子
wenqiang@wq docker % cat components.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    k8s-app: metrics-server
    rbac.authorization.k8s.io/aggregate-to-admin: "true"
    rbac.authorization.k8s.io/aggregate-to-edit: "true"
    rbac.authorization.k8s.io/aggregate-to-view: "true"
  name: system:aggregated-metrics-reader
rules:
- apiGroups:
  - metrics.k8s.io
  resources:
  - pods
  - nodes
  verbs:
  - get
  - list
  - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    k8s-app: metrics-server
  name: system:metrics-server
rules:
- apiGroups:
  - ""
  resources:           # 增加
  - nodes/metrics
  - pods
  - nodes
  - nodes/stats
  - namespaces
  verbs:               # 增加
  - get
  - list
  - watch
- apiGroups:           # 增加
  - "extensions"
  resources:           # 增加
  - pods
  - nodes
  - deployments
  verbs:                # 增加
  - get
  - list
  - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server-auth-reader
  namespace: kube-system
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: extension-apiserver-authentication-reader
subjects:
- kind: ServiceAccount
  name: metrics-server
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server:system:auth-delegator
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: system:auth-delegator
subjects:
- kind: ServiceAccount
  name: metrics-server
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    k8s-app: metrics-server
  name: system:metrics-server
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: system:metrics-server
subjects:
- kind: ServiceAccount
  name: metrics-server
  namespace: kube-system
---
apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server
  namespace: kube-system
spec:
  ports:
  - name: https
    port: 443
    protocol: TCP
    targetPort: https
  selector:
    k8s-app: metrics-server
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server
  namespace: kube-system
spec:
  selector:
    matchLabels:
      k8s-app: metrics-server
  strategy:
    rollingUpdate:
      maxUnavailable: 0
  template:
    metadata:
      labels:
        k8s-app: metrics-server
    spec:
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=4443
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        - --kubelet-insecure-tls     # 增加
        image: registry.k8s.io/metrics-server:latest   #修改
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /livez
            port: https
            scheme: HTTPS
          periodSeconds: 10
        name: metrics-server
        ports:
        - containerPort: 4443
          name: https
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /readyz
            port: https
            scheme: HTTPS
          initialDelaySeconds: 20
          periodSeconds: 10
        resources:
          requests:
            cpu: 100m
            memory: 200Mi
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 1000
        volumeMounts:
        - mountPath: /tmp
          name: tmp-dir
      nodeSelector:
        kubernetes.io/os: linux
      priorityClassName: system-cluster-critical
      serviceAccountName: metrics-server
      volumes:
      - emptyDir: {}
        name: tmp-dir
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
  labels:
    k8s-app: metrics-server
  name: v1beta1.metrics.k8s.io
spec:
  group: metrics.k8s.io
  groupPriorityMinimum: 100
  insecureSkipTLSVerify: true
  service:
    name: metrics-server
    namespace: kube-system
  version: v1beta1
  versionPriority: 100
相关推荐
自学AI的鲨鱼儿4 小时前
mac npm 安装 codex 报错 npm ENOTEMPTY
macos·npm·codex
Sephiroth.Ma11 小时前
Mac 提示“Docker 已损坏,无法打开”?我这样排查后 10 分钟修好
macos·docker·容器
量子炒饭大师11 小时前
【OpenClaw修炼宝典】—— 【macOS安装篇】想玩《爪子船长》复刻版却卡在安装?OpenClaw 从零环境搭建与编译全攻略 (小白避坑指南)
macos·openclaw·小龙虾·龙虾
不才小强12 小时前
macOS 屏幕录制开发完全指南:ScreenCaptureKit与音频采集实战
macos·音视频
ShiLuoHeroKing1 天前
Mole:面向专业用户的Mac系统清理开源方案
macos
The森1 天前
macOS 26(M芯片)部署 cocos2d-x(C++)全链路指南——Xcode + Rosetta
c++·经验分享·笔记·macos·xcode·cocos2d
Roc-xb2 天前
Mac安装命令行工具的时候弹出:不能安装该软件,因为当前无法从软件更新服务器获得”的错误提示。
macos
带娃的IT创业者2 天前
课程表系统设计:iCalendar 标准与家庭生活日程管理
macos·生活·xcode·课程表·icalendar·日程管理·智能纠错
2501_915918412 天前
iOS App 拿不到数据怎么办?数据解密导出到分析结构方法
android·macos·ios·小程序·uni-app·cocoa·iphone
@大迁世界2 天前
每周节省数小时的 Mac 键盘快捷键
macos·计算机外设