亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

config和cluster.spec中keys怎么配置

發布時間:2021-12-23 17:42:26 來源:億速云 閱讀:141 作者:iii 欄目:云計算

本篇內容介紹了“config和cluster.spec中keys怎么配置”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

kops中config和cluster.spec中keys 的描述

這里的描述并不完整,但旨在記錄那些不太容易解釋的key。 我們的godoc參考提供了更詳細的API值列表。 在YAML文件中有描述集群的兩個頂級API值:ClusterSpec定義為kind:YAML,InstanceGroup定義為kind:YAML。

spec

api

該對象配置我們如何公開API:

  • dns 將允許直接訪問master實例,并將DNS配置為直接指向master節點。

  • loadBalancer 將在主節點前配置負載平衡器(ELB),并將DNS配置為指向ELB。

DNS example:

spec:
  api:
    dns: {}

當配置LoadBalancer時,可以選擇使用公共ELB或內網(僅限VPC)ELB。 type 字段應該是PublicInternal

另外,可以通過設置additionalSecurityGroups將預先創建的其他安全組添加到負載均衡器。

spec:
  api:
    loadBalancer:
      type: Public
      additionalSecurityGroups:
      - sg-xxxxxxxx
      - sg-xxxxxxxx

此外,可以通過設置idleTimeoutSeconds來增加負載平衡器的空閑超時(idle timeout)。 默認的空閑超時時間為5分鐘,AWS最多允許3600秒(60分鐘)。 有關更多信息,請參閱配置空閑超時。

spec:
  api:
    loadBalancer:
      type: Public
      idleTimeoutSeconds: 300

etcdClusters v3 & tls

雖然kops目前默認不是etcd3,但可以打開v3和TLS身份驗證以便在群集成員之間進行通信。 這些選項可以通過集群配置文件啟用(只在manifests中,沒有命令行選項)。 警告:目前沒有從v2遷移到v3的升級途徑,因此不要嘗試在v2運行群集上啟用此功能,因為它必須在創建群集時完成。 下面的示例代碼片段假設一個由三個主服務器組成的HA群集。

etcdClusters:
- etcdMembers:
  - instanceGroup: master0-az0
    name: a-1
  - instanceGroup: master1-az0
    name: a-2
  - instanceGroup: master0-az1
    name: b-1
  enableEtcdTLS: true
  name: main
  version: 3.0.17
- etcdMembers:
  - instanceGroup: master0-az0
    name: a-1
  - instanceGroup: master1-az0
    name: a-2
  - instanceGroup: master0-az1
    name: b-1
  enableEtcdTLS: true
  name: events
  version: 3.0.17

kubernetesApiAccess

該數組配置能夠訪問kubernetes API的CIDR。 在AWS上,這表現為ELB或主安全組上的入站安全組規則。

例如,使用此鍵可將群集訪問限制為辦公室IP地址范圍。

spec:
  kubernetesApiAccess:
    - 12.34.56.78/32

cluster.spec Subnet Keys

id

要在現有VPC中共享的子網ID。

egress

現有VPC中您想用作處網的“出口”的資源標識符(ID)。

此功能最初設想為允許重新使用NAT網關。用法如下。 雖然NAT網關是面向“公共”資源的,但在集群規范中,必須在專用私有子網部分中指定它們。 考慮這一點的一種方法是你指定“egress”,這是從這個私有子網的默認路由。

spec:
  subnets:
  - cidr: 10.20.64.0/21
    name: us-east-1a
    egress: nat-987654321
    type: Private
    zone: us-east-1a
  - cidr: 10.20.32.0/21
    name: utility-us-east-1a
    id: subnet-12345
    type: Utility
    zone: us-east-1a
publicIP

您想要添加到NAT網關的現有EIP的IP。

spec:
  subnets:
  - cidr: 10.20.64.0/21
    name: us-east-1a
    publicIP: 203.93.148.142
    type: Private
    zone: us-east-1a

kubeAPIServer

該部分包含kube-apiserver的配置。

用于Open ID Connect令牌的oidc標志
spec:
  kubeAPIServer:
    oidcIssuerURL: https://your-oidc-provider.svc.cluster.local
    oidcClientID: kubernetes
    oidcUsernameClaim: sub
    oidcUsernamePrefix: "oidc:"
    oidcGroupsClaim: user_roles
    oidcGroupsPrefix: "oidc:"
    oidcCAFile: /etc/kubernetes/ssl/kc-ca.pem
audit logging
spec:
  kubeAPIServer:
    auditLogPath: /var/log/kube-apiserver-audit.log
    auditLogMaxAge: 10
    auditLogMaxBackups: 1
    auditLogMaxSize: 100
    auditPolicyFile: /srv/kubernetes/audit.yaml

