<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" 
  xmlns:content="http://purl.org/rss/1.0/modules/content/" 
  xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
  xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Kubernetes-Api on Mark 的滿紙方糖言</title>
    <link>https://blog.mygraphql.com/zh/tags/kubernetes-api/</link>
    <description>Recent content in Kubernetes-Api on Mark 的滿紙方糖言</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <managingEditor>labile.zhu@gmail.com (Mark Zhu)</managingEditor>
    <webMaster>labile.zhu@gmail.com (Mark Zhu)</webMaster>
    <copyright>Mark Zhu ©2026, All Rights Reserved</copyright>
    <lastBuildDate>Sat, 27 Mar 2021 15:12:15 +0900</lastBuildDate>
    
        <atom:link href="https://blog.mygraphql.com/zh/tags/kubernetes-api/index.xml" rel="self" type="application/rss+xml" />
    

      
      <item>
        <title>K8s Custom Resources(CR)</title>
        <link>https://blog.mygraphql.com/zh/notes/cloud/coding-cloud/coding-k8s/custom-resource/</link>
        <pubDate>Sat, 27 Mar 2021 15:12:15 +0900</pubDate>
        <author>labile.zhu@gmail.com (Mark Zhu)</author>
        <atom:modified>Sat, 27 Mar 2021 15:12:15 +0900</atom:modified>
        <guid>https://blog.mygraphql.com/zh/notes/cloud/coding-cloud/coding-k8s/custom-resource/</guid>
        <description>&lt;h2 id=&#34;custom-resource-的入口&#34;&gt;Custom Resource 的入口&lt;/h2&gt;
&lt;p&gt;请求是这样分发到 api 扩展点的：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mygraphql.com/zh/notes/cloud/coding-cloud/coding-k8s/custom-resource/index.assets/image-20210327224709520.png&#34; alt=&#34;image-20210327224709520&#34;&gt;&lt;/p&gt;
&lt;p&gt;例如我们有 （Custom Resource）CR&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;apiVersion&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;cnat.programming-kubernetes.info/v1alpha1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;kind&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;At&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;metadata&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;example-at&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;spec&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;schedule&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;2019-07-03T02:00:00Z&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;status&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;phase&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;pending&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;相应的 CustomResourceDefinition (CRD) 会是这样：&lt;/p&gt;</description>
        
        <dc:creator>Mark Zhu</dc:creator>
        
        
        
        
          
            
              <category>cloud</category>
            
          
            
              <category>kubernetes-api</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>K8s API 核心对象 —— client-go</title>
        <link>https://blog.mygraphql.com/zh/notes/cloud/coding-cloud/coding-k8s/client-go/</link>
        <pubDate>Fri, 26 Mar 2021 15:12:15 +0900</pubDate>
        <author>labile.zhu@gmail.com (Mark Zhu)</author>
        <atom:modified>Fri, 26 Mar 2021 15:12:15 +0900</atom:modified>
        <guid>https://blog.mygraphql.com/zh/notes/cloud/coding-cloud/coding-k8s/client-go/</guid>
        <description>&lt;h2 id=&#34;api-入口&#34;&gt;API 入口&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mygraphql.com/zh/notes/cloud/coding-cloud/coding-k8s/client-go/client-go-domain.drawio.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Client Sets&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;接收变更通知和缓存informers-and-caching&#34;&gt;接收变更通知和缓存（Informers and Caching）&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Client Sets&lt;/code&gt;可以 watch 变更，但一般我们用更高级的 &lt;code&gt;Informers&lt;/code&gt;，因为它有缓存、索引等功能。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mygraphql.com/zh/notes/cloud/coding-cloud/coding-k8s/client-go/index.assets/image-20210326154940269.png&#34; alt=&#34;image-20210326154940269&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lister ：被应用调用，返回缓存中的数据列表&lt;/li&gt;
&lt;li&gt;Informer：监听器&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Informer 有两个功能&lt;/p&gt;</description>
        
        <dc:creator>Mark Zhu</dc:creator>
        
        
        
        
          
            
              <category>cloud</category>
            
          
            
              <category>kubernetes-api</category>
            
          
        
        
        
      </item>
      

    
  </channel>
</rss>