注意:auditPolicyFile是必需的。 如果該標志被省略,則不記錄事件。

可以使用fileAssets功能在master節點上推送高級審核策略文件。

示例策略文件可以在這里找到

Max Requests Inflight

The maximum number of non-mutating requests in flight at a given time. 當服務器超過這個時,它拒絕請求。 零為無限制。 (默認400)

spec:
  kubeAPIServer:
    maxRequestsInflight: 1000
runtimeConfig

這里的鍵和值被翻譯成kube-apiserver中--runtime-config的值,用逗號分隔。

使用它來啟用alpha功能,例如:

spec:
  kubeAPIServer:
    runtimeConfig:
      batch/v2alpha1: "true"
      apps/v1alpha1: "true"

將產生參數 --runtime-config=batch/v2alpha1=true,apps/v1alpha1=true 。 請注意,kube-apiserver接受true作為開關狀標志的值。

serviceNodePortRange

該值作為kube-apiserver的--service-node-port-range 參數。

spec:
  kubeAPIServer:
    serviceNodePortRange: 30000-33000

externalDns

這部分配置選項是為外部DNS提供的。當前的外部DNS提供商是kops dns-controller,它可以為Kubernetes資源設置DNS記錄。 dns-controller計劃逐步淘汰并替換為external-dns。

spec:
  externalDns:
    watchIngress: true

默認的kops行為是false。watchIngress:true使用默認的dns-controller行為來監視入口控制器的變化。 在某些情況下,設置此選項有中斷服務更新的風險。

kubelet

該部分包含kubelet的配置。 

注意:如果相應的配置值可以為空,則可以在spec中將字段設置為空,這樣可以將空字符串作為配置值傳遞給kubelet。

spec:
  kubelet:
    resolvConf: ""

將會建立標志--resolv-conf= 。

啟用自定義metrics支持

要按照[自定義metrics doc 我們在kubernetes 中使用自定義指標,我們必須在所有kubelets上將標志--enable-custom-metrics設置為true。 可以在我們的cluster.yml中的kubelet規范中指定它。

spec:
  kubelet:
    enableCustomMetrics: true

kubeScheduler

該部分包含kube-scheduler的配置。 

spec:
  kubeScheduler:
    usePolicyConfigMap: true

將使kube-scheduler使用命名空間kube-system中configmap的“scheduler-policy”調度程序策略。

請注意,從Kubernetes 1.8.0 kube-scheduler不會自動從configmap重新加載其配置。 需要進入master 實例并手動重啟Docker容器。

kubeControllerManager

該部分包含controller-manager的配置。

spec:
  kubeControllerManager:
    horizontalPodAutoscalerSyncPeriod: 15s
    horizontalPodAutoscalerDownscaleDelay: 5m0s
    horizontalPodAutoscalerUpscaleDelay: 3m0s
Feature Gates
spec:
  kubelet:
    featureGates:
      Accelerators: "true"
      AllowExtTrafficLocalEndpoints: "false"

將會生成flag --feature-gates=Accelerators=true,AllowExtTrafficLocalEndpoints=false

注:Feature gate ExperimentalCriticalPodAnnotation默認啟用,因為一些關鍵組件如kube-proxy 依賴它。

計算資源保留
spec:
  kubelet:
    kubeReserved:
        cpu: "100m"
        memory: "100Mi"
        storage: "1Gi"
    kubeReservedCgroup: "/kube-reserved"
    systemReserved:
        cpu: "100m"
        memory: "100Mi"
        storage: "1Gi"
    systemReservedCgroup: "/system-reserved"
    enforceNodeAllocatable: "pods,system-reserved,kube-reserved"

將會生成標志: --kube-reserved=cpu=100m,memory=100Mi,storage=1Gi --kube-reserved-cgroup=/kube-reserved --system-reserved=cpu=100mi,memory=100Mi,storage=1Gi --system-reserved-cgroup=/system-reserved --enforce-node-allocatable=pods,system-reserved,kube-reserved

networkID

在AWS上,這是創建群集的VPC的ID。如果需要從頭開始創建群集,可以不在創建時指定此字段; kops將為你創建一個VPC。

spec:
  networkID: vpc-abcdefg1

hooks

鉤子(hooks)允許在群集中的每個節點安裝Kubernetes之前執行一些操作。 例如,可以安裝Nvidia驅動程序以使用GPU。 這個鉤子可以是Docker鏡像或manifest(systemd單元)的形式。 hooks可以放在集群spec中,這意味著它們將會全局部署,或者可以將它們放入instanceGroup spec中。 注意:當instanceGroup與集群spec上的服務名相同時,instanceGroup優先并忽略群集spec中的定義;即,如果群集中具有單元文件“myunit.service”,并且instanceGroup中有單元文件“myunit.service”,則應用instanceGroup中的文件。

spec:
  # many sections removed
  hooks:
  - before:
    - some_service.service
    requires:
    - docker.service
      execContainer:
      image: kopeio/nvidia-bootstrap:1.6
      # these are added as -e to the docker environment
      environment:
        AWS_REGION: eu-west-1
        SOME_VAR: SOME_VALUE

  # or a raw systemd unit
  hooks:
  - name: iptable-restore.service
    roles:
    - Node
    - Master
    before:
    - kubelet.service
    manifest: |
      [Service]
      EnvironmentFile=/etc/environment
      # do some stuff

  # or disable a systemd unit
  hooks:
  - name: update-engine.service
    disabled: true

  # or you could wrap this into a full unit
  hooks:
  - name: disable-update-engine.service
    before:
    - update-engine.service
    manifest: |
      Type=oneshot
      ExecStart=/usr/bin/systemctl stop update-engine.service

安裝Ceph

spec:
  # many sections removed
  hooks:
  - execContainer:
      command:
      - sh
      - -c
      - chroot /rootfs apt-get update && chroot /rootfs apt-get install -y ceph-common
      image: busybox

fileAssets

FileAssets是一個alpha功能,允許你將內聯文件內容放入群集和instanceGroup 配置中。 它被設計為alpha,你可以通過kubernetes daemonsets做替代。

spec:
  fileAssets:
  - name: iptable-restore
    # Note if not path is specificied the default path it /srv/kubernetes/assets/<name>
    path: /var/lib/iptables/rules-save
    roles: [Master,Node,Bastion] # a list of roles to apply the asset to, zero defaults to all
    content: |
      some file content

cloudConfig

disableSecurityGroupIngress

如果您將aws用作cloudProvider,則可以禁用ELB安全組對Kubernetes Nodes安全組的授權。 換句話說,它不會添加安全組規則。 這可以是有用的,可以避免AWS限制:每個安全組50個規則。

spec:
  cloudConfig:
    disableSecurityGroupIngress: true
elbSecurityGroup

警告:這僅適用于1.7.0以上的Kubernetes版本。

為避免為每個elb創建一個安全組,可以指定安全組id,該id將分配給LoadBalancer。 它必須是安全組ID,而不是名稱。 api.loadBalancer.additionalSecurityGroups 必須為空,因為Kubernetes將為服務文件中指定的每個端口添加規則。 這可以避免AWS限制:每個區域500個安全組,每個安全組50個規則。

spec:
  cloudConfig:
    elbSecurityGroup: sg-123445678

docker

可以覆蓋集群中所有masters 和nodes 的Docker守護進程選項。查看API文檔以獲取完整的選項列表。

registryMirrors

如果你有一堆Docker實例(physicsal或vm)正在運行,每當他們中的一個pull主機上不存在的image 時,它將從DockerHub上拉取它。通過緩存這些images,可以將流量保留在本地網絡中,避免出口帶寬使用。此設置不僅有利于集群配置,而且還有利于images 拉取。

@see Cache-Mirror Dockerhub For Speed @see Configure the Docker daemon.

spec:
  docker:
    registryMirrors:
    - https://registry.example.com
storage

可以指定Docker存儲驅動程序以覆蓋默認值。 確保你選擇的驅動程序受操作系統和docker版本的支持。

docker:
  storage: devicemapper
  storageOpts:
    - "dm.thinpooldev=/dev/mapper/thin-pool"
    - "dm.use_deferred_deletion=true"
    - "dm.use_deferred_removal=true"

sshKeyName

在某些情況下,可能需要使用現有的AWS SSH密鑰,而不是允許kops創建新密鑰。 AWS中提供密鑰的名稱是--ssh-public-key的替代方案。

spec:
  sshKeyName: myexistingkey

target

在某些使用情況下,你可能希望使用額外選項來增加目標輸出。目標支持最少的選項,你可以做到這一點。 目前只有terraform的目標支持這一點,但如果其他用例出現,kops最終可能會支持更多。

spec:
  target:
    terraform:
      providerExtraConfig:
        alias: foo

“config和cluster.spec中keys怎么配置”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五峰| 蓬安县| 绍兴市| 天津市| 长汀县| 武清区| 全州县| 兴化市| 福建省| 新龙县| 淳安县| 罗定市| 怀安县| 汝阳县| 桐梓县| 北票市| 济阳县| 阳西县| 昭觉县| 凤翔县| 镇赉县| 巴东县| 福安市| 吉林市| 博客| 巴楚县| 康马县| 凤冈县| 柘荣县| 扎鲁特旗| 昌图县| 尚义县| 孟州市| 芮城县| 福泉市| 宁海县| 石屏县| 鄂伦春自治旗| 嘉荫县| 桃源县| 石泉县|